This course is on the basic mathematical foundations of Computer Science. This course has two broad parts: The first part is devoted to some fundamental concepts from Discrete Mathematics like propositional and predicate logic, proof methods like proof by contradiction, mathematical induction, etc., and set theory. In the second part, we cover some important models of computation like finite automata, Turing machines, etc.
Teaching assistants: Jingyi Zhu and Andrew Son Class timings: Tuesday, Thursday - 12:00 PM to 1:15 PM
Venue: Merkert Chemistry Center 130 Office Hours: Tuesday, Thursday - 2:30 PM to 3:30 PM
Grading: Homework - 30%, Mid-semester exam - 30%, End-semester exam - 40%
Reference books:
Mathematics for Computer Science by Eric Lehman, F Thomson Leighton, and Albert R Meyer (Free pdf),
The Tools of Mathematical Reasoning by Tamara J. Lakins (AMS bookstore's link),
Essential Discrete Mathematics for Computer Science by Harry Lewis and Rachel Zax (PUP bookstore's link),
Discrete Mathematics and its Applications, 8th Edition by Kenneth H. Rosen (McGraw-Hill bookstore's link),
Discrete Mathematics with Applications, 5th Edition by Sussana S. Epp (Cengage bookstore's link),
Introduction to Theory of Computation, 3rd Edition by Michael Sipser (Cengage bookstore's link),
Introduction to Automata Theory, 3rd Edition by John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman (Amazon's link)