💻
Intro to Programming in p5.js
  • ✨Introduction to Programming for Non-Majors
  • 📚Readings and Resources
  • 🎓Ungrading: Self-Reflection and Self-Evaluation
  • Skills Labs
    • 🌷Lab 1: Three Points in Space
    • 🎲Lab 2: Generative Art
    • 🖼️Lab 3: Image Processing
    • 📊Lab 4: Data Visualization
  • Project Guides
    • 💡Finding Inspiration
    • ➡️Project Goals
    • 🏃Project Sprint Template
    • 🏅Final Submission
  • Class Activities
    • 🎈Keepy Uppy
    • 🤪People and Feelings
  • Ungrading Templates
    • 1️⃣Initial Reflection and Goal Setting
    • 2️⃣Course Midpoint Reflection
    • 3️⃣Final Reflection and Self-Grade
Powered by GitBook
On this page

Was this helpful?

Introduction to Programming for Non-Majors

a computational media approach | Gillian Smith | CS 1004 | WPI

NextReadings and Resources

Last updated 1 year ago

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

All course materials included on this site are free and open for use under the Creative Commons Attribution-NonCommercial 4.0 International License.
p5.js
Processing
ungrading assessment model
self-reflection and self-evaluation
Skills Labs
Lab 1: Three Points in Space
Lab 2: Generative Art
Lab 3: Image Processing
Lab 4: Data Visualization
Project Guides
Finding Inspiration
Project Goal Setting
Project Sprints
Final Project Milestone
class activities
7 week terms
✨
Page cover image