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)
Materials from class:
   

Fri Reading:
  • section 3.4 (finite-state automata)
Materials from class:
homework 6

due Fri 3/27
lab session
functional interfaces

1:10-2:10pm

due Mon 5/4
 

Week 8: 3/9-3/13

Topics: finite-state automata

 

Mon Materials from class:    

Wed
exam
  revise-and-resubmit for hw3 #9, hw4, hw5

due Wed 3/9

comments on hw4, comments on hw5 (updated!)

Fri Reading:
  • section 3.5 (nondeterministic finite-state automata)
Materials from class:
  application labs 1-2 (logic circuits, sets)
due Fri 3/13

Spring Break: 3/14-3/22


Week 9: 3/23-3/27

Topics: finite state automata and regular languages, non-regular languages

 

Mon Reading:
  • section 3.6 (finite state automata and regular languages)
   

Wed    

Fri Reading:
  • section 3.7 (non-regular languages)
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     application labs 3-5 (functional interfaces, regex, parser generator)
due Mon 5/4

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