Skip to main content
14 Weeks of Online Classes

Zero Knowledge Bootcamp

In this bootcamp you will understand zero knowledge proofs so well that you can implement the Groth16 and Pinocchio algorithms without AI assistance.

Next Cohort:
Jul 14, 2026 at 8:00 AM EDT

Overview

Learn to code ZK-SNARKs without AI in 100 days

In this bootcamp you will understand zero knowledge proofs so well that you can implement the Groth16 and Pinocchio algorithms without AI assistance.

Additionally, you will gain the ability to explain cutting-edge algorithms to your peers, as explaining ZK concepts yourself is part of the course.

The entire study plan can be completed in less than 100 days.

This bootcamp is not for everyone: you must have a programming background, be comfortable with algebra, and have had some previous exposure to linear algebra (it’s okay if you forgot some of it).

If these prerequisites are missing, then it is impossible to teach zero knowledge proofs without misleadingly oversimplifying them.

How we do it

Zero knowledge has been a famously hard subject for programmers to learn. However, RareSkills has cracked the pedagogical puzzle.

The two biggest factors in rapid skill acquisition in difficult subjects are:

1.

Accountability to achievable targets

2.

Effective study

1. Accountability to achievable targets

Accountability

Committing to doing something for 30 minutes for 100 days is achievable for most busy professionals.

But achievable does not mean easy. Greater priorities like work and family leave little energy for study time.

Chances are, you have 30 minutes in your day to study.

However, you probably do not have the energy to study for 30 minutes a day after working 8 hours.

The RareSkills solution is tried and true: social structure around regular activity creates energy for that activity.

Class meets once a week, and each student’s progress is shared among the cohort. This creates light but productive pressure to stay caught up. The instructor monitors student activity and privately nudges the student away from cramming or skipping days.

Energy is a scarce resource — and this bootcamp will give you the energy to follow through on the 30 minute per day, 100 day study plan for zero knowledge proofs.

Achievable effort targets

Accountability is useless if the targeted activity is not realistically achievable. For example, you cannot be held accountable to complete a marathon tomorrow if you haven’t trained for it.

To this end, we heavily optimize for making 30 minutes of daily study achievable and productive.

This bootcamp consists of slightly over 270 “miniature challenges” that you complete on your own time. The lessons generally take less than 10 minutes to complete, so even busy professionals can find time to study.

We even mobile-optimized the platform so most of the lessons that don’t require coding can be done during awkward breaks in the day.

Here is a snippet of a study plan created for a student — there is no guesswork of what lesson will be done and when.

study plan created for a student

By eliminating the distraction of “what and how much should I study today” we help the student conserve valuable energy for actual study.

2. Effective study

Before we describe our study methodology, let’s see what other engineers have said about it:

“Legitimately 10x better than anything I’ve ever used” - Jayesh

“compelled to write back about how awesome the app is” - Krishang

“euphoric” - Eze

We cracked the code on how to use modern AI as an effective 1-1 tutor in a frontier subject

Imagine a senior cryptographer — who was also a good tutor — met with you every day for 30 minutes for 100 days.

Your chances of learning how to code a ZK-SNARK from scratch would be very high.

The principles of effective tutoring are well known, but hard to implement. Here are some examples:

1.

Challenge the student at the optimal level of difficulty

2.

Know when to drill and when to test for conceptual understanding

3.

Balance reviewing previous material with teaching new material

4.

Test the student’s knowledge in a way that encourages “enriched memorization” but discourages “rote memorization”

5.

Use creative visuals and interactive animations to help the student create compact mental models

6.

Ask the student to make connections between concepts they learn

7.

Guide the student through “constrained exploration” — let them rediscover major theorems and algorithms on their own, but with heavy scaffolding, guardrails, and concrete examples

8.

Require the student to think out loud so that incorrect thought processes can be fixed early

9.

Organically evoke “burning questions” in the student’s mind before introducing concepts that address them — instead of introducing topics because a syllabus requires it

10.

Never teach facts you won’t use later, i.e. “dangling knowledge.” Everything taught must be used later.

Effective tutoring is an optimization problem with numerous conflicting goals that require careful balancing.

At RareSkills, we know how effective tutoring works, and we know how to operationalize it with AI.

We use a combination of expert-crafted rules and an AI harness that accomplishes all of the above principles (and more) with a near-zero hallucination rate. In only 0.03% of interactions has the AI produced a demonstrably wrong answer or not followed instructions.

What is it like to interact with our AI tutor?

Our platform asks a corpus of human-created questions to progress through premade lessons.

Here is an example interaction where a student is learning how to create proofs for a Quadratic Arithmetic Program (QAP):

example interaction where a student is learning how to create proofs for a Quadratic Arithmetic Program (QAP)

The AI asks a wide variety of questions depending on the student’s needs. Here are some “types” of the questions students get asked:

Carry out the computation with concrete numbers and show your work

Produce an example of an abstract concept

Recite the concrete steps of an algorithm

Explain why this attack on a cryptography algorithm is not feasible

What would happen if we changed X — would the algorithm still work? Why or why not?

The app uses several teaching strategies, but the way it teaches new concepts tends to follow the pattern shown below:

follow the pattern shown below

For example, we never ask a student to prove a theorem immediately after encountering it. However, we do at some point guide the student through a proof if understanding the proof will make learning later subjects easier.

Every question is given a blank box response to avoid biasing the student with multiple choices or other unrealistic contextual clues. Below is an example interaction where the student must work through concrete numbers that illustrate a concept.

math example

Once the student has accumulated enough new information, the questions can be very open-ended — for example “tell me what you learned.”

free recall

Spaced repetition

It is extremely uncommon to learn a subject the first time we encounter it.

In fact, it is a feature that our brain throws away most of the information we encounter for the first time, otherwise our brains would be full of junk.

Memory takes effort, and the human brain naturally conserves energy.

To make memory happen, the brain needs a signal that the energy cost of not memorizing a concept exceeds the cost of memorizing the concept.

Thus, for concepts that are beneficial to memorize, we “raise the energy cost” of not memorizing the topics, but not to the point where the learning experience becomes unnecessarily unpleasant.

After you learn a topic, the app predicts the probability that you still remember the topic as time progresses. Right after you learn a new topic, especially through active questioning, there is a near 100% chance you remember it an hour later. However, this probability decays with time.

Once the probability drops to 90%, the app triggers a review of the subject. If you answer correctly, the “forgetting curve” is predicted to fall at a slower rate. The time you review the topic again is a function of whether you got the review correct.

The phenomenon is plotted below. As time passes, the probability of remembering something drops. But when a review happens, the probability of remembering jumps back to 100%.

probability of remembering

By spending less time “relearning” topics you forgot, you can spend less time learning overall.

This learning intervention is called spaced repetition.

What engineering leaders say about the RareSkills ZK bootcamp

ZK Bootcamp syllabus

Last updated on May, 2026

We cover the topics listed below. This should not be thought of as an exact sequence because topics are spread out and revisited throughout the course. Each of these topics was chosen because they:

are direct prerequisites to understanding ZK-SNARKs

serve as “real-world motivating intermediate goals” on the way to learning ZK-SNARKs

provide the vocabulary to succinctly describe recurring concepts

Here are the topics:

1.

Modeling computation with constraints, Rank 1 Constraint Systems, Quadratic Arithmetic Programs

2.

Modular arithmetic

3.

Elementary Abstract Algebra (subgroups, homomorphisms, finite fields)

4.

Elliptic curves over real numbers, rational numbers, and finite fields

5.

Pairings and cryptography algorithms that use pairings

6.

Polynomials in finite fields, Lagrange interpolation, Schwartz-Zippel lemma

7.

Trusted setups, proofs that polynomials vanish over a domain

8.

Pinocchio (Parno, Gentry, Howell and Raykova 2013)

9.

Groth16 (Jens Groth 2016)

This bootcamp is not a complete course on abstract algebra, number theory, and cryptography. We only teach the parts that are directly relevant to implementing ZK-SNARKs.

Want to learn more?

Put your email here and we'll send you some more materials and answer any questions you have.

Your Instructor

Course Instructor

João Paulo Morais

João Paulo Morais, a PhD in physics with 30+ academic publications, began programming in Pascal and Clipper. In 2021, he pivoted to Web3, blockchain, and cryptography, focusing on Ethereum and zero-knowledge proofs. He teaches a Solidity course on Udemy (in Portuguese) and has authored advanced articles on Solidity for RareSkills.

Flexible Plans

ZK Bootcamp Pricing

Next Cohort:
Jul 14, 2026 at 8:00 AM EDT
Save 2% if you pay with USDC or USDT

$2,600

/ Upfront

$1,000 × 3

/ Monthly
  • Learn to Code ZK-SNARKs from scratch. 30 minutes per day for 100 days
  • Weekly group calls
  • Human instructor help as needed
  • Lifetime membership in a community of industry leaders
Everything You Need To Know

Frequently Asked Questions

Unlock Your Potential

Job Opportunities

Growth Lead

Growth Lead

We're seeking a growth lead to scale HyperLink's adoption, TVL, and partner ecosystem.

Quantitative Researcher

Quantitative Researcher

We are looking for an exceptional quant to work on data science and machine learning problems in the blockchain space.

Head of DeFi

Head of DeFi

Monad Foundation, a core contributor to the Monad protocol, is looking for a Head of DeFi to lead the strategy, relationships, and hands-on execution that grows DeFi across the Monad network.