• Lesson 1: Variables and Data Types

    Students delve into the fundamental concepts of programming, exploring variables, and operations. The lesson covers variable types, classic math operators, and introduces the Processing Java library through a basic project demonstration.

  • Lesson 2: Booleans and If Statements

    Students grasp the concept of boolean values and learn to implement if-else statements. The lesson includes an introduction to boolean comparators, conjunctions, and PImages for image handling in Processing. Students will use their new learnings to program a chasing game.

  • Lesson 3: More If Statements

    After reviewing if-else statements from the previous lesson, students review conditionals and delve into else-if statements. The lesson includes a demo of a stop-timing game that incorporates PImage, conditional statements, and basic Processing visual functions.

  • Lesson 4: Arrays

    Students begin by reviewing data types covered in the first lesson. Afterwards, they learn about arrays, elements, indices, and array manipulation. The lesson includes a fun piano demo.

  • Lesson 5: For Each Loops

    The lesson begins with a quick array review. Then students are introduced to for each loops for efficient array traversal. Syntax and application of for each loops are covered, followed by practice problems. The demo involves creating a reaction time game using for each loops with arrays.

  • Lesson 6: For Loops with Arrays

    Students are introduced to while loops and for loops, and they learn about the advantages and disadvantages to each. The demo showcases a color bands project utilizing for loops, arrays, and Processing visuals.

  • Lesson 7: For loops

    The lesson explores for loops without arrays, emphasizing counting and repetitive tasks. Practice problems cover for loop counting, divisibility, summing, and even/odd scenarios. Students use their learnings to implement a starfield demo.

  • Lesson 8: Functions with Inputs

    Students learn about functions as reusable code chunks, understanding their components such as name, return type, and inputs. The lesson explores built-in functions with inputs and includes a demo of a random dots project using functions and for loops.

  • Lesson 9: Midterm Project

    The lesson introduces the midterm project, where students implement a greeting card program. This project reinforces concepts that students have learned throughout the semester.

  • Lesson 10: Functions with Outputs

    This lesson introduces functions with outputs. The demo involves a number guessing game where students apply their knowledge of functions.

  • Lesson 11: Arrays and Functions

    The lesson involves a comprehensive review of arrays, for and for each loops. Students engage in a variety of difficult problems that challenge them to think beyond introductory problems that they’ve seen in class so far.

  • Lesson 12: Classes

    In this lesson, students get their first taste of object-oriented programming. The lesson covers classes, properties, constructors, and methods. The demo includes a bubbles project utilizing classes, for loops, and functions.

  • Lesson 13: More Classes, Sprites

    This lesson introduces students to the Sprite class, which enables students to create image objects that can move around and interact with the canvas. This lesson is critical, as students will need to use Sprite objects for their final projects. As part of the demo, students implement a coin collector project.

  • Lesson 14: Game Demo

    This lesson introduces students to various concepts that are critical to developing smooth, functioning games. This lesson will be incredibly useful for students interested in designing a game for their final project.

  • Lesson 15: Final Project

    Students share their project proposals with their classmates and receive feedback on their ideas. Students also receive guidance on implementation of the ideas within their projects.

  • Lesson 16: Final Project

    These lessons provide dedicated work time for students to progress with their projects. Instructors will make time to check in with each student about their progress. Students will learn to set goals for their projects.

  • Lesson 17: Final Project

    These lessons provide dedicated work time for students to progress with their projects. Instructors will make time to check in with each student about their progress. Students will learn to set goals for their projects.

  • Lesson 18: Final Project

    The final lesson involves the presentation of final projects, with each student sharing their project and explaining their ideas to the class. Each presentation includes a mini Q+A session. Students may spend time interacting with each project if time permits.