CS 200 - Spring 2017

Mathematical Foundations of Computing

Announcements

Peer tutoring
Thursdays 6-8pm, Sundays+Mondays 7-9pm in the MBH 6th floor east lounge.
Midterm Exam
The midterm exam will be a 75-minute paper-and-pencil exam, with no computers or devices allowed. The exam will cover all material up through and including Tuesday March 21. You are encouraged to prepare a single sheet of study notes (double-sided, 8.5"x11") that you may use during the exam. If you qualify for extra time, make arrangements with me ahead of time. You are encouraged to work through the Sample Midterm Questions. and consult the provided partial sample solutions. Professor Briggs will have office hours this week Monday 3/20 11am-2pm, Tuesday 3/21 12:30-2pm, and Wednesday 3/22 12:30-2pm.

Assignments

  1. Homework 1, due Tuesday, 2/21. Solutions.
  2. Homework 2, due Tuesday, 2/28. Solutions.
  3. Homework 3, due Tuesday, 3/7. Solutions.
  4. Homework 4, due Tuesday, 3/14. Solutions.
  5. Homework 5, due Tuesday, 3/21. Solutions.
  6. Midterm exam, Thursday 3/23 in class. Practice problems (not due). Partial Solutions.
  7. Homework 7, due Tuesday, 4/11. Solutions.
  8. Homework 8, due Tuesday, 4/18. Solutions.
  9. Homework 9, due Tuesday, 4/25. Solutions.
  10. Homework 10, due Tuesday, 5/2. Solutions.
  11. Homework 11, due Tuesday, 5/9. Solutions.
  12. Final exam, self-scheduled. Final exam practice. Solutions.

Lectures & Readings

  1. Tues 2/14 - Course introduction, Sets. Exercises. Proof 1.1-1.9. Attendance.
  2. Thurs 2/16 - Propositional logic. Exercises. Proof 2.1-2.6. Attendance.
  3. Tues 2/21 - Predicate logic. Exercises. More exercises. Rosen 1.4-1.5. Proof 2.7-2.12. HW1 due.
  4. Thurs 2/23 - Proof techniques, arguments. Rosen 1.7-1.8. [Proof Chaps 4-9.] Attendance.
  5. Tues 2/28 - Growth of functions. Rosen 3.1-3.2. HW2 due. Program submission.
  6. Thurs 3/2 - Complexity of algorithms. Rosen 3.3.
  7. Tues 3/7 - Proof by Induction. Examples. Rosen 5.1. HW3 due.
  8. Thurs 3/9 - More proof by induction. Rosen 5.2-5.4. [Proof Chap 10.]
  9. Tues 3/14 - Number Theory. Code examples. Rosen 4.1-4.3. HW4 due.
  10. Thurs 3/16 - Cryptography. Rosen 4.6.
  11. Tues 3/21 - Review. Practice problems. Partial Solutions. HW5 due (use submit script twice).
  12. Thurs 3/23 - Midterm in class.
  13. Tues 4/4 - Counting. Rosen 6.1-6.2.
  14. Thurs 4/6 - Permutations and combinations. Examples. Rosen 6.3-6.5. HW7 due.
  15. Tues 4/11 - Probability. Rosen 7.1-7.2.
  16. Thurs 4/13 - Recurrence relations. Rosen 8.1-8.3. HW8 due.
  17. Tues 4/18 - Relations, Equivalence Relations. Rosen 9.1-9.5.
  18. Thurs 4/20 - Graphs. Rosen 10.1-10.4. HW9 due.
  19. Tues 4/25 - Graphs algorithms, P vs NP. Rosen 10.5-10.8.
  20. Thurs 4/27 - Trees, Spanning Trees. Rosen 11.1-11.5. HW10 due.
  21. Tues 5/2 - Finite state machines. Rosen 13.3.
  22. Thurs 5/4 - Context-Free Grammars. Rosen 13.1.
  23. Tues 5/9 - Turing machines and computability. Rosen 13.5. Notes on complexity. HW11 due.
  24. Thurs 5/11 - Course wrap-up. Final exam will be self-scheduled.