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

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

class time:
  Section 1: T/Th 8:10-9:25am
  Section 2: T/Th 9:35-10:50am

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/17admin, SML basicsIntro SML, Part IAssignment 0 (due: 1/20) - template file, check file
1/19SML data typesIntro SML, pgs. 12-18, SML data types 
1/24list recursionIntro SML, Part IIIAssignment 1 (due: 1/27) - template file, check file
1/26advanced recursionIntro SML, pgs. 34-47 
1/31more SML funIntro SML, pgs. 19-22, 47-58Assignment 2 (due: 2/3) - template file, check file
2/2defining types, recursion slides (ppt)Intro SML, pgs. 53-58 
2/7Midterm 1sample problemsAssignment 3 (due: 2/10) - template file, check file
2/9CS52 machine (ppt)Machine pgs. 1-10 
2/14CS52 machine functions (ppt)Machine, pgs. 11-28, Appendix AAssignment 4 (due: 2/24) - asgt04-5.a52
2/16CS52 machine recursion (ppt)Machine, rest 
2/21SML miscellaneousIntro SML, pgs. 24-26 
2/23parsing, recursive datatypes (ppt)  
2/28parsing 2 Assignment 5 (due: 3/10) - template file, check file, driver file, examples
3/2Midterm 2  
3/7binary (ppt)BWI pgs. 1-9 
3/9circuits (ppt)DLC 
3/14No class  
3/16No class  
3/21encryption (ppt)RSA sections I-IVAssignment 6 (due: 3/24)
3/23encryption in practice (ppt)RSA sections V-VII
Optional: RSA paper
3/28game playing (ppt) Assignment 7 (due: 4/7) - template file, check file
3/30mastermind revisited (ppt)Knuth's paper 
4/4mastermind implemented (ppt)
more misc SML
4/6mastermind tree (ppt)  
4/11Midterm 3sample problemsAssignment 8 (due: 4/21) - template file, check file, asgt03-strategy
4/13DFAsMC, Section 1 
4/18Class cancelled  
4/20Assignment 8  
4/25NFAsMC, Sections 2-4Assignment 9 (due: 5/3)
4/27Turing machinesMC, Sections 5-9 

Final exam Wednesday, May 10, 9am-12. Sample problems.

Additional resources