CPSC 120 Principles of Computer Science Fall 2025

CPSC 120 Schedule

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: 9/1-9/5

Topics: course introduction; algorithmic thinking; building blocks: shapes, coordinates, and colors

 

Mon Materials from class:        

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 lab 1
Introduction to Linux and Processing

due 9/12
    introductory and office hours survey
(on Canvas)
due 9/7

Week 2: 9/8-9/12

Topics: creating scenes; interaction

 

Mon Reading:
  • Learning Processing, chapter 2
Materials from class:
    lab presentation meeting signup
(see your email or Canvas for the link)

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

Fri lab 2
Drawing and Interaction

due 9/19
 

Week 3: 9/15-9/19

Topics: animation, variables, and representation

 

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

due 9/26
 

Week 4: 9/22-9/26

Topics: patterns of change

 

Mon Materials from class:     lab 2 presentation meetings

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

Fri lab 4
Patterns of Change

due 10/3
 

Week 5: 9/29-10/3

Topics: abstraction and modularity — functions

 

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:
    lab 3 presentation meetings

Wed Materials from class:  

Fri lab 5
Modularity and Abstraction

due 10/10
 

Week 6: 10/6-10/10

Topics: making choices (conditionals)

 

Mon Reading:
  • Learning Processing, sections 5.1-5.7
Materials from class:
    lab 4 presentation meetings

Wed Materials from class:  

Fri Materials from class: lab 6
Making Choices

due 10/17 10/24
 

Week 7: 10/13-10/17

Topics: making choices (conditionals); repetition (loops)

 

Mon Materials from class:     lab 5 presentation meetings

Wed
midterm exam
 

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

Week 8: 10/20-10/24

Topics: repetition (loops)

 

Mon fall break

Wed Materials from class:  

Fri Materials from class: lab 7
Repetition

due 10/31
 

Week 9: 10/27-10/31

Topics: repetition (loops); topic: physics

 

Mon Materials from class:    

Wed Materials from class: topics: physics
due 11/24
 

Fri Materials from class: lab 8
Repetition, Again

due 11/7
 

Week 10: 11/3-11/7

Topics: more of the same (arrays)

 

Mon Reading:
  • Learning Processing, sections 9.1-9.5
Materials from class:
    lab 7 presentation meetings

Wed Materials from class:  

Fri lab 9
Arrays

due 11/14
    lab 3 resubmit
due 11/7

Week 11: 11/10-11/14

Topics: topics: particle systems, behavioral animation, fractals

 

Mon Materials from class: topics: particle systems
due 11/24
  lab 8 presentation meetings

Wed Materials from class: topics: boids I
due 11/24
topics: boids II
due 12/5
capstone project
due 12/10

Fri Materials from class:   topics: fractals
due 12/5
lab 4 resubmit
due 11/14

Week 12: 11/17-11/21

Topics: topics: fractals

 

Mon Materials from class:     lab 9 presentation meetings

Wed
midterm exam
 

Fri Materials from class:   topics: L-systems
due 12/5
lab 5 resubmit
due 11/21

Week 13: 11/24-11/28

Topics: cellular automata

 

Mon Materials from class:   topics: cellular automata
due 12/12

Wed Thanksgiving break
Fri

Week 14: 12/1-12/5

Topics: images, pixel-based manipulation

 

Mon Reading:
  • Learning Processing, sections 15.1-15.3
Materials from class:
    additional office hours 1:10-2:40 Mon-Tue

Wed Reading:
  • Learning Processing, sections 15.5-15.6
  • Learning Processing, section 15.10
Materials from class:
  topics: artistic effects
due 12/12

Fri Reading:
  • Learning Processing, sections 15.7-15.8
  • Learning Processing, section 15.9 (optional)
Materials from class:
  topics: image filters
due 12/12

Week 15: 12/8-12/12

Topics: wrapup

 

    lab 6 resubmit
due 12/7
Mon     additional office hours 1:10-2:40 Mon-Tue

Wed    

      project presentation meetings
(signup link is on the course landing page on Canvas)
Fri Materials from class:
  • slides: wrapup
  • SLFFs (you should have gotten an email with info on how to access them so you can complete it if you didn't do it in class today)
 
    lab 7 resubmit
lab 8 resubmit
lab 9 resubmit
due 12/12

Reading Period: 12/13-12/15

 

Sat  

Sun       project resubmit
due 12/14

Mon
office hours
11:30-2:30
      redo presentation meetings
(during office hours)

Final Exams: 12/16-12/19


Tue
office hours
11:30-2:00
 

Wed
office hours
11:30-1:00
final exam
12/17 1:30-4:30pm
      all topics resubmits
due 12/17 1:30pm
end-of-semester deadline
no work accepted after 12/17 4:30pm

Thu    

Fri