Introduction to Programming for Non-Majors
a computational media approach | Gillian Smith | CS 1004 | WPI
Last updated
Was this helpful?
a computational media approach | Gillian Smith | CS 1004 | WPI
Last updated
Was this helpful?
These course materials are for CS 1004: Introduction to Programming for Non-Majors, taught at Worcester Polytechnic Institute. This course is taught using , a free and open-source Javascript library for creative coding that is based on the project. The course is heavily project-based, and uses a form of that relies heavily on .
Students complete that offer some structure for reinforcing core concepts, but still give significant room for creative expression and experimentation:
- getting started with p5.js, procedural code execution, calling functions
- variables, control flow (if/else, for loops), user input (keyboard, mouse)
- loading images, arrays, pixels, considering efficiency/complexity
- strings, loading data from a file, creating/modifying simple objects
Students also work in groups to complete term-long projects (approximately 5 weeks of programming time). These happen in parallel with the labs; some students will learn concepts from labs early, others late. The section includes an outline of how projects are structured each week.
- based upon declared areas of interest, students seek out examples of programming used in that domain
- once teams have been formed, students get to know each other, create asset maps to identify strengths and areas to learn, and define an initial project goal and plan for first week
- each week, students report what they have completed, what they did not complete, and what they plan to do for next week. They also identify questions they have or problems they are running into, for course staff to review and offer assistance.
- students submit their final working project and present it in class, as well as a group-written postmortem on the project
There are a number of that introduce core concepts. Some are documented in this repository; most are improvised.
WPI teaches undergraduate courses on . It's a fast pace! Each week has roughly:
2 hours of in-class activities focused on the concepts needed for the next lab, where they program alongside lecture, with frequent breaks for checking progress, answering questions, or challenging them to do more
2 hours of time to work on projects
1 hour of time to work on skills labs (with TA, in 20-person lab setting)
up to 10 hours of students working outside of class