top of page

Intro to Web3 Development

ZK Circuit Programming
Bootcamp

This course will exclusively use the Circom programming language. This is one of the most mature zero-knowledge programming languages; Tornado Cash and Semaphore use it. By using Circom, developers will develop a deeper understanding of how higher-level languages like Noir and Cairo work under the hood.

Next Cohort:

1st Feb 2024 | 9:00AM EDT

Bootcamp Curriculum

Last Updated: December 2023

Week 1: Arithmetic Circuits

Week 2: Introduction to Circom

Week 3: Non-deterministic Inputs

Week 4: The Quin Selector and Data Structures

Week 5: Proving the correct execution of hash functions

Week 6: Build a simple ZK VM

Week 7: Bonus topics

FAQs

What is the relationship to the ZK Bootcamp?

There are two levels to ZK: one is encoding an application as a circuit, and the second is proving you have a solution to the circuit without revealing it. The ZK Bootcamp focuses

Which bootcamp should I take first?

It doesn’t matter. You can take them in either order.

What background should I have?

You should at least have a rough idea about what ZK Proofs do (there are a lot of tutorials for that online). You should have enough mathematical maturity to understand the basics of modular arithmetic. Basics of hash functions and virtual machines is assumed.

How much time should I set aside per week?

The lecture take 1 hour per week. There is also an optional office hour every week. Please set aside 5-8 hours each week to do the homework.

bottom of page