ECS 127 – Cryptography – Syllabus – Rogaway – Spring 2024


Where and When

Mandatory Attendance

Attendance is mandatory for our class, both lectures and one weekly discussion section. Videos will not be made available. If you anticipate that you can’t attend almost every class meeting, or you can attend but would resent having to, please find another class.

Attendance will be randomly taken using short, unannounced quizzes. Quizzes may come at any point in the lecture. You may not leave class between the end of a quiz and the end of lecture.

If you can’t attend a class because of illness or some other significant problem, email me before class starts to with a one-sentence explanation of what’s going on and with a subject line of
     ECS-127-absent  XY
where XY specifies which class you are missing, encoded as X∈{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} for the week and Y∈{M, W, R, F} for the day. For example, use a subject line of ECS-127-absent  3W to report that you need to miss the Wednesday class of week-3. Use the same kind of emails to let me know that you will be leaving class early. If you feel during class and have to leave, send me an email as soon after as you can.


For current office hours see the online Google doc available from the course homepage.


The anticipated breakdown is You must have have a nonzero midterm and a nonzero final project to pass. Also, to pass the class you may not have any unexcused absences during the first two weeks. This rule should help reduce enrollment, preferentially retaining the most interested students.

In assigning grades I may, on a case-by-case basis, deviate from the stated weightings, if I see a compelling reason.

There are some extra-credit possibilities too: up to: 8% for regularly submitting pretty, typeset homeworks in discussion sections; 6% if someone takes it on themself to regularly share their beautiful lecture notes with everyone; 4% for turning in your final project by 8M, or 3% for turning in your final project by 9M; 2% for nicely presenting your perfect HW solution in discussion (each occurrence).

Percentages do not map to letter grades by any predetermined way. If you have a lower percentage than you’re accustomed to, this doesn’t mean you’re getting a bad grade.

Due to extreme grade inflation in the CS department and a 2024 vote by CS faculty not to adopt department-wide grading guidelines, I will probably grade more liberally than in past. Still, if you’re looking for a class with majority-A-grade grading, find another class: that has never been me.


Some work will be uploaded to Gradescope. Everyone enrolled should have an account there, the enrollment list sucked up from Canvas. Please login and make sure all is well.

Academic Misconduct – No Phones – No Laptops

This is important, and some students have problems with it.

Violating these norms will be treated like any other form of academic misconduct. Don’t expect warnings. If I walk into class and see you on your phone, I’ll ask you to leave class and provide me your name for the OSSJA report.

Academic Misconduct – Continued

If you are guilty of academic misconduct, either by your own admission or by a finding from OSSJA, I will assign you an F grade in the course (not the exam or assignment involved). This is in addition to whatever OSSJA does. This is the default policy across the CS Department. I refer all academic misconduct matters to Judicial Affairs (OSSJA).

If you turn in a homework, you may not have consulted any old solutions. Acknowledge any source from which you got important ideas.

For exams you may not sit next to a friend. Here a “friend” is someone you’ve interacted with and whose name you know; while “next to” means to the immediate left, right, front, front-left, or front-right.

If you are having personal or academic problems motivating you towards academic misconduct, please come and talk to me, or talk to a counselor, or talk to OSSJA.

Problem Sets

This term I won’t require problem sets (homeworks) to be turned in. I will still put out problem sets, mostly or entirely reused from the last time I taught the class. I encourage you to do these. We will go over solutions in discussion sections.

If you wish to turn in any correct and pretty solution to a problem, and if you’re willing to present your solution to it, then bring the writeup to discussion section, typeset, and hand it to me just before discussion section begins. Also upload it to Canvas before 11 am on Thursday. Do not turn in incorrect or handwritten work. Turning in a problem means that I may ask you to present it to everyone. Make sure you can do that. If you do a good job of it, I will give up to 2% extra credit. This can accumulate. I will also award some some extra credit if you regularly turn in such solutions, even if I don’t call on you to present.

As you might infer from the grading scheme above, there will be no final exam in this class. A final exam is listed in the course schedule for June 13, but I’m not going to hold it.

No Videos

There will be no video capture. My experience has been that students collectively perform worse when I record classes and make the recordings available. It also reduces attendance, which changes the basic character of the class. So: no videos.

You can probably find old videos online, which may or may not be relevant.

Sorry, you may not make homemade videos of lectures, either.


In lieu of a final exam, you are to turn in a final project of your own choosing. It should be 3-5 pages of succinct, well-written, typeset text. LaTeX is preferred. The topic can be anything that is clearly cryptographic. If in doubt, ask. Your investigation must go well beyond whatever we have done in class. There are three types of projects.

Papers may be done in groups of size 1, 2, or 3. Everyone on your team must fully understand and contribute to the project. Everyone on your team must participate in the writing. On your writeup, include a succinct but descriptive title followed by the parenthetical phrase: (Type-1 Final Project), (Type-2 Final Project), or (Type-3 Final Project). Include at the top of your writeup the name of all students in the group. Submit the work only one time on Canvas, but make sure you tell Canvas all group members, so that everyone gets credit.

Problems are common on group-work, and know that singleton sets are fine. If you do like to work in a group, make sure to have clear expectations and redundant, reliable, well-tested, communication channels.

The quality (and grading) of a project includes the quality of its writing. Ungrammatical or sloppy English will be strongly penalized. Only typeset work will be graded.

I may ask some or all students on a project to present it to me in person. I may do this on exceptionally good projects, not just problematic things.


You need to be able to understand mathematical definitions and proofs. ECS 20 (or MAT 108) is serious prerequisite in the sense that if you don’t have at least that level of mathematical maturity then you will not be able to follow us. It wouldn’t hurt to have taken ECS 120 as well, but this is not required.


There is no required book for this class, and you might find books, webpages, videos, and friends of limited use. I recommend that you be totally focussed in class, avoid sitting in the back, and either forgo or share in note taking.

Some students assume that a cryptography class is like a computer security class. It’s not. This class is a theory class, closer to ECS 120 than anything else. If you struggle with theory, you’ll struggle here.

Grade Distribution — Ambivalence

Over the years, there’s been extreme grade inflation in the CS Department. (This is by no means unique to UCD CS; it’s been happening all over.) To make matters worse, the extent to which grades are inflated isn’t uniform: different professors assign wildly different grade distributions, often corresponding to the classes being taught at very different levels. Faculty grading guidelines might help to reduce grade inflation, increase fairness, and start to address the dumbing down of the curriculum. But CS faculty recently rejected, yet again, a proposal that would have formalized voluntary grading guidelines.

This has left me more conflicted than ever about what sort of grades I should assign at the end of this term. For decades I taught highly challenging classes where the median grades would usually end up about 55% and there’d be a fat distribution in raw scores (typical example). Letter grades would reflect the huge range in student performance. But each year I teach I would struggle more in drawing the lines, knowing that how I was teaching, and grading, was becoming tougher than most peers. At the end of each term, I would make multiple passes over course records, and shift grades up. For this last term at UCD, I haven’t been able to decide where things will fall. If it’s important to you that grading be easy, find a different professor. Students seem to know who they are.

Parting Thoughts

This is my last term at UCD. I had actually planned to retire last summer, but stayed on largely because some students really wanted to take this class with me, or to take the Black Mirror class that I’m also teaching, an ECS189. It’s a bittersweet time. There are some wonderful things about having spent my career as a cryptographer and a UCD professor—and some not-so-wonderful things, too. Perhaps we will pause every now and then to discuss such matters. Most of us professors are keen to convey facts and techniques, but less concerned with fostering perspective or introspection.

Have a good term. Do well and do good.

Phil Rogaway
Davis, California, USA
March 2024