Bush School IDMD Spring Semester 2021
IDMD - Interactive Digital Media Design
Software influences all aspects of contemporary visual culture. This course is an introduction to computer programming within the context of the visual art. Students in this course will learn the fundamentals of computer programming – conditional control structures, iteration, data structures, functions, classes, objects, and event-driven design. We will create projects based on student interest including, but not limited to games, machine-learning inspired art, simulations of physical, biological and social phenomena.
We will learn and create using the programming language Javascript and the library p5.js, a full featured library that allows one to create interactive digital art for the web. Below is an example of a game you could develop using P5JS and Javascript!
Bouncing Bubbles Model Javascript Program
Remote/Hybrid Classroom Applications
In our IDMD classroom we are already using tools and techniques that are naturally adapted to a remote learning format. We will continue using our already established tools and techniques for learning IDMD. We will add to that, a video conferencing solution to complete our toolset needed for remote learning! All applications (except email) are to be run using your Chrome Browser on your laptop.
- ZOOM for IDMD - video conferencing application - join here each day and time IDMD classes are held
- IDMD WEBSITE - lessons, exercises, projects, student-portfolios, references
- Google Classroom - code extracts, worksheet and document submissions, additional materials
- GITHUB repository - code submissions for exercises and projects, published student portfilios
- P5JS Web Editor - web code editor for p5js
- Student Portfolios - Links to Student Porfolios
- IDMD Slack Messaging - Links to IDMD Slack Messaging for Code Extracts etc.
- Online textbooks - Getting Started with P5JS & Learn Javascript with P5JS
- Bush PORTAL - links for all tools, official assignments, schedules, syllabus, grade rubric
- Conference Appointments:
- Async Zoom Scheduler - Wed/Thu 9:00 AM to 5:30 PM
- Ad-Hoc 1-1 Conf Scheduler Weekdays: 3:00-8:00 PM
- EMAIL - check your Bush email when all other forms of communication fails!
2021 Weekly Schedule
- Daily Health Screening before Campus Arrival
- Faculty/Staff On Campus Form
- Lunch Assignments & Remote Students Roster
- Assigned Classroom Spaces for Hybrid Schooling
FINAL WEEK of the IDMD class & Semester! May 10th - May 14th
Expectations for School Work
A Reminder
We are all going through some extraordinary times due to the coronavirus. I would like to ask you to be safe and considerate of others. Let us take time to be vigilant about wearing masks, washing hands, not touching our face and avoiding being in large groups. Most of all, be calm about things beyond our control.
Course Documents
Course Links
- Course Website: IDMD 2021 Website
- Bush Portal: IDMD Portal
- Online textbook: Getting Started with P5JS
- P5JS Basics: Wiki Page for Help Examples and Reference
- Other Course materials: Google Drive IDMD
- Assignment Submissions via Your Github Site
Learning Modes and Typical Student Workflow
Learning by Doing First - Student-Based Asynchronous Workflow
In this mode of learning we will simultaneously start a consolidatded student-paced session spanning multiple P5JS topics, supported by working on visual and creative projects within Paired Programming teams. Subsequently we will use the online text books for a more complete discussion of ideas and creative extensions. We will mostly be using this workflow model, switching to Synchronous in small bursts as directed by your teacher or as needed to support student needs.
Doing by Learning First - Lecture-Based Synchronous Workflow
We will use this method of learning sparingly, reserved for difficult topics that might require a lecture-based instructional unit. The lectures below are designed in that manner and always available as a reference while we live in the world of Asynchronous “Learning by Doing First” model above.
Lessons
Mini Lesson for newly admitted Upper School Students!
Click here to access mini lesson
Week of Jan 4
Topics: Installfest, git, github, why p5.js, environment setup, using the reference, digital color, coordinate system
Week of Jan 11 & 18
Topics: Programming flow, animation loops, functions, parameters, variables, max, min, sound
Week of Jan 25 After Orientation
Topics: Conditional statements, logical operators, events, mouseX, mouseY, mouesIsPressed, frameCount, random, dist, mousePressed, mouseReleased, max, min
Week of Feb 1 - Review & Code Exercises
Week of Feb 8 & 15th
Topics: keyPressed events, while and for loops, using text and fonts, using images
Week of Feb 22 After Mid-Winter Break
Topics: Review for loops, while loops, arrays, return statements, data vis
Week of Mar 1
Topics: Continue for loops, while loops, arrays, return statements, data vis
Week of Mar 8
Topics: Tweening Shaking Timer
- Overview
- Exercises and Project submissions ahead of comments
- Tweening, Random, Shaking
- Timer based trigger exercise
Week of Mar 15 - Short comments week
Topics: Review_Catchup
- Online Book References
- Open your local copy you have previously downloaded to yout laptop. If not download above and open locally.
- Chapetr 9: Functions
- Chapter 11.1 to 11.8: Arrays
Week of Mar 22
Topics: Repl editor, Debugging, Perlin Noise
Week of Mar 29
Topics: 2D & Dynamic Perlin Noise, Sliders, html text, Particles
Week of Apr 5
Topics: Catch-up with Pending assignments & projects
Weeks of Apr 19 and Apr 26th After Spring Break
Topics: Classes, Objects, Interactions, Animations
Week of May 3 - Final Project Week!
Topics: Final Project Assignments
Week of May 10 - All assignments & Projects due!
Topics: Submit Final Project
Course Credit
This course draws from the materials used in the UW Human Center for Design Engineering Master of Science curriculum. Significant credit is also due to the many member founders of the Processing Foundation whose tireless efforts have advanced the cause for open, accessible, and free CS education across the world.