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.

td>
 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
   

Week 8: 10/20-10/24

Topics:

 

Mon fall break

Wed  

Fri lab  

Week 9: 10/27-10/31

Topics:

 

Mon    

Wed  

Fri lab   topics

Week 10: 11/3-11/7

Topics:

 

Mon   lab presentation meetings

Wed  

Fri lab   lab 3 resubmit
due 11/7

Week 11: 11/10-11/14

Topics:

 

Mon capstone project lab presentation meetings

Wed

Fri  

Week 12: 11/17-11/21

Topics:

 

Mon   lab presentation meetings

Wed
midterm exam
 

Fri  

Week 13: 11/24-11/28

Topics:

 

Mon  

Wed Thanksgiving break
Fri

Week 14: 12/1-12/5

Topics:

 

Mon  

Wed  

Fri  

Week 15: 12/8-12/12

Topics:

 

Mon  

Wed     project presentation meetings

Fri  

Reading Period: 12/13-12/15

 

Sat  

Sun  

Mon  

Final Exams: 12/16-12/19


Tue  

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

Thu    

Fri