Adam Blank 

Welcome to CS 37!


Getting Help

It is very important to us that you succeed in CS 37. We provide many extra resources to help you. Adam and the TAs hold many office hours, and we have a message board called .

It is also very important to us that you maintain your mental wellness throughout the course. A few points are not worth losing sleep over. Everyone on the course staff is available to chat, and you can always attend office hours for a non-academic conversation if necessary. You can also visit the counseling center if you find you need help beyond the course staff. If you have a temporary health condition or permanent disability (either mental health or physical health related), you should contact disability services if you have not already. Additionally, if there is something we can do to make your experience better, please let us know.

Course Staff


Annenberg 115
(626) 395-1765

Course Mascot


Teaching Assistants


  • Introduction
  • Compression
  • Seminumerical Algorithms
  • Randomness
  • Primes & Cryptography
  • Polynomials
  • Error-Correcting Codes
  • Parallelism
  • Conclusion
Problem Sets
Partner Choosing Mixer
Zip Checkpoint
Lossless Compression III
Big Numbers I
Zip Checkpoint
Big Numbers II
Random Number Generators
RSA & Diffie-Helman
Fermat Test & Miller-Rabin
Key Generation & CSPRNGs
RSA Padding & Side-Channel Attacks
ssh and ssl Checkpoint
Polynomials I
Polynomials II
ssh and ssl Checkpoint
Lagrange Interpolation & Shamir's Secret Sharing Algorithm
Reed-Solomon Coding I
Reed-Solomon Coding II
Barcodes Checkpoint
Victory Lap
No Class!