Teaching at MIT


6.893: Cryptographic Systems for Protecting Privacy - Instructor

This graduate-level cryptography course explores a number of beautiful cryptographic ideas for keeping sensitive data safe. In parallel, it considers why so few of these ideas make their way into real systems. What are the technical, economic, and social barriers to deploying privacy technologies? And even if we could use these privacy technologies in practice, to what extent would they address the most important privacy threats we face?


Teaching at Stanford


CS355: Topics in Cryptography - Co-Instructor

In Spring 2019, Dima Kogan, Florian Tramèr, and taught Stanford's 38-student advanced course on cryptography. This iteration of the course covered standard cryptographic protocols, privacy-enhancing technologies, lattices, and classical cryptanalysis.

Selected comments from the anonymous course reviews:

Best class I have taken at Stanford so far. Dima, Florian, and Henry are experts in their field. They also happen to be super passionate, funny, clear, and compassionate instructors. It is clear that this is class is designed to have you deeply appreciate incredible results in cryptography with as little stress and as much as support as possible.
Fantastic course! You'll learn a great deal about some really interesting topics in crypto (fully homomorphic, multi-party computation, differential privacy, etc.). All the instructors are fantastic and know a lot about their material. Start early on the problem sets!
One of the best courses I've taken at Stanford. A great followup to CS255 if you liked the material there. I was initially intimidated by the mathematical formality of the psets, but I persisted and it was totally worth it. The instructors are PhD students who know their stuff so well and they clearly love to teach this material. They're the nicest, most amazing instructors. I'm so glad that I took this course. Highly recommended!
Don't be fooled by the fact that it's just 5 psets that "that's it" - this class is a lot of work and the problem sets are HARD. But as someone really interested in crypto, they were really fun to think through and attack. This course will solidify your ability to write crypto proofs, do fancy things like hybrid arguments, and teach you how to do magic with math!!


CS355: Topics in Cryptography - Co-Instructor

In Spring 2018, David Wu, Sam Kim, and taught Stanford's 37-student advanced course on cryptography. Our version of the course covered cryptographic protocols, lattice-based cryptography, and recent real-world applications of modern cryptography.

Selected comments from the anonymous course reviews:

An absolutely amazing class with some of the most dedicated and talented instructors I have had. I would even say that this was the best teaching staff I've had at Stanford. The material is fascinating although quite difficult at times. Strongly suggest taking the course if you have the chance!
You guys made it as simple as possible but no simpler. I really appreciate all the time and effort into planning the lectures, making perfect lecture notes, and constructing psets that challenge but not stump us. Thanks for the absolutely phenomenal quarter!
Take it!!!! It's amazing.
Easily one of the best CS classes I've taken at Stanford.
This was an amazing course. The instructors are clearly passionate about the subject and put in a lot of effort preparing and setting up the course. The problems sets are rewarding and very fun.
Best theory class I've taken so far. Really.


CS359C: Classics of Cryptography - Co-Instructor

In 2017, David Wu and I designed and taught a seminar course on topics in cryptography. The goal of the course was to expose students to some of our favorite "classic" topics in cryptography and to give them a taste of research through a quarter-long independent project.

Selected comments from the anonymous course reviews:

I'm really impressed with how much work Henry and David put into lectures. They prepared and explained the material really well, and I really appreciated that they were always open to questions and feedback. They are also super energetic lecturers and it's really evident how excited they are about the research themselves, and how excited they are for you to learn the material.
Amazing class - really thorough instruction, great in-depth look at the history and current state of crypto.


CS255: Introduction to Cryptography - Course Assistant

In 2016, I served as one of five teaching assistants for Stanford's 217-person introductory cryptography course. In that role, I gave two guest lectures in the course and designed a new programming project designed to expose students to the intricacies of the TLS protocol.

Selected comments from the anonymous course reviews:

Henry was incredibly helpful both in person and with his responses on Piazza. I wouldn't have learned the material taught in this course nearly as well without his assistance.
You show a lot of enthusiasm for crypto, it's infectious.
Henry was great. Amazingly well taught sections.
TA displayed exceptional knowledge of the subject matter and ability to teach the subject matter. Moreover, this TA displayed leadership and ownership of the course, both in terms of dealing with assignments and questions, providing extra material and explanations on the online class forum, and displaying a significant commitment to the subject matter. An exemplary instructor and role model for students in the cryptography field.
Learned a lot during Henry's lectures and whenever he commented on Piazza. An excellent educator.
Henry gave very clear, thoughtful and reasoned explanations for ideas explained in class (especially number theory stuff), and was extremely helpful with providing homework hints and advice. A huge thanks for the amount of time and effort he invested in helping us all learn!