# SNARK Fundamentals: A Complete Beginner's Introduction

Is this course for me? \
\
This is a really important question to ask yourself before any commitment, regardless of its size. If you intend to do or learn anything related to this technology **and are not sure where to start,** then this course will be helpful to you. Most people, regardless of background, should be able to follow all the concepts presented here.&#x20;

In this adventure we will look at the defining characteristics of zkSNARK technology, a peak at some of the mathematics underlying it, and then a brief overview of some of the systems out there.

***

[Part 1 (What are SNARKs?)](/snark-fundamentals/part-1.md) of this course take you from:

{% hint style="success" %}
*no mathematical background ===> high-level understanding of SNARKs*
{% endhint %}

By the end of Part 1 you should have some intuition for what is and isn't possible with SNARK technology.

[Part 2 (Math to get to PLONK)](/snark-fundamentals/part-2.md) of this course take you from:

{% hint style="success" %}
*high-level understanding of SNARKs ===> functional understanding of SNARKs*
{% endhint %}

Part 2 will delve into the mathematics and applied aspects of SNARKs. After Part 2, you should be able to understand how and why SNARKs are able to verify computations.

[Part 3 (Proof systems in the wild) ](/snark-fundamentals/part-3.md)of this course take you from:

{% hint style="success" %}
*functional understanding of SNARKs ===> ability to meaningfully engage with SNARKS*
{% endhint %}

By the end of Part 3, you should have enough understanding about this technology to engage in high level, meaningful conversations about it. And hopefully know enough to start building.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://erroldrummond.gitbook.io/snark-fundamentals/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
