CS 270 Mathematical Foundations in CS - Syllabus

Term and Credits

Spring 2021-2022
3 Credits

Room and Time

Section Days Time Room Instructor
001 TR 9:30am - 11:20am 3675 Market Street Room 1056 Galen Long
002 TR 11:30am - 1:20pm 3675 Market Street Room 1056 Galen Long
003 TR 1:30pm - 3:20pm 3675 Market Street Room 1056 Mark Boady


Professor Mark Boady
Electronic Mail Address: mwb33@drexel.edu
Office: 3675 Market Street Room 1058 (near snack machine)
Extention: 215-895-2347
Office Hours: Wednesday 2-3PM

Professor Galen Long
Electronic Mail Address: nkl43@drexel.edu
Office: 3675 Market Street Room 1153
Extention: 215-895-2474
Office Hours: Wednesday 11AM-12PM and Thursday 1:30PM-2:30PM

Teaching Assistant(s)


Steve Earth
Electronic Mail Address: se435@drexel.edu
Office: CLC
Office Hours: Monday 2:00PM-4:00PM and Friday 12:00PM-2:00PM
CLC Information: https://www.cs.drexel.edu/clc

Ansh Dholakia
Electronic Mail Address: aad356@drexel.edu
Office: CLC
Office Hours: Thursday 6:00PM-8:00PM
CLC Information: https://www.cs.drexel.edu/clc

Course Description

Introduces formal logic and its connections to Computer Science. Students learn to translate statements about the behavior of computer programs into logical claims and to prove such assertions using both traditional techniques and automated tools. Considers approaches to proving termination, correctness, and safety for programs. Discusses propositional and predicate logic, logical inference, recursion and recursively defined sets, mathematical induction, and structural induction.

Course Objective and Goals

  1. To use recursion and divide and conquer to solve problems
  2. To provide recursive definitions of patterns and data structures
  3. To formally specify the input/output requirements of programs
  4. To use induction and other proof techniques to prove properties of algorithms, data structures, programs, and computer systems
  5. To use logic to describe the state of systems and to use logical deduction (by hand and using tools) to prove properties of systems
  6. To understand the power and limitations of formal logic.


  1. Functional Programming
  2. Recursion, Recursive Definitions and Induction
  3. Propositional and Predicate Logic
  4. Formal Proof using Natural Deduction
  5. Applications of Logic to Computer Science
  6. Divide and Conquer Algorithms and Recurrence Relations
  7. Program Specification and Verification
  8. Automated Reasoning
  9. Termination Analysis
  10. Test Case and Counter Example Generation

Audience and Purpose within Plan of Study

This is a required course for all Computer Science and Software Engineering students. It should also be of interest to Computer Engineering, Mathematics students and students with an interest in logic and computation.


CS 172 Minimum Grade: D or CS 176 Minimum Grade: D or CS 265 Minimum Grade: D or SE 103 Minimum Grade: D or ECEC 301 Minimum Grade: D or ECEC 201 Minimum Grade: D

What Students Should Know Prior to this Course

  1. Ability to read and understand code.
  2. Basic understanding of program execution.
  3. Ability to write simple recursive programs.

What Students will be able to do upon Successfully Completing this Course:

  1. Use Proofs by Deduction to Justify Logical Statements
  2. Be able to write and analyze Recursive Functions
  3. Be able to implement and use a SAT solver.
  4. Use Inductive Proofs to Justify the correctness of programs and statements.
  5. Use logic to describe the state of systems.


We will use free resources for this class.

Book of Proof (Second Edition)
Richard Hammack
Paperback: ISBN 978-0-9894721-0-4
Hardcover: ISBN 978-0-9894721-1-1
Available for Free online at: http://www.people.vcu.edu/~rhammack/BookOfProof/

The Racket Guide
Matthew Flatt, Robert Bruce Findler and PLT

Forall x: Calgary
P.D. Magnus and Tim Button


If you want to learn more about functional programming.
The Little Schemer - 4th Edition
Daniel P. Friedman and Matthias Felleisen
ISBN-13: 978-0262560993
ISBN-10: 0262560992
Available at: Amazon

If you want to learn more about recursive proofs.
The Little Prover - 1st Edition
Daniel P. Friedman and Carl Eastlund
ISBN-13: 978-0262527958
ISBN-10: 0262527952
Available at: Amazon

Grading and Policies

Final grades will be determined by your total points weighted according to this distribution. Grades may be curved but are generally computed via the formula below. It may be modified at the instructor's sole discretion, but letter grades will generally not be lower than those shown here.

Late Policy

Academic Honesty Policy

The CCI Academic Honesty policy is in effect for this course. Please see the policy at http://drexel.edu/cci/resources/current-students/undergraduate/policies/cs-academic-integrity/.

Academic Honesty Violations will be reported to the University. Punishment will be determined by the severity of the incident. Punishments include, but are not limited to,

Course Material

Programming Language






Extra Credit


General Information

Computer/Software Help
iCommons: http://drexel.edu/cci/about/our-facilities/rush-building/iCommons/

University Policies
In addition to the course policies listed on this syllabus, course assignments or course website, the following University policies are in effect:

Appropriate Use of Course Materials

It is important to recognize that some or all of the course materials provided to you are the intellectual property of Drexel University, the course instructor, or others. Use of this intellectual property is governed by Drexel University policies, including the IT-1 policy found at: https://drexel.edu/it/about/policies/policies/01-Acceptable-Use/
Briefly, this policy states that all course materials including recordings provided by the given prior written approval by the University. Doing so may be considered a breach of this policy and will be investigated and addressed as possible academic dishonesty, among other potential violations. Improper use of such materials may also constitute a violation of the University's Code of Conduct found at: https://drexel.edu/cpo/policies/cpo-1/ and will be investigated as such.

Recording of Class Activities:

In general, students and others should not record course interactions and course activities in lecture, lab, studio or recitation.
Students who have an approved accommodation from the Office of Disability Resources to record online lectures and discussions for note taking purposes should inform their course instructor(s) of their approved accommodation in advance. The recording of lectures and discussions may only be carried out by the students enrolled in the class who have an approved accommodation from Disability Resources with their instructors’ prior knowledge and consent. Students with approved accommodations may be asked to turn off their recorder if confidential or personal information is presented.
If a student has any comments, concerns, or questions about provided class materials and/ or recording, talk to your course instructor first. If this does not resolve the issue, you can also reach out to the Department Head, and use the process described for a grade appeal to move your concern forward. The process described for grade appeals can be found at: https://drexel.edu/provost/policies/grade-appeals/

Mask Etiquette for the 2021 Fall Quarter

As of August 3, 2021, Drexel requires all students and employees to wear a mask in all on-campus public and shared spaces, including instructional and research settings, regardless of vaccination status. Specifically, masks are to be worn in classrooms, laboratories, lecture halls and seminar rooms. Students are not permitted to eat during class or otherwise remove their mask. If a student needs to remove their mask (to drink water etc.) they may step outside the class, to do so and then return to class. Please remember your mask to avoid class disruption.

If a student does not wear a mask or follow other required health and safety guidelines in the classroom, the instructor will take the following steps:

As members of the Drexel community, we all play a role in supporting our collective health and safety, and I appreciate your collaboration and commitment to this. If you have questions or concerns about masking in class, please do not hesitate to ask. More information about masking is available at the link above and on the Drexel Response to Coronavirus website.

Tentative Course Schedule

Please see the appropriate assignment webpages for a detailed description of course deliverables.

Week Topic Homework
(1) March 28, 2022 Boolean Logic
Natural Deduction (Part 1)
Blog 1 - Due 11:59PM Wednesday
Lab 1 - Due 11:59PM Thursday
(2) April 4, 2022 Natural Deduction (Part 2)
Natural Deduction (Part 3)
Homework 1 - Due 11:59PM Monday
Lab 2 - Due 11:59PM Thursday
Comments on Blog 1 - Due 11:59PM Wednesday
Blog 2 - Due 11:59PM Wednesday
(3) April 11, 2022 Predicates and First Order Logic
Deduction with Predicates
Homework 2 - Due 11:59PM Monday
Lab 3 - Due 11:59PM Thursday
Comments on Blog 2 - Due 11:59PM Wednesday
Blog 3 - Due 11:59PM Wednesday
(4) April 18, 2022 Introduction to Racket
Recursion and Lists
Homework 3 - Due 11:59PM Monday
Lab 4 - Due 11:59PM Thursday
Comments on Blog 3 - Due 11:59PM Wednesday
Blog 4 - Due 11:59PM Wednesday
(5) April 25, 2022 Recursive Design Patterns
High Order Functions
Homework 4 - Due 11:59PM Monday
Lab 5 - Due 11:59PM Thursday
Comments on Blog 4 - Due 11:59PM Wednesday
Blog 5 - Due 11:59PM Wednesday
(6) May 2, 2022 Inductive Thinking
No Lecture Thurday - Use the Time to take Midterm Online
Homework 5 - Due 11:59PM Monday
Lab 6 - Due 11:59PM Tuesday
Comments on Blog 5 - Due 11:59PM Wednesday
Blog 6 - Due 11:59PM Wednesday
(7) May 9, 2022 Mathematical Induction
Peano Arithmetic
Midterm - Due 11:59PM Monday
Lab 7 - Due 11:59PM Thursday
Comments on Blog 6 - Due 11:59PM Wednesday
Blog 7 - Due 11:59PM Wednesday
(8) May 16, 2022 Induction on Lists
Boolean Expressions as Lists
Homework 6 - Due 11:59PM Monday
Lab 8 - Due 11:59PM Thursday
Comments on Blog 7 - Due 11:59PM Wednesday
Blog 8 - Due 11:59PM Wednesday
(9) May 23, 2022 Boolean Normal Forms
Simplifying Expressions Recursively
Homework 7 - Due 11:59PM Monday
Lab 9 - Due 11:59PM Thursday
Comments on Blog 8 - Due 11:59PM Wednesday
Blog 9 - Due 11:59PM Wednesday
(10) May 30, 2022
Memorial Day
SAT Solvers
NP-Complete Problems
Homework 8 - Due 11:59PM Monday
Lab 10 - Due 11:59PM Thursday
Comments on Blog 9 - Due 11:59PM Wednesday
Blog 10 - Due 11:59PM Wednesday
(11) June 6, 2022 Final Assessment - Due 11:59PM Wednesday