CPSC 120 Principles of Computer Science Fall 2024

CPSC 120 Schedule

Reading is to be done for the class period where it is listed.

Assignments in light gray are not yet assigned and are shown for planning purposes; it is possible that dates may shift slightly.

 Assignments

Week 1: 8/26-8/30

Topics: course introduction; algorithms, decomposition, and incremental development; building blocks: coordinates, shapes, and colors; writing and running sketches

 

Mon Materials from class: introductory survey
(on Canvas, under "Quizzes")

due Fri 8/30
 

Wed Reading:
  • Learning Processing, Introduction (especially the sections "Will this be on the test?" and "Take It One Step at a Time")
  • Learning Processing, sections 1.1-1.5
Materials from class:
 

Fri Reading:
  • Learning Processing, chapter 2

Materials from class:

lab 1
Introduction to Linux and Processing
 

Week 2: 9/2-9/6

Topics: creating scenes; interaction

 

Mon Materials from class:  

Wed Reading:
  • Learning Processing, chapter 3
Materials from class:
 

Fri lab 2
Drawing and Interaction
 

Week 3: 9/9-9/13

Topics: animation

 

Mon Reading:
  • Learning Processing, sections 4.1-4.5

Materials from class:

 

Wed Reading:
  • Learning Processing, sections 4.6-4.7

Materials from class:

 

Fri lab 3
Animation
 

Week 4: 9/16-9/20

Topics: abstraction and modularity

 

Mon Reading:
  • Learning Processing, sections 7.1-7.6
    This reading skips ahead a bit in the book so some of the examples contain things (like if statements) that we haven't covered yet — don't worry about understanding those parts. Also, our use of functions will be limited to a very specific purpose — drawing complex shapes. (The book covers functions more generally.) Focus on the examples of functions that contain only drawing-related statements (e.g. drawBlackCircle(), display(), drawCar(...)) rather than those that update variables (e.g. move(), bounce()).

Materials from class:

 

Wed Materials from class:  

Fri lab 4
Modularity and Abstraction
 

Week 5: 9/23-9/27

Topics: making choices — conditionals

 

Mon Reading:
  • Learning Processing, sections 5.1-5.7
Materials from class:
 

Wed Materials from class:  

Fri lab 5
Making Choices
 

Week 6: 9/30-10/4

Topics: debugging; complex motion

 

Mon
midterm exam
 

Wed Reading:
  • Learning Processing, chapter 11
    As with the reading about functions, the examples in this chapter contain constructs and syntax we haven't covered yet. Don't worry about the details of what the particular examples are doing, but instead focus on the ideas presented in the four tips.
Materials from class:
 

Fri Reading:
  • Learning Processing, sections 5.7-5.8
Materials from class:
lab 6
Complex Motion
 

Week 7: 10/7-10/11

Topics: complex motion; self-similarity and fractals

 

Mon Reading:
  • Learning Processing, sections 13.6-13.10
Materials from class:
 

Wed meet in Rosenberg 009

Materials from class:


Fri Reading:
  • Learning Processing, section 13.11
    The text makes some references to "loops" and "iteration" (which we haven't covered yet) and also includes an example involving returning values from functions (which we won't cover) — don't worry about those parts! Focus on the concepts of "self-similarity" and "recursive" and the various drawCircle() examples.

Materials from class:

 

Week 8: 10/14-10/18

Topics: self-similarity and fractals

 

Mon fall break

Wed Materials from class:  

Fri lab 7
Fractals
 

Week 9: 10/21-10/25

Topics: repetition (loops)

 

Mon Reading:
  • Learning Processing, chapter 6
Materials from class:
 

Wed Materials from class: midterm project
Rube Goldberg Sketch

Fri Materials from class: lab 8
Repetition

Week 10: 10/28-11/1

Topics: repetition (loops)


Mon Materials from class:

Wed meet in Rosenberg 009

Materials from class:


Fri lab 9
Repetition, Again

Week 11: 11/4-11/8

Topics: more of the same (arrays)


Mon Reading:
  • Learning Processing, sections 9.1-9.5

Materials from class:


Wed Materials from class:  

Fri Materials from class:
  • slides: arrays (not sweeping up too much into one loop when array-ifying)
lab 10
Arrays
 

Week 12: 11/11-11/15

Topics: behavioral animation and emergent behavior; using images

 

Mon Materials from class:  

Wed Reading:
  • Learning Processing, sections 15.1-15.3

Materials from class:

 

Fri lab 11
Boids

Week 13: 11/18-11/22

Topics: images: using images as a source of colors

 

Mon
midterm exam
capstone project

Wed Reading:
  • Learning Processing, sections 15.5-15.6
  • Learning Processing, section 15.10
Materials from class:

Fri Materials from class: lab 12
Images

Week 14: 11/25-11/29

Topics: images: pixel-based manipulation and image filters


Mon Reading:
  • Learning Processing, sections 15.7-15.8
  • Learning Processing, section 15.9 (optional)
Materials from class:

Wed Thanksgiving break
Fri

Week 15: 12/2-12/6

Topics: wrapup


Mon

Wed meet in Rosenberg 009

Fri  

Reading Period: 12/7-12/9

 

Sat  

Sun  

Mon  

Final Exams: 12/10-12/13


Tue  

Wed
final exam
12/11 1:30-4:30pm
end-of-semester deadline
no work accepted after 12/11 4:30pm

Thu    

Fri