Course Textbook
Mathematics for Computer Science — Lehman, Leighton, MeyerReading this textbook is not required, though many students in the past have found it helpful in reinforcing what's covered in lecture!
Course Documentation
Homework Resources
For many of you, this is your first time writing proofs, and even for those who have written proofs before, what we consider a good proof in CS22 likely differs from what made a good proof wherever you were writing them before! Check out the proof virtues document below to acquaint yourself with what we consider a good proof in CS22. Your proofs will be graded with respect to this document , so be sure to read it carefully, and come to hours with any questions.
Math Resources
Sample Proofs
- Bidirectional
- Bijective Proof Sketch
- More Bijective Proof Sketches
- Bijective Strategies
- Cases
- Contradiction
- Contraposition
- Counterexample
- Induction
- More Induction
- Set Equivalence
- Strong Induction
LaTeX Resources
LaTeX (pronounced la-tek) is a program that you will be using to make your homework solutions look
beautiful. The sample proofs above were written in LaTeX to give you an idea of what documents written in
LaTeX look like. LaTeX allows you to incorporate mathematical notation into your proofs, and because this
class involves a healthy dose of mathematical notation, LaTeX is going to be very useful! Using LaTeX is
required after the 2nd homework.
We don't expect you've ever done this whole LaTeX business before, and that's why we're giving you some time
to learn it! To get started, we recommend creating an account on Overleaf, an online program for writing and compiling LaTeX. After you
do that, here are some links to check out:
Honestly, please use
Overleaf. It's so
much easier than installing anything on your computer. Trust me.
- CS22 LaTeX Cheat Sheet (start here!)
- A Not So Short Introduction to LaTeX
- LaTeX Symbols Guide
- Essential LaTeX
- Art of Problem Solving: LaTeX
- LaTeX Intro Wikibook
- LaTeX on Brown CS Systems
In general, a really good resource for learning LaTeX is the web. When you have a question, google it, and you'll likely find someone who had the very same question!
Below is a template you can use as a starting point for your homeworks.
If you'd like to download LaTeX on your computer, here are some resources to do that:
If you're using LaTeX and you just don't know what the code for some symbol is, here is a helpful list to start:
Alternatively, this is a neat site which will return the LaTeX code based on handwritten input (although searching your question on the web is likely more efficient):