Department of Computer Science
Pomona College
CS 52 - Fundamentals of Computer Science
Spring 2016

instructor: Dave Kauchak
office hours: Edmunds 224
  Tue. 2:30-4pm
  Wed. 10:30-11:30am
  Thu. 2:30-4pm
  and by appointment

class time: T/Th 9:35-10:50pm
class location: Edmunds 114

Mentor session schedule

web page:

Other information:

Course readings

There is no official book for this course (though we suggest many optional books, most of which we have available in the lab). The readings for the course will come from handouts:


Note: This is a tentative schedule and will likely change
1/19admin, sml basicsIntro SML, Part IAssignment 0 (due: 1/22, 5pm)
1/21SML data typesdata types handout
Intro SML, pgs. 10-17
1/26list recursionIntro SML, Part IIIAssignment 1 (due: 1/29, 5pm)
1/28advanced recursionIntro SML, pgs. 34-43 
2/2more SML funIntro SML, pgs. 18-21, 43-52Assignment 2 (due: 2/5, 5pm)
2/4math on big numbers 
2/9defining new typesIntro SML, pgs. 53-58Assignment 3 (due: 2/15, 11:59pm)
2/11memory (ppt)CS41B, pgs. 1-11 
2/16CS41B machine (ppt)CS41B, pgs. 12-19, Appendices A-C 
2/18Midterm 1Example problems 
2/23CS41B recursion (ppt)CS41B, pgs. 20-29Assignment 4 (due: 2/29, 11:59pm)
2/25circuits (ppt)LWI, sections 1-3, 5-6, 10 
3/1python basics Assignment 5 (due: 3/11, 5pm)
3/3gates in python
induction (ppt)
IRO, pgs. 1-4 
3/8big-O (ppt)IRO, pgs. 5-6 
3/10list induction (ppt)IRO, pgs. 7-10Assignment 6 (due: 3/28, 11:59pm)
3/15No class  
3/17No class  
3/22encryption (ppt)NT, sections 1-2
Optional: original RSA paper
3/24encryption in practice (ppt)NT, sections 5-6 
3/29parsingIntro SML, Section 17Assignment 7 (due: 4/8, 5pm)
3/31Midterm 2Example problems 
4/5more parsing  
4/7lazy evaluationIntro SML, Section 16Assignment 8 (due: 4/15, 5pm)
4/12lazy search  
4/14branch and bound
4 queens example (ppt)
 Assignment 9
4/19DFAsMC, section 1Assignment 10
4/21regular languagesMC, sections 2-3 
4/26Turing machinesMC, sections 4-8 
5/3Senior finals
No class for others

Final exam Friday, May 13, 9am-12. Sample problems.

Additional resources