Term and Credits
Summer 2019
3 Credits
Room and Time
Tuesday/Thursday 3:30pm-5:20pm 3675 Market Street 1052
Instructor
Mark Boady
Electronic Mail Address:
mwb33@drexel.edu
Office: 3675 Market Street Room 1058 (near snack machine)
Extention: 215-895-2347
Office Hours:
Tuesday 11-12PM,
Wednesay 2-4PM
Thursday 11-12PM
Teaching Assistant(s)
Steve Earth
Electronic Mail Address:
se435@drexel.edu
Office: Drexel CLC 3675 Market St Room 1066
Office Hours:Monday 6-8PM, Thursday 6-8PM
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
Topics
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.
Prerequisites
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
What Students will be able to do upon Successfully Completing this Course:
Textbook
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
https://docs.racket-lang.org/guide/index.html
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.
Programming Language
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,
Lectures
Labs
Homeworks
Exams
Slack Channel
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:
Please see the appropriate assignment webpages for a detailed description of course deliverables.
Week | Topic | Reading | Homework |
(1) June 24, 2019 | Introduction to Racket |
Quick: An Introduction to Racket with Pictures So You Want to be a Functional Programmer (Part 1) |
Lab 1 and Lab 2 Homework 1 - Due July 1, 2019 at 11:59PM |
(2) July 1, 2019 |
List Processing and Numbers Thursday No Class. Complete Lab on your own and bring to class July 9 |
List, Iteration, and Recursion
High-order list operations (Ignore Haskell Part) Peano Axioms |
Lab 3 and Lab 4 Homework 2 - Due July 8, 2019 at 11:59PM |
(3) July 8, 2019 | Boolean Expressions | Chapter 2.1-2.6 from Book fo Proof |
Lab 5 and Lab 6 Homework 3 - Due July 15, 2019 at 11:59PM Quiz 1 Thursday (Covers HW1 and HW2 Material) |
(4) July 15, 2019 | Predicate Logic | Chapter 2.6-2.12 from Book fo Proof |
Lab 7 and Lab 8 Homework 4 - Due July 22, 2019 at 11:59PM |
(5) July 22, 2019 | Normal Forms and SAT Solvers |
MiniSat in Browser Boolean Satisfiability Problems |
Lab 9 and Lab 10 Quiz 2 Thursday (Covers HW3 and HW4 Material) |
(6) July 29, 2019 |
Tuesday - Midterm Review Thursday - Midterm in Class |
||
(7) August 5, 2019 | Natural Deduction |
Chapter 4 from Book of Proof Deduction Proof Checker Pages 142 to 164 of Symbolic Logic: A First Course |
Lab 11 and 12 Homework 5 - Due August 12, 2019 at 11:59PM |
(8) August 12, 2019 | Proofs by Contradiction |
Chapter 6 from Book of Proof Deduction Proof Checker Pages 164 to 183 of Symbolic Logic: A First Course |
Lab 13 and Lab 14 Homework 6 - Due August 19, 2019 at 11:59PM Quiz 3 Thursday (Covers HW5 Material) |
(9) August 19, 2019 | Mathematical Induction |
Chapter 10 from Book of Proof |
Lab 15 and Lab 16 Homework 7 - Due August 26, 2019 at 11:59PM |
(10) August 26, 2019 | Structural Induction |
Lab 17 and Lab 18 Homework 8 - Due September 2, 2019 at 11:59PM Quiz 4 Thursday (Covers HW6 and HW7 Material) |
|
(11) September 2, 2019 | Final Exam - Time and Location TBD |