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

Wed meet in Rosenberg 009

Fri lab

Week 11: 11/4-11/8

Topics:


Mon

Wed  

Fri lab  

Week 12: 11/11-11/15

Topics:

 

Mon  

Wed  

Fri lab exam 1 redo
due Fri 11/15

Week 13: 11/18-11/22

Topics:

 

Mon
midterm exam
capstone project

Wed

Fri lab

Week 14: 11/25-11/29

Topics:


Mon

Wed Thanksgiving break
Fri

Week 15: 12/2-12/6

Topics:


Mon

Wed

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