If you ever wondered "What sort of mathematics do I need for computer science?", this course will provide some of the answers. In particular, you will have the opportunity to learn basic concepts about algorithms, computer arithmetic, number systems, Boolean algebras, logic, proofs, program correctness, loop invariants, modular arithmetic, linear and partial orders, recurrences, and induction, among other things. These are some of the essential ingredients in the toolkit of every computer scientist.
Please see the
website for homework (questions, solutions, submission), online quizzes (due before each W/F class) and discussion forums (for all your questions).
Prof. Shachar Lovett
Monday 3-5pm, CSE 4234
Thursday 3:30-4:30pm, CSE Basement
Friday 10-11am, CSE Basement
Tuesday 4-5pm, CSE Basement
Friday 11-1pm, CSE Basement
Friday 1-3pm, CSE Basement
Tuesday 12-2pm, CSE Basement
2:00pm - 2:50pm
5:00pm - 5:50pm
6:00pm - 6:50pm
3:00pm - 6:00pm
To be announced
Jenkyns, Stephenson. Fundamentals of Discrete Math for Computer Science: A Problem-Solving Primer.
We will focus on sections in Chapters 1,2,3,6. Supplementary references will be provided as needed.
The full pdf of the book is available for free download from a UCSD internet connection
here. It also offers a paperback version for about $25 (on-campus) or $40 (off-campus). Amazon sells the book for about $50.
Homework is due on Mondays, except for weeks with midterms. Homework should be solved in groups of 3-4 students. Submission is online (via TED), one submission per group.
No collaboration or discussion is allowed outside the groups.
The final grade will be composed as follows:
Final exam: 40%
Midterms: 30% (best out of two)
Homework: 20% (2 lowest grades dropped)
Online quizzes: 5% (3 misses allowed)
Clicker participation: 5% (3 misses allowed)
A passing grade in the final exam (at least 50%) is required to pass the class. Letter grades will be assigned as follows: