CSCI 0220
Discrete Structures and Probability
CSCI 0220 meets Mondays, Wednesdays, and Fridays from 1:00 - 1:50 pm.
I don't know about you, but we're feeling 22!
This class, offered during the spring semester at Brown University (and in the fall semester as well starting in Fall 2025), gives you the tools to explore interesting questions and convince
yourself and others of their answers. You'll be introduced to new worlds of ideas and ways of
thinking.
We'll learn about Set Theory, Logic, Number Theory, Combinatorics, and
Probability.
If these topics sound unfamiliar, not to fear—you're in exactly the right place! This course
assumes
no prior experience with these topics.
Important info before the semester starts:
- Exams are in person: Midterm on 3/17 and Final on 5/16
- Lectures will be streamed and recorded; attendance is strongly encouraged but not required.
- Attendance at weekly recitation sections is required.
For the spring 2025 semester, this class will be taught by professors Robert Lewis and Ellis Hershkowitz. If you need to email them, please use their shared inbox cs220-instructors@brown.edu.
Assignments
Times listed are in EST. Assignments are released on Thursday mornings, and are due 11:59pm on Wednesdays. Clicking on the Overleaf Template link will open a new Overleaf project, so you can write your homework solutions in LaTeX.
Homework | Template | Released | Due | Solutions |
---|---|---|---|---|
HW0 | - | Jan 22 | Jan 29 | - |
HW1 | Overleaf Template | Jan 30 | Feb 5 | - |
HW2 | - | Feb 6 | Feb 12 | - |
HW3 | - | Feb 13 | Feb 21 | - |
HW4 | - | Feb 20 | Feb 26 | - |
HW5 | - | Feb 27 | Mar 5 | - |
HW6 | - | Mar 6 | Mar 12 | - |
HW7 (SRC/Extra Credit) | - | Mar 13 | Mar 21 | - |
HW8 | - | Mar 19 | Apr 3 | - |
HW9 | - | Apr 2 | Apr 9 | - |
HW10 | - | Apr 10 | Apr 16 | - |
HW11 | - | Apr 21 | TBD | - |
Recitation sections are held from Thursday to Sunday, and recitation is due the week after your recitation section. Also, if you need to miss a recitation and need to request an absence, fill out the form here.
Recitation | Template | Released | Solution |
---|---|---|---|
Recitation 1 | Overleaf Template | Jan 30 | - |
- | - | Feb 6 | - |
- | - | Feb 13 | - |
- | - | Feb 20 | - |
- | - | Feb 27 | - |
- | - | Mar 6 | - |
- | - | - | |
- | - | Mar 13 | - |
- | - | Apr 3 | - |
- | - | Apr 10 | - |
- | - | Apr 24 | - |
- | - | - |
Lectures
Lecture | Date | Topic | Recording |
---|---|---|---|
1 | Jan 22 | Intro | Video |
2 | Jan 24 | Statements, Proofs, and Contradictions | Video |
3 | Jan 27 | Propositional Logic: Connectives, Truth Tables | Video |
4 | Jan 29 | Formal Proofs in Propositional Logic | Video |
5 | Jan 31 | Propositional Proofs and Validity | Video |
6 | Feb 3 | First Order Logic (Quantifiers) | Video |
7 | Feb 5 | Formal Proofs in FOL | Video |
8 | Feb 7 | Language of Set Theory | Video |
9 | Feb 10 | Proof about Sets | Video |
10 | Feb 12 | Binary Relations | Video |
11 | Feb 14 | Injectivity, Surjectivity, Bijectivity | Video |
- | Feb 17 | Long Weekend - NO CLASS | - |
12 | Feb 19 | More Properties of Relations | Video |
13 | Feb 21 | Induction | Video |
14 | Feb 24 | Induction Variants | Video |
15 | Feb 26 | Number Theory -- Division | Video |
16 | Feb 28 | Division Algorithm | Video |
17 | Mar 3 | Modular Arithmetic | Video |
18 | Mar 5 | Multiplicative Inverses | Video |
19 | Mar 7 | Number Theory in Lean | Video |
20 | Mar 10 | Message Passing, RSA | Video |
21 | Mar 12 | Encryption and Ethics | Video |
22 | Mar 14 | Intro to Counting | Video |
- | Mar 17 | MIDTERM - IN CLASS | - |
23 | Mar 19 | Division Rule and Subsets | Video |
24 | Mar 21 | Binomial Theorem, Inclusion-Exclusion | Video |
- | Mar 24 | Spring Recess - NO CLASS | - |
- | Mar 26 | Spring Recess - NO CLASS | - |
- | Mar 28 | Spring Recess - NO CLASS | - |
25 | Mar 31 | Pigeonhole Principle | Video |
26 | Apr 2 | Counting Trees | Video |
27 | Apr 4 | Intro to Probability | Video |
28 | Apr 7 | Probability and Independence | Video |
29 | Apr 9 | Random Variables, Expectation | Video |
- | Apr 11 | Slack day | - |
30 | Apr 14 | Conditional Expectation | Video |
31 | Apr 16 | Linearity of Expectation | Video |
32 | Apr 18 | Bayes' Rule | Video |
33 | Apr 21 | Variance | Video |
34 | Apr 23 | Induction and Proofs on Data | Video |
- | May 16 | FINAL EXAM - IN PERSON | - |
Calendar
How do hours work?
CS22 hours are collaborative spaces for students to work together on problems, facilitated by TAs. Hours will be primarily in-person. More details about hours can be found in the Hours and Recitation Policy. Remote hours will be facilitated using tickets handled from Hours.
Here is a link to the course calendar (same as below).
Resources
Course Textbook
Discrete Mathematics and Its Applications — Kenneth RosenReading this textbook is not required, though many students in the past have found it helpful in reinforcing what's covered in lecture!
Course Documentation
Important Links
- EdStem
- Gradescope
- Anonymous Feedback Form
- Extension Request Form
- Recitation Absence Form
- Lecture Recordings/Livestream
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.
Lean Resources
Math Resources
Sample Proofs
- Bidirectional
- Bijective Proof Sketch
- More Bijective Proof Sketches
- Bijective Strategies
- Cases
- Contradiction
- Contraposition
- Counterexample
- Equivalence Relations
- Induction
- More Induction
- Strong Induction
- Probability
- Set Equivalence
The LaTeX files to all the above resources can be found here.
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
- Art of Problem Solving: LaTeX
- LaTeX Intro Wikibook
- LaTeX on Brown CS Systems
- LaTeX Gearup Template
- LaTeX Gearup Completed Handout
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!
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):
Staff
Instructors
Robert Y. Lewis
Instructor | Brookline, MA
he/him
Call me Rob! I'm 50% computer scientist, 40% mathematician, and 10% philosopher, so this course is pretty much my dream.
Office hours (double check on the calendar): Mon 10:30-11:30
Bandit or Cowboy: Bandit
Ellis Hershkowitz
Instructor | Arlington, VA
he/him
Hi! Call me Ellis! I'm a theoretical computer scientist that mostly works on (graph) algorithms. I also graduated from Brown in 2015 and took CS22. Excited for a fun semester!
Office hours (double check on the calendar): Weds 3-4
Bandit or Cowboy: Cowboy
Head TAs
Amy Qiao
HTA | Madison, WI
she/her
Hi beautiful people! I'm a junior from Madison, WI studying CS & Math. I love all things math and will not shut up about it. In my free time, I love figure skating and overthinking everything. Talk to me about sports analytics and the Carolina Panthers :)
Bandit or Cowboy: BANDIT (Don Toliver)
Christina Stepin
HTA | Seattle, WA
she/her
Hi! I'm Christina - a senior in Math + CS; Music. Outside of class I play chess and read exclusively YA Literature. Fun fact: I've walked from France to Germany before.
Bandit or Cowboy: Cowboy!
Ilija Ivanov
HTA | Podgorica, Montenegro
he/him
Hi! I'm a sophomore from Podgorica, Montenegro studying CS. Looking forward to a great semester with you all!
Bandit or Cowboy: Cowboy
Justin Shin
HTA | Bremen, Georgia
he/him
champion of boomerang fu
Bandit or Cowboy: yes.
Tyler Gurth
HTA | Parsippany, NJ
he/him
Hey!! I'm a senior studying CS and History of Art and Architecture. When I'm not programming or appreciating art, one can find me on a train. Self described as "obsessed with Julia Roberts".
Bandit or Cowboy: Bandit
UTA-STAs
Laura Romig
UTA-STA | Atlanta, GA
she/her
I'm a senior who studies Comparative Literature and Applied Math. I love science fiction, ultimate frisbee, and coffee shops. My favorite books are The Dispossessed by Ursula K. Le Guin and The Three Body Problem series by Liu Cixin :)
Bandit or Cowboy: Cowboy!
UTAs
Adithya Sriram
UTA | Chennai, India
he/him
Hi guys, I'm a junior concentrating in MATH-CS. In my free time, I enjoy playing poker, trying new foods and traveling.
Bandit or Cowboy: Bandit
Alyssa Sun
UTA | Wilsonville, OR
she/her
Hi! I am junior studying APMA-CS, and I am on the fencing team!
Bandit or Cowboy: Cowboy
Cerulean Ozarow
UTA | Brooklyn, NY
he/him
cerulean. apma major. 22 like the class. like the class 22! hope you enjoy it as well :)
Bandit or Cowboy: Cowboy
Grant Landon
UTA | Hamilton, MA
he/him
Ukq wna pda Hwop Hkceyewj. Come to my hours if you solve it
Bandit or Cowboy: Saloon Bartender
Ilan Brauns
UTA | South Orange, NJ
he/him
Hi everyone! I'm a junior studying computer science and math. In my free time, I love to workout, play sports, and hang with my friends. I'm super excited for an amazing semester of CS22 and can't wait to meet you all!
Bandit or Cowboy: Cowboy
Kristen Cai
UTA | Vernon Hills, IL
she/her
Hi! I'm Kristen, a senior studying APMA-CS. In my free time, I enjoy playing piano and solving the NYT Spelling Bee.
Bandit or Cowboy: Bandit
Lukas Strelecky
UTA | Bridgewater, NJ
he/him
hi! I'm a junior studying CS. in my free time, I enjoy weightlifting, distance running, and cooking.
Bandit or Cowboy: Cowboy
Michael Sun
UTA | East Brunswick, NJ
he/him
Hi! I'm a senior studying computational biology. I love drinking new drinks, eating new eats and playing in orchestra/chamber groups. Looking forward to a wonderful semester!!
Bandit or Cowboy: Bandit
Moses Yang
UTA | Parsippany, NJ
he/him
Hi! Thanks for scrolling all the way down! I'm a Sophomore studying CS, and I also fence at Brown. Fun fact: I have a right shoe in Texas and a left shoe in New Mexico!
Bandit or Cowboy: Horse
Zachary Wang
UTA | College Station, TX
he/him
I'm a junior studying apma-cs.
Bandit or Cowboy: Cowboy