Link Search Menu Expand Document


Table of contents

  1. About
  2. Prerequisites
  3. Grading
  4. Attendance
  5. Labs
  6. Homework
  7. Final Project


The Codebreaking at Cal DeCal is designed to provide an introduction to the field of cryptography. This course will focus on real-world examples to teach the mathematics and computer science behind the field. Students will develop both practical and theoretical skills to approach a wide variety of cryptographic challenges in the labs.

This is technical DeCal, so expect a moderate level of workload.


We strictly require CS 70 and CS 61A (or equivalent discrete math, probability, and Python programming experience). If you think you have the equivalent background, please note so on the enrollment form.

Helpful, but not required: CS 161, CS 170, MATH 113, MATH 116


You are required to attend at least 8 lectures, complete 6 labs, get at least 60% overall homework average (see homework section), and complete the final project to pass. We do not want to (or plan to) fail anyone, so please reach out to staff if you want extensions/need help!


Each week’s lecture will have an attendance link shown at the end. Filling this out and getting at least 50% correct on the questions in the form will credit you with attendance for the week. This form must be filled out during/immediately after lecture, but both in-person and Zoom attendance counts the same.


Each week will have a Jupyter Notebook lab to complete. These are entirely autograded, with no hidden tests. Once you have passed all the local tests, submit them to Gradescope per the notebook instructions to receive credit for that week.


Each week will also have a short problem set to complete. This can be handwritten or typed. Homework that receives >= 60% will be counted as a full-score (100%). Homework that is scored < 60% will be scaled with 60% as the denominator. For example, a 40% raw score becomes 40/60 = 67% instead.

We will automatically drop your lowest two homeworks. To pass, your overall homework average post-drops must be at least 60%.

Final Project

There will be a final project announced near the end of the semester. Students are required to complete both parts to an acceptable score (TBD later). You will most likely have 3-4 weeks to complete this, and it won’t be nearly the same workload as a normal CS class project. The focus will be on fun “challenge” type of exercises much like an online Capture The Flag game, if you’ve heard of that.