| CPSC 229 | Foundations of Computation | Spring 2026 |
On this page:
| Course Description and Objectives |
From the course catalog: This course introduces students to some of the mathematical and theoretical foundations of computer science, and to their practical applications to computing. Topics include propositional and predicate logic, sets and functions, formal languages, finite automata, regular expressions, grammars, and Turing machines. This course is required for the major in computer science. By the end of the course, the successful student should be able to:
|
|---|---|
| Class Format and Expectations |
This is primarily a lecture-based class with three class meetings per week, weekly written homeworks, and in-class exams. In addition, there will be five one-hour lab sessions scheduled over the course of the semester, with accompanying lab assignments exploring practical applications of the course material. You are expected to attend all scheduled class meetings, including the lab sessions. The timing of the lab sessions will be set early in the semester and effort will be made to schedule them at times everyone can attend. If you cannot attend a scheduled lab, it can be made up by coming to office hours instead. You should expect to spend approximately 8-10 hours per week on average on additional work (readings, homework, studying) outside of class. While your experience may vary from topic to topic or from week to week, if you routinely spend substantially more time or you feel like you are spinning your wheels and not making progress, you should visit office hours for help. |
| Prerequisites |
CPSC 124 is required. |
| Required Materials |
TextbookFoundations of Computation, 2nd ed. The book is freely available at https://math.hws.edu/FoundationsOfComputation. You can download a PDF version from the website, or order a printed copy if you'd like a physical copy. Please do not use the Math/CS department printers to print the text for yourself. Additional material will be handed out or posted on the course webpage. SoftwareAll of the software used in the lab assignments is available online and/or in the campus Linux environment (accessible in Demarest 002 or remotely through the Linux VDI). |