[ news | information | lectures | problem sets | links ]

CS55 - Spring 2012
MW 2:45-4:00 in Millikan 134 Edmunds 114
Prof. Chen

5/20/2014: I've archived all of the notes and problem sets (ie, most of the links below don't work) and am only leaving up the syllabus for reference. If you're looking for the material, you may be able to find a link to a more recent offering of the class here or here.


Please check here regularly for assorted announcements. You are responsible for being aware of any information posted here.
  • 4/26/2012: problem set 12: in option two (let's make a deal), the simulation for the second version should show that the probability of winning when you always switch and when you never switch are the same. That probability shouldn't be 50%, but rather something else. You should turn in output showing the probabilities of winning both when you always switch and when you never switch.
  • 4/18/2012: problem set 12: for full credit on the graph coloring problem, the heuristic you implement needs to be non-trivial. (In other words, you can't just color every vertex a different color, not even for general graphs.)
  • 4/13/2012: In problem set 10, problem 1b, the text given does not agree with the book problem number given. The book problem number is correct (problem 19 on page 474); the version of the problem set online has been updated to have the correct text.
  • 3/27/2012: Sample midterm available here
  • 3/25/2012: Problem 2 on ps8: in the preamble to problem 2, the second factorial in the second option should be in the denominator. This has been fixed in the version posted on the web. (can download here: <pdf>)
  • 2/22/2012: Problem 1b on ps5: the lowercase a should be an uppercase A
  • 2/13/2012: Problem 3b on ps4 was missing two key minus signs. That has been fixed in the version posted on the web. (can download here: <pdf>)
  • 2/9/2012: From now on TA hours will be Monday 8:30-10pm (Evan F.) and Tuesday 8-10pm (Joel), still in the CS lab.
  • 2/8/2012: Sample midterm available here
  • 2/8/2012: My office hours next Wednesday (2/15) are cancelled.
  • 2/1/2012: On ps3 you may want to read problem 2 in part 2 (gives the statement of the division theorem) before doing some of the questions in problem 1.
  • 1/19/2012: The class will be moving to Edmunds 114 (whiteboards!) for the rest of the semester.
  • Information

    CS55 is an introduction to discrete mathematics for computer scientists. In particular, we will study finite mathematical structures and ways to build them, count them, and analyze them. The topics and examples will be chosen to relate to concepts of interest in the design and analysis of computer algorithms. The stated prerequisite is cs51, though what I really care about is that you have some experience with computing concepts and programming (ie, cs30 is fine).

    The textbook for this class is Ensley and Crawley's "Discrete Mathematics: Mathematical Reasoning and Proof with Puzzles, Patterns, and Games" (Amazon link). Copies will be available at Huntley Bookstore.

    We'll meet Mondays and Wednesdays from 2:45-4:00 in Millikan 134 Edmunds 114.

  • Administrivia <pdf>
  • Lectures

    Any topic that's listed for a date in the future should be taken as tentative. Any topic that's listed for a date at least 2 days in the past is what was actually covered in that lecture.

    Week Date In class reading Assignment due
    1 (Wed) 1/18 introduction, administrivia
    definitions, notation, sequences, game basics
    slides <pdf>
    Appendix A
    2 (Mon) 1/23 intro propositional logic, implications,
    knights & knaves
    slides <pdf>
    (Wed) 1/25 logical arguments,
    predicate logic, working with quantifiers
    slides <pdf>
    1.5, 2.1 ps1 <pdf>
    3 (Mon) 1/30 proofs, if-and-only-if, numbers vs. numerals
    slides <pdf>
    2.1-2.2, 2.6
    (Wed) 2/1 proofs, induction/recursion
    slides <pdf>
    2.2-2.4 ps2 <pdf>
    4 (Mon) 2/6 more on induction: sums, sequences, weak vs. strong, variations
    slides <pdf>
    (Wed) 2/8 proof by contradiction,
    more on recurrences (guess-and-check, closed form, recursion tree)
    slides <pdf>
    2.4-2.5 ps3 <pdf>
    5 (Mon) 2/13 review
    slides <pdf>
    (Wed) 2/15
    *** midterm #1 ***
    6 (Mon) 2/20 sets
    slides <pdf>
    (Wed) 2/22 sets, boolean algebra, circuits
    slides <pdf>
    3.3-3.5 ps4 <pdf>
    7 (Mon) 2/27 functions, inverses,
    infinity, diagonalization
    slides <pdf>
    (Wed) 2/29 more functions, asymptotics - big-O
    slides <pdf>
    4.1-4.3, 4.8 ps5 <pdf>
    8 (Mon) 3/5 relations, counting
    slides <pdf>
    4.4-4.5, 5.1-5.3
    (Wed) 3/7 counting
    slides <pdf>
    5.2-5.4, 2.5 ps6 <pdf>
    (Mon) 3/12
    *** no class: Spring Break ***
    (Wed) 3/14
    9 (Mon) 3/19 counting, intro to discrete probability
    slides <pdf>
    (Wed) 3/21 more discrete probability, equally likely outcomes, disjoint vs. independent events
    slides <pdf>
    6.1-6.2 ps7 <pdf>
    10 (Mon) 3/26 conditional probability, bernoulli trials
    slides <pdf>
    (Wed) 3/28 random variables, expected values, compression
    Evan's notes <pdf>
    6.3-6.4 ps8 <pdf> <tex>
    11 (Mon) 4/2 review
    slides <pdf>
    (Wed) 4/4
    *** midterm #2 ***
    12 (Mon) 4/9 probability, intro to graphs: terminology, eulerian circuits
    slides <pdf>
    6.1-4, 7.1
    (Wed) 4/11 graph representations, proofs on graphs
    slides <pdf>
    7.2, 7.4 ps9 <pdf> <tex>
    13 (Mon) 4/16 more proofs on graphs, eulerian circuits, hamiltonian cycles, TSP
    slides <pdf>
    7.2, 7.7
    (Wed) 4/18 graphs: coloring, isomorphism, planarity
    slides <pdf>
    7.3 ps10 <pdf> <tex>
    14 (Mon) 4/23 proofs on graphs, graphs for puzzles
    slides <pdf>
    (Wed) 4/25 game trees, binary trees
    slides <pdf>
    ps11 <pdf> <tex>
    15 (Mon) 4/30 wrap-up, numbers vs. numerals, stable marriage problem
    slides <pdf>
    (Wed) 5/2 review ps12 <pdf> <tex>

    The final exam will be on Monday, May 7 at 2pm.

    Problem Sets

  • ps1, due 2:45pm on 1/25. <pdf>
  • ps2, due 2:45pm on 2/1. <pdf>
  • ps3, due 2:45pm on 2/8. <pdf>
  • ps4, due 2:45pm on 2/22. <pdf>
  • ps5, due 2:45pm on 2/29. <pdf>
  • ps6, due 2:45pm on 3/7. <pdf>
  • ps7, due 2:45pm on 3/21. <pdf>
  • ps8, due 2:45pm on 3/28. <pdf> <tex>
  • ps9, due 2:45pm on 4/11. <pdf> <tex>
  • ps10, due 2:45pm on 4/18. <pdf> <tex>
  • ps11, due 2:45pm on 4/25. <pdf> <tex>
  • ps12, due 2:45pm on 5/2. <pdf> <tex>
  • Links

  • If you're feeling motivated and have some time to spare, you are encouraged to try typesetting some of your problem sets. If you do, I strongly recommend learning LaTeX, which is the best way to format anything containing mathematical equations.
  • A simple latex document sample.tex that creates the file <sample.pdf>
  • A gentle introduction to TeX by Laura Tallman and Michael Kozdron.
  • The Not So Short Introduction to LaTeX2e, also known as LaTeX2e in 157 minutes by Oetiker, Partl, Hyna, and Schlegl. (This is an evolving document, at the moment they're on version 5.01, dated April 2011.)

  • "Computers do not solve problems, they execute solutions"
    --Laurent Gasser