This course will rely on the free course notes from the MIT Open Courseware course
Mathematics for Computer Science
In particular, rather than have you buy a textbook, we will cover the material in
the readings for that class, which are class notes written by Professors Meyer and Rubinfeld in 2005.
These notes (and all of the course materials) are licensed under a Creative Commons license so you can legally
copy and distribute these notes, as described in the terms of use
Code
The jscheme.jar file which you can use to run a jscheme interpreter using
java -cp jscheme.jar jscheme.REPL
The sisc.jar and siscnum.scm
files which provides unbounded integer arithmetic and fractions to JScheme, invoked as follows:
for Wed. 9/10: Read the Chapter on Induction
(PDF)
For each chapter of assigned reading you should answer the following questions and send them in an email
to tjhickey@brandeis.edu with the title of the chapter in the subject line
what new concepts did you learn (if any) and what was just review
what parts of the reading were unclear or difficult to understand (if any)
what changes/additions would you like to see to the reading (if any)
Homework
HW1: due Monday 9/8/2008 [3 points]
Write up proofs for the following two theorems we discussed in class:
The Pythagorean Theorem:
a2+b2 = c2 for a right triangle with sides a,b,c.
The Law of Cosines
a2+b2 = c2 + 2 a b cos(C)
for a triangle with sides a,b,c, where C is the angle opposite edge c.
The proofs should be though of as short essays.
Use full sentences, try to make them as clear as possible.
Prove that the Theorem on page 3 of Chapter 2 on Predicates does not hold for fewer than 6 people.
Again, use full sentences and try to find the right balance of notation, text, and drawings.
Clearly state what help you received on this project (from fellow students or TAs)
and what documents you used to help complete this homework (if any).
Submit your homework before class on Momday 9/8 by attaching it as a PDF
in an email to tjhickey@brandeis.edu
Thu: 8/28/2008
Today we provide an overview of the class, and discuss what concepts we will cover,
what skills you will master, and why this material is important for you to know
as current and future Computer Scientists.
Wed: 9/3/2008
Today we continued discussing proofs in general and then launched into mathematical formalisms:
boolean algebra, propositional and predicate calculus.
Thu: 9/4/2008
Today we introduced boolean algebra notation and discussed two proof methods:
proof by contradiction (to prove there are infinitely many primes) and proof by cases
(as in the book).
Mon: 9/9/2008
Today we provide an overview of formal logic. A more indepth introduction to formal
logic can be viewed (and downloaded)
from the Propositional Logic Module
of the Connexions website (which is a non-profit started by Rice University
to freely distribute high quality educational content).
Collaboration
You are encouraged to form study groups and to discuss the topics we discuss in class and you
may work collaborate on solving the homework problems but you must write up your homework solutions
yourself. You must also cite all the sources that you used to solve the problem including
the people you collaborated with (if any) and the written materials you consulted (including
books, journal articles, other students lecture notes, etc.) Failure to cite a source that you
have relied in plagiarism and will be treated as such.
Course Requirements and Grading
We will have weekly homeworks (worth 30%), a midterm (worth 20%), and a final exam (worth 30%).
The remaining 20% will be on class participation including attendance and in class problem solving.
We will follow the MIT OCW grading approach and allow any missed points from the homework to
be made up in the midterm and final exams.
Teaching Assistants
The course has three graduate student TAs
Ben Newman
Jie Xu
Qiu Hongyuan
They will be grading your homework problems and holding office hours and helping you solve
problems in class.