Fast Fourier Transform (FFT) for highschool kids

This project is a Jupyter notebook to understand FFT. Target audience: highschool kids

I saw a very interesting FFT algorithm explanation YouTube video by "Reducible"

The above video assumes only the following math topics:

  1. Polynomials
  2. Complex Numbers
  3. Matrices

Knowledge of a programming language is useful as well.

I think this explanation can be understood by a class XII CBSE student (equivalent to US high school senior year). The math requirements are covered by the syllabus. Python is taught as the programming language for "Computer Science" course as well. If you're little rusty with Python and need a quick refresher, you may want to check my CBSE Class XII Python tutorial

This Jupyter notebook is an attempt to connect relevant stuff so that a class XII student can attempt the fun of understanding FFT.

What is Jupyter notebook?

The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.

Do I have to install any software on my machine to make use of this project?

No. You can just click on the hyperlink above and read input/output of each Python expression/statement

If you want to edit & play with the expressions/statements, then you've two options:

  1. Click on any of the Jupyter notebook in Github. Change the domain from 'github.com' to 'githubtocolab.com'. The notebook will open in Google Colab. You can login with your google id to edit/play with it.

  2. You can choose to install Python and Jypyter notebook on your machine.

I recommend Anaconda. After you install Anaconda, you can then download the zip of this project or git clone this project to play with it on your local machine.