About this course

CS055 is part of the CS intro sequence. From the course catalog:

Introduction to the study of finite mathematical structures and the ways to build them, count them and analyze them. Topics and examples chosen to relate to concepts of interest in the design and analysis of computer algorithms, including permutations and combinations, graphs and trees and codes. Emphasis on creative problem solving and learning to read and write proofs.

Instructor and TAs

This course is taught by me—Michael Greenberg. The TAs are Alex Hof, Mark Hallman, Emily Chen, Mary Jac Heuman, and Sonia Grunwald. Here are our office hours/mentor session times, ordered by increasing closeness to assignment due dates (Wednesdays in class).

Day Time Location
Sonia Grunwald Saturday 2–4pm Edmunds 2nd floor
Mark Hallman Sunday 3–5pm Edmunds 2nd floor
Emily Chen Sunday 7–9pm Edmunds 2nd floor
Mary Jac Heuman Monday 3–5pm Edmunds 2nd floor
Alex Hof Monday 7–9pm Edmunds 2nd floor
Prof. Michael Greenberg Tuesday 1–3pm Edmunds 225

I’m available at other times by appointment—send me an email.


You must have some programming experience: CS 51 at Pomona or CMC, CS 5 at Mudd, AP Computer Science, or something else.


We will be using Piazza for class discussion. Instead of emailing questions to me or the TAs, please post your questions on Piazza. If you have any problems or feedback for the developers, email team@piazza.com.


The course will comprise twelve homeworks, quizzes taken in class, a midterm, and a final.


The course home page lists readings from Rosen’s “Discrete Mathematics and Its Applications” for nearly every class. While the textbook is not required—I’ll cover everything necessary in class—it is nevertheless strongly recommended (and a bargain, as many used copies are available online), as I won’t be posting lecture notes.


Homework will be turned in by the beginning of class on the Wednesday it is due. You’ll submit homework as printouts from the LaTeX starter you’re given. There’s a guide for getting started with LaTeX.

Collaboration is encouraged, so long as you make it clear who you worked with in the “collaborators” field.

No late work will be accepted, barring serious illness or similar emergencies.


I’ll hold quizzes in class as often as once a week. I’ll let you know 24 hours in advance of each quiz; if you can’t make it, don’t worry about it—it won’t count against you. In any case, each quiz is just a small part of your grade—they’re meant to help me (and you!) assess what you are and aren’t learning.


Both the midterm and the final will be held in our class room. The final will be cumulative, covering all of the material in the course. According to the 5C exam schedule, our final exam will be on Monday, May 8th at 9am in our usual classroom (Seaver Commons 103).

If you seek accommodations, please see the accommodation policy below.


Your grade will be computed as a weighted average of the coursework:

  • 20% quizzes
  • 20% homework
  • 25% midterm
  • 35% final


I encourage you to help each other: discuss the readings, work together on homeworks, and study for exams.

However: all work in the course must be your own. As explained in the student handbook, this means that the work you turn in must represent only your own work.

You shouldn’t just copy down a proof that your friend figured out but couldn’t explain to you; you shouldn’t search for answers to homework questions online.

You should lookup definitions in the textbook or online. (But be careful: many terms have subtly different definitions.) You should talk to your classmates, being careful to acknowledge them in your assignments. You should bring questions to mentor sessions and office hours.

If any of this is unclear, please: just ask me.

Failure to abide by these rules is considered plagiarism, and will result in severe penalties. The first offense typically results in failing the assignment and referral to the appropriate college office or committee—which may mean further consequences. See the CS Academic Honesty Policy and Pomona Academic Standards. for further information. Please don’t put anyone—me, you, or anyone else—in this unpleasant situation.


Pomona students seeking academic accommodations should contact Jan Collins-Eaglin in the Dean of Students Office. You’ll need to meet with Jan to discuss appropriate accommodations and provide documentation as necessary. If you want accommodations on exams or homework, it is your responsibility to inform me in advance.

Students from other colleges should contact their home college’s disability coordinator for accommodations. The coordinators are:

We’re in this together

This is my first time teaching this course. Let’s make a deal. My side: if things aren’t working, I’ll change them. Your side: if things aren’t working, you’ll tell me.