# STARK Week
**Goal:** be able to explain, build, and build on top of STARKs.
**Method:** each section (reading/watching/doing) is ordered, but mix & match between sections to optimize for focus, repetition, and direct practice.
Thanks to [Miden](https://github.com/maticnetwork/miden), [Winterfell](https://github.com/novifinancial/winterfell) and [ZK Hack](https://zkhack.dev) discord for excellent resource curation.
## Reading
### By StarkWare:
* [STARK 101 Mathematical Primer (wayback machine)](https://web.archive.org/web/20210301035947/https://starkware.co/developers-community/stark101-onlinecourse/stark-101-mathematical-primer/)
* [STARK Math: The Journey Begins](https://medium.com/starkware/stark-math-the-journey-begins-51bd2b063c71)
* [Arithmetization I](https://medium.com/starkware/arithmetization-i-15c046390862)
* [Arithmetization II](https://medium.com/starkware/arithmetization-ii-403c3b3f4355)
* [Low Degree Testing](https://medium.com/starkware/low-degree-testing-f7614f5172db)
* [A Framework for Efficient STARKs](https://medium.com/starkware/a-framework-for-efficient-starks-19608ba06fbe)
* [StarkDEX Deep Dive - The STARK Core Engine](https://medium.com/starkware/starkdex-deep-dive-the-stark-core-engine-497942d0f0ab)
### By Vitalik:
* [STARKs Part I: Proofs with Polynomials](https://vitalik.ca/general/2017/11/09/starks_part_1.html)
* [STARKs Part II: Thank Goodness It's FRI-day](https://vitalik.ca/general/2017/11/22/starks_part_2.html)
* [STARKs Part III: Into the Weeds](https://vitalik.ca/general/2018/07/21/starks_part_3.html)
### The STARK Paper
https://eprint.iacr.org/2018/046
## Watching
* [State of STARK by Eli Ben-Sasson](https://www.youtube.com/watch?v=JecQh9wGFU8)
* [slides](https://drive.google.com/file/d/1Osa0MXu-04dfwn1YOSgN6CXOgWnsp-Tu/view)
* [STARK@Home](https://www.youtube.com/playlist?list=PLcIyXLwiPilUFGw7r2uyWerOkbx4GFMXq)
## Doing
* Build a STARK (tutorials)
* STARK 101
* Winterfell Examples
* STARK Anatomy
* Write an explanation of STARKs to check for gaps in understanding. Fill gaps. Rinse & repeat.
* Build something on [StarkNet](https://starknet.io/)
* https://starknet.io/docs/hello_starknet/index.html
### Tutorial 1: STARK 101
https://github.com/starkware-industries/stark101
Their course page on their site no longer works, so video & github links for each lesson are below.
1. Go through the original lessons to build the STARK proof for Fibonacci Square
2. Choose a different statement to prove and create a proof for it directly in Python (instead of notebook)
* **Lesson 1 | Part I: Statement, LDE & Commitment**
* Video: [https://www.youtube.com/watch?v=Y0uJz9VL3Fo](https://www.youtube.com/watch?v=Y0uJz9VL3Fo)
* Github: [https://github.com/starkware-industries/stark101/blob/master/tutorial/Stark101-part1.ipynb](https://github.com/starkware-industries/stark101/blob/master/tutorial/Stark101-part1.ipynb)
* **Lesson 2 | Part II: Polynomial Constraints**
* Video: [https://www.youtube.com/watch?v=Y0uJz9VL3Fo](https://www.youtube.com/watch?v=fg3mFPXEYQY)
* Github: [https://github.com/starkware-industries/stark101/blob/master/tutorial/Stark101-part2.ipynb](https://github.com/starkware-industries/stark101/blob/master/tutorial/Stark101-part2.ipynb)
* **Lesson 3 | Part III: FRI Commitment**
* Video: [https://www.youtube.com/watch?v=gd1NbKUOJwA](https://www.youtube.com/watch?v=gd1NbKUOJwA)
* Github: [https://github.com/starkware-industries/stark101/blob/master/tutorial/Stark101-part3.ipynb](https://github.com/starkware-industries/stark101/blob/master/tutorial/Stark101-part3.ipynb)
* **Lesson 4 | Part IV: The Proof**
* Video: [https://www.youtube.com/watch?v=CxP28qM4tAc](https://www.youtube.com/watch?v=CxP28qM4tAc)
* Github: [https://github.com/starkware-industries/stark101/blob/master/tutorial/Stark101-part4.ipynb](https://github.com/starkware-industries/stark101/blob/master/tutorial/Stark101-part4.ipynb)
* **Lesson 5 | STARK 101 – Finale**
* Video: [https://www.youtube.com/watch?v=iuNbrTkH2ik](https://www.youtube.com/watch?v=iuNbrTkH2ik)
### Tutorial 2: Build a STARK prover + verifier with Winterfell
Work through the trivial example in the Winterfell docs, then do it again with a different computation.
https://docs.rs/winterfell/latest/winterfell/
### Tutorial 3: STARK Anatomy
*Don't just read through the text and examples. Take notes & code it up fully yourself.*
https://aszepieniec.github.io/stark-anatomy/