CPSC 229 Foundations of Computation Spring 2026

CPSC 229 Schedule

Readings are listed on the schedule page on the day when they will be discussed in class. Sections and chapters refer to the textbook. Readings are the first introduction for most material — it often takes more than one encounter to fully absorb something, and class time is more effective if it can be used to fill in the gaps and answer questions about things you have already started to think about. You are encouraged to complete the assigned reading before class to identify the main ideas and note questions, and then revisit the reading after class to more fully understand the material.

Dates for things in light gray are for planning purposes and are subject to change.

 Assignments

Week 1: 1/21-1/23

Topics: course introduction; propositional logic

 

Wed Materials from class: introductory survey
(on Canvas)
   

Fri Reading:
  • chapter 1 introduction (logic and proof)
  • section 1.1 (propositional logic)
Materials from class:
homework 1

due Fri 1/30
   

Week 2: 1/26-1/30

Topics: boolean algebra, logic circuits, predicates and quantifiers

 

Mon Reading:
  • section 1.2 (boolean algebra)
Materials from class:
   

Wed Reading:
  • section 1.3 (logic circuits)
Materials from class:
 

Fri Reading:
  • section 1.4 (predicates and quantifiers)
Materials from class:
homework 2

due Fri 2/7
lab session
logic circuits

1:10-2:10pm

due Fri 3/13

(updated!)
 

Week 3: 2/2-2/6

Topics: deduction and proof

 

Mon Reading:
  • section 1.5 (deduction)
Materials from class:
   

Wed Reading:
  • section 1.6 (proof)
Materials from class:
   

Fri Reading:
  • section 1.7 (proof by contradiction)
Materials from class:
homework 3

due Fri 2/13
   

Week 4: 2/9-2/13

Topics: mathematical induction; sets

 

Mon Reading:
  • section 1.8 (mathematical induction)
Materials from class:
   

Wed Reading:
  • section 1.9 (recursion and induction)
Materials from class:
   

Fri Reading:
  • section 2.1 (sets)
Materials from class:
  • slides: sets (concepts and definitions)
homework 4

due Fri 2/20
   

Week 5: 2/16-2/20

Topics: sets; bitwise operators, flags, and masks; functions

 

Mon Reading:
  • section 2.2 (boolean algebra of sets)
Materials from class:
   

Wed Reading:
  • section 2.3 (programming with sets)
Materials from class:
 

Fri Reading:
  • section 2.4 (functions)
Materials from class:
homework 5

due Fri 3/6
(Mon 3/2 recommended)
lab session
programming with sets

1:10-2:10pm

due Fri 3/13
 

Week 6: 2/23-2/27

Topics: counting past infinity, relations

 

Mon Reading:
  • section 2.6 (counting past infinity)
Materials from class:
   

Wed
exam
  revise-and-resubmit for hw1, hw2, hw3 #1-8

due Wed 2/25

comments on hw2, comments on hw3

Fri Reading:
  • section 2.7 (relations)
Materials from class:
  • slides: relations (with a little wrapup of counting)
   

Week 7: 3/2-3/6

Topics: applications (functions and relations); regular expressions, finite state automata

 

Mon Reading:
  • section 2.5 (programming with functions)
  • section 2.8 (relational databases)
Materials from class:
 

Wed Reading:
  • section 3.1 (languages)
  • section 3.2 (regular expressions)
   

Fri Reading:
  • section 3.4 (finite-state automata)
homework lab session
1:10-2:10pm
 

Week 8: 3/9-3/13

Topics:

 

Mon    

Wed
exam
   

Fri    

Spring Break: 3/14-3/22


Week 9: 3/23-3/27

Topics:

 

Mon    

Wed    

Fri homework    

Week 10: 3/30-4/3

Topics:

 

Mon  

Wed    

Fri homework lab session
1:10-2:10pm
 

Week 11: 4/6-4/10

Topics:

 

Mon    

Wed    

Fri    

Week 12: 4/13-4/17

Topics:

 

Mon    

Wed
exam
   

Fri homework lab session
1:10-2:10pm
 

Week 13: 4/20-4/24

Topics:

 

Mon    

Wed HWS Day (no class)    

Fri homework    

Week 14: 4/27-5/1

Topics:

 

Mon
exam
   

Wed    

Fri    

Week 15: 5/4

Topics:

 

Mon      

Reading Period: 5/5-5/7

 

Tue      

Wed      

Thu      

Exams: 5/8-5/11

 

Fri      

Sat      

Sun      

Mon
exam 1:30-4:30pm
end of semester deadline
no work accepted after 4:30pm