Final Exam Locations
December 11, 2014

The final exam will be on December 12 from 12:15PM - 3:15PM. Locations are divvied up by last name:

  • Abr - Sad: Go to Cemex Auditorium
  • Sal - Zie: Go to Cubberly Auditorium

As with the midterms, the exam is closed-book and closed-computer, but open one page of notes.

Good luck!

Timeline of CS103 Results
November 26, 2014

The order in which we've covered concepts in CS103 is quite different from the order in which they were originally developed and discovered. If you're interested in seeing the actual chronology of events, with citations of the original papers on each subject, check out this timeline of CS103 results. This timeline is definitely incomplete, so if there are any topics or events that you'd like me to include here, please let me know!

Second Midterm Locations
November 12, 2014

The second midterm exam is this Thursday night from 7PM - 10PM. The exam is held in two different locations that are divvied up by last name as follows:

  • Abr - Sad: Go to Cemex Auditorium
  • Sal - Zie: Go to Cubberly Auditorium

Good luck!

Some Words of Encouragement
November 7, 2014

As we approach the second midterm exam, I thought I'd share two resources that I've found helpful in the past when feeling stressed about math.

First, here's an excellent YouTube video from Mathematigal talking about how not to be afraid of math:

Second, here's an article by a journalism professor dispelling his belief that he was inherently "bad at math."

Hope this helps!

New Tools Available
October 27, 2014

Problem Set Five will go out today and come due next Monday. We've posted two tools that you might find useful for the problem set: our DFA/NFA Developer, where you can design and test DFAs and NFAs, and our Regex Developer, where you can design and test regular expressions. Both tools come with a submission feature that you can use to submit your solutions for Q1, Q2, and Q3 of the upcoming problem set. Unfortunately, these tools only let you submit assignments under a single name, so please just have one person from each group submit answers.

Hope this helps!

Midterm Locations
October 21, 2014

The first midterm exam is this Thursday night from 6PM - 9PM. The exam is held in five different locations that are divvied up by last name as follows:

  • Abr - Hsu: Go to 420-040
  • Hua - Med: Go to 420-041
  • Mei - Raj: Go to Art 2
  • Ram - Saw: Go to Art 4
  • Sch - Zie: Go to Bishop Auditorium

If you'd like some more practice, we have three sets of practice problems you can work through and a complete practice midterm exam.

Good luck!

Problem Set Four Released
October 17, 2014

Problem Set Four goes out today. It will be our final problem set on discrete structures (functions, cardinality, relations, and the pigeonhole principle) before we begin talking about computability. The checkpoint problem is due on Monday, October 20 at 2:15PM, and the full problem set is then due on Monday, October 27 at 2:15PM as well. That way, you won't have a problem set due during the middle of our midterm week.

Good luck!

Review Problems Released
October 15, 2014

We've released a set of midterm review problems that you can use to practice for the upcoming midterm exam. We'll release solutions to these problems, along with additional practice problems, on Friday.

Hope this helps!

Problem Set Three Released
October 10, 2014

Problem Set Three goes out today. It covers graphs and mathematical logic. The problem set consists of two parts - a checkpoint problem due Monday, October 13 at the start of class, and a remaining set of problems due on Friday, October 17.

Good luck!

Problem Set Two Released
October 3, 2014

Problem Set Two goes out today. It's all about induction and variations on induction, and we hope that you have fun with it! The problem set consists of two parts - a checkpoint problem due Monday, October 6 at the start of class, and a remaining set of problems due on Friday, October 10.

Along with this handout, we've released a guide to inductive proofs that covers some specific tips and tricks for writing inductive proofs and thinking about induction. We hope you find it useful!

Good luck!

For Fun: Two Mathematical Links
September 30, 2014

If you'd like a fun little diversion, check out Vi Hart's video about Pythagoras and √2.

Also, as mentioned in lecture, if you assume 1 = 0, you can prove anything, including that Winston Churchill is a carrot. Just thought I'd share that gem of wisdom with you.


Office Hours Start Monday
September 28, 2014

Office hours will start this Monday morning. We've posted our office hours schedule under the "Resources" header. We're still finalizing room times and locations, so please check in periodically for more information.

Our office hours are working office hours in which you're welcome to stop on by and ask any questions you'd like. You can ask clarifying questions on problem sets, get feedback on your previous problem sets, review the lecture content, etc. In past quarters of CS103, a large fraction of students attended at least one section of office hours, so please don't hesitate to stop on by!

Some of the time blocks listed on the schedule are labeled DS for Discussion Section. These are optional discussion sections in which you can stop by to work through problems related to each week's problem set questions. We'll release a set of discussion questions and solutions each week. We highly recommend these discussion sections, as they'll give you more practice working through the types of problems that will come up in CS103 and beyond.

Some of our office hours are specifically marked as SCPD office hours. These office hours sections are for remote SCPD students only, and the link to enter them online will be sent out to the SCPD students mailing list right before those office hours start.

Problem Set One Released
September 26, 2014

The first problem set of the quarter goes out today. It covers direct proofs, indirect proofs, and set theory. It consists of two parts - a checkpoint problem due Monday, September 29 at the start of class, and a remaining set of problems due on Friday, October 3.

Along with this handout, we've released a handout of our problem set policies, a handout with our Honor Code policies, a handout with formal set theory definitions, our guide to proofs and proofwriting, and a special handout talking about how to write indirect proofs. We strongly recommend taking the time to read through these handouts, especially the handouts on problem set policies and Honor Code policies, before starting the problem sets. We hope that the Guide to Proofs gives you a better sense of our style expectations, and the handout on indirect proofs and set theory definitions might come particularly in handy on this problem set.

Good luck!

Change to First Midterm Time
September 24, 2014

The first midterm has been shifted back an hour to 6PM - 9PM. It will still be on Thursday, October 23. Sorry about that - CS103 has grown so large that we couldn't find enough rooms to hold everyone during our planned exam time!

Welcome to CS103!
September 18, 2014

Welcome to CS103, an introduction to discrete mathematics, computability theory, and complexity theory! We have an great quarter ahead of us filled with interesting and exciting results in the power and limits of computation, and I hope that you're able to join us.

If you have any questions in the meantime, feel free to email me at with questions.

See you soon!


38: Last Review Problems
37: Practice Final Exam
36: Cumulative Review
33: Computability Problems
32: Timeline of CS103 Results
28: Practice Problems 3
27: Practice Midterm Exam 2
25: Practice Problems 2
24: Practice Problems 1
18: Practice Midterm Exam
17: Review Problems 3
16: Review Problems 2
14: Review Problems 1
10: Guide to Induction
07: Guide to Indirect Proofs
06: Guide to Proofs
04: Set Theory Definitions
03: Honor Code
02: Problem Set Policies
01: Syllabus
00: Course Information

Discussion Problems

Discussion Problems 7
Discussion Problems 6
Discussion Problems 5
Discussion Problems 4
Discussion Problems 3
Discussion Problems 2
Discussion Problems 1


Problem Set Nine
   (feedback link)
Problem Set Eight
   (feedback link)
Problem Set Seven
   (feedback link)
Problem Set Six
   (feedback link)
Problem Set Five
   (feedback link)
Problem Set Four
   (feedback link)
Problem Set Three
   (feedback link)
Problem Set Two
   (feedback link)
Problem Set One
   (feedback link)


Course Reader
Lecture Videos
Assignment Submissions
Office Hours Schedule
Truth Table Tool
Blocks World
Theorem and Definition Reference
Relation Editor
DFA/NFA Developer
Regex Developer
Button FSM
Context-Free Grammar Tool


29: The Big Picture
28: NP-Completenets, Part II
   Slides (Condensed)
27: NP-Completenets, Part I
   Slides (Condensed)
26: Complexity Theory, Part II
   Slides (Condensed)
25: Complexity Theory, Part I
   Slides (Condensed)
24: Impossible Problems, Part IV
   Slides (Condensed) (Addendum)
23: Impossible Problems, Part III
   Slides (Condensed)
22: Impossible Problems, Part II
   Slides (Condensed) (Quine Code)
21: Impossible Problems, Part I
   Slides (Condensed)
20: Turing Machines, Part II
   Slides (Condensed)
19: Turing Machines, Part I
   Slides (Condensed)
18: Context-Free Grammars
   Slides (Condensed)
17: Nonregular Languages
   Slides (Condensed)
16: Regular Expressions
   Slides (Condensed)
15: Finite Automata, Part III
   Slides (Condensed)
14: Finite Automata, Part II
   Slides (Condensed)
13: Finite Automata, Part I
   Slides (Condensed)
12: Binary Relations
   Slides (Condensed)
11: Cardinality
   Slides (Condensed)
10: Pigeonhole Principle, Functions
   Slides (Condensed)
09: Mathematical Logic III
   Slides (Condensed)
08: Mathematical Logic II
   Slides (Condensed)
07: Mathematical Logic I
   Slides (Condensed)
06: Graphs
   Slides (Condensed)
05: Mathematical Induction, Part III
   Slides (Condensed)
04: Mathematical Induction, Part II
   Slides (Condensed)
03: Mathematical Induction, Part I
   Slides (Condensed)
02: Indirect Proofs
   Slides (Condensed)
01: Direct Proofs
   Slides (Condensed)
00: Set Theory
   Slides (Condensed)