Foundations of Computer Science

CMPU-145 Spring 2022

Course Information

Course Description

This course introduces the theoretical, structural, and algorithmic foundations of computer science. Topics include: sets, relations, functions, recursive data structures, recursive functions, induction, structural induction, probability, logic, and Boolean algebra. The course will emphasize the exploration of these topics through programming exercises, but it will also focus on developing proof techniques in written exercises. A weekly laboratory period provides guided hands-on experience.


CMPU-101 Problem-solving and Abstraction

Course Objectives

Course Materials

The primary textbook is Connecting Discrete Mathematics and Computer Science, written by David Liben-Nowell. This is available in electronic form from at

Other articles and readings may be assigned. These will be posted on Moodle.

Programming labs and assignments will be completed in the Racket programming language. Racket and its standard editor DrRacket are available on departmental computers (in-person or through remote access) or can be readily installed on personal machines from the Racket website.

Learning Assessments

All assessments are distributed on and to be submitted on Moodle.



There will be mostly-weekly homeworks consisting of proofs, other written work, or programming exercises. Homeworks are equally weighted. Some homeworks may include optional resubmissions of portions previous assignments (i.e., fixing errors in the previous homework) which will affect the previous grade. These will be coming out starting next week and will involve significant writing (in some cases). Some problems will be individual, some will be optionally collaborative, and some may be strictly individual (no guidance from coaches). Written portions of homework assignments should be typeset. Homeworks are equally weighted.


These are generally designed to take up to two hours. Some may be longer, but incorporated into homework or spanning two weeks. Work should be approved by a coach in the lab session or at a coach's coaching hours before submission (on Moodle). Most labs may be collaborative (working in small groups).


All exams will be open-book / open-note. Exams are equally weighted.

Final Exam

A regularly-scheduled 2-hour final will he held during the final exam period. As with interim exams, this will be open-book / open-note. You may bring a laptop/tablet to access our book(s), if the exam is not held in a computer lab.

Late Work

Since all assignments are to be submitted online, it's easy enough to accept late homework, but it makes getting graded work back to you promptly difficult. Work submitted up to 24 hours late will be subject to a -30% penalty. Work submitted up to 48 hours late will be subject to a -50% penalty. No work will be accepted beyond this time.

Exams will not be accepted late.

Naturally, I am willing to work with you should health/family/personal emergencies arise, but should a scheduled event conflict with due dates or times, it is your responsibility to reach out to me to discuss submissions.

Grading Scheme

Title IX Reporting Responsibility and Resources

Vassar College is committed to providing a safe learning environment for all students that is free of all forms of discrimination and sexual harassment, including sexual assault, domestic violence, dating violence, and stalking. If you (or someone you know) has experienced or experiences any of these incidents, know that you are not alone. Vassar College has staff members trained to support you in navigating campus life, accessing health and counseling services, providing academic and housing accommodations, helping with legal protective orders, and more.
Please be aware all Vassar faculty members are "responsible employees," which means that if you tell me about a situation involving sexual harassment, sexual assault, dating violence, domestic violence, or stalking, I must share that information with the Title IX Coordinator. Although I have to make that notification, you will control how your case will be handled, including whether or not you wish to pursue a formal complaint. Our goal is to make sure you are aware of the range of options available to you and have access to the resources you need.
If you wish to speak to someone privately, you can contact any of the following on-campus resources:

The SAVP website and the Title IX section of the EOAA website ( have more information, as well as links to both on- and off-campus resources.

Academic Integrity

For your own education and for fairness to the rest of the students in the class, it is essential that you perform your work yourself and conduct yourself with honesty and integrity. Your written work must be your own, not plagiarized or closely paraphrased from other sources, including the internet. Please consult the handbook, "Going to the Source," to read more about Vassar's policies regarding originality, academic integrity, and attribution. When you use figures or images from other sources, you must properly attribute your sources. It is very easy and tempting to use the internet to assist you in completing assignments, so you must be very careful to ensure that your work for the course is the result of your own thinking and your own efforts.

Further I heartily encourage you to consult the Computer Science department's Student Integrity Policy: link.

Academic Accommodations

Academic accommodations are available for students registered with the Office for Accessibility and Educational Opportunity (AEO). Students in need of disability (ADA/504) accommodations should schedule an appointment with me early in the semester to discuss any accommodations for this course that have been approved by the Office for Accessibility and Educational Opportunity, as indicated in your AEO accommodation letter.