PROMOTION: We are running a promotion on our courses for EVERYONE.
FREE SAMPLE CLASSES: You may try our free sample classes by completing our course registration form.
Achievements
37
USAAIO Round 2 Qualifiers
晋级USAAIO第二轮
26
USAAIO Round 2 Medalists
USAAIO第二轮获得奖牌
8
USAAIO Campers
USAAIO国家集训队
15
National Team (such as USA, Canada, China) Members for IOAI/IAIO
参加IOAI/IAIO的国家队(例如美国,加拿大,中国)队员
10
IOAI/IAIO Medalists
IOAI/IAIO获奖

Beaver-Edge AI Institute
in partnership with USAAIO
Courses

Our advise on how to strategically, wisely and effectively use our curriculum to prepare for AI Olympiads:
-
(Curriculum system) We offer a complete set of AI Olympiads training courses all year around. Our courses are rolled over every quarter (4 times per year), not just one round for 2025 USA-NA-AIO only.
-
(Optimal learning pace) Although 10 courses are all simultaneously offered, every student/parent shall make your own decision (we definitely welcome you to consult us if you have any question) how many courses you plan to take in each quarter. A reasonable study plan is to complete all courses in two years. Therefore, a reasonable workload for majority is 1-2 courses per quarter.
-
If your learning pace is 1 course per quarter, you will finish our curriculum in 2 years.
-
If your learning pace is 2 courses per quarter, you will finish our curriculum in 1 year.
-
-
(Advice for students in Grade 10 or below) If you do not have too much AI background and feel too pressured to master all materials in our entire curriculum in 1-2 months prior to 2025 USA-NA-AIO, please slow down and relax. You still have opportunities to take 2026 USA-NA-AIO or even more editions afterwards. Therefore, please strategically plan your learning schedule and learn step by step.
AI 100 Markdown Programming for AI
-
Course contents
-
Text formatting
-
Writing code
-
Writing AI-related math
-
-
Prerequisite(s)
-
None
-
-
Takeaways after completing this course
-
Be ready to write solutions in paper-based competition (solutions shall be written on ipynb files, such as Google Colab text cells)
-
Be ready to take
-
AI 200 Mathematical Methods for AI
-
-
-
Duration
-
2 hours
-
-
FAQs
-
Click here
-
AI 200 Mathematical Methods for AI
-
Course contents
-
Linear algebra
-
Space, subspace, basis, orthonormal vectors
-
Vector/matrix operations
-
Eigenvalues, eigenvectors
-
Matrix decompositions
-
-
Calculus
-
Single-variable derivatives
-
Multi-variable derivatives and gradients
-
Chain rule
-
-
Probability and statistics
-
Discrete distributions
-
Continuous distributions
-
Mean
-
Variance, covariance
-
Bayes' rule
-
-
Convex optimization
-
Convexity
-
Gradient descent
-
Duality
-
-
-
Prerequisite(s)
-
AI 100 Markdown Programming for AI
-
K-12 math course: Algebra 2
-
Prerequisite test: Click here
-
-
Takeaways after completing this course
-
Be on the halfway of earning Honor Rolls in USAAIO Round 1
-
Be ready to take
-
AI 210 Coding for AI 1 - Advanced Python Techniques and Fundamental AI Libraries
-
-
-
Duration
-
20 hours
-
-
FAQs
-
Click here
-
AI 210 Coding for AI 1 - Advanced Python Techniques and Fundamental AI Libraries
-
Course contents
-
Advanced Python techniques for AI
-
NumPy
-
Pandas
-
Matplotlib
-
Seaborn
-
-
Prerequisite(s)
-
AI 100 Markdown Programming for AI
-
AI 200 Mathematical Methods for AI
-
Prerequisite test: Click here
-
-
Takeaways after completing this course
-
Be ready to earn Honor Rolls in USAAIO Round 1
-
Be ready to take
-
AI 300 Machine Learning 1
-
-
-
Duration
-
20 hours
-
-
FAQs
-
Click here
-
AI 300 Machine Learning 1
-
Course contents
-
Linear regression
-
Bias-variance trade-off
-
Regularization
-
Kernel methods
-
k-nearest neighbors
-
Cross validation
-
Logistics regression
-
-
Prerequisite(s)
-
AI 200 Mathematical Methods for AI
-
AI 210 Coding for AI 1 - Advanced Python Techniques and Fundamental AI Libraries
-
Prerequisite test: Click here
-
-
Takeaways after completing this course
-
Be on the half way of earning High Honor Rolls in USAAIO Round 1
-
Be ready to take
-
AI 400 Machine Learning 2
-
-
-
Duration
-
20 hours
-
-
FAQs
-
Click here
-
AI 310 Coding for AI 2 - PyTorch
-
Course contents
-
Tensors
-
Autograd
-
Devices
-
Modules
-
Datasets
-
Dataloader, collation
-
Losses
-
Optimizers
-
-
Prerequisite(s)
-
AI 210 Coding for AI 1 - Advanced Python Techniques and Fundamental AI Libraries
-
Prerequisite test: Click here
-
-
Takeaways after completing this course
-
Be ready to earn High Honor Rolls in USAAIO Round 1
-
Be ready to take
-
AI 410 Deep Learning and Computer Vision 1
-
-
-
Duration
-
20 hours
-
-
FAQs
-
Click here
-
AI 400 Machine Learning 2
-
Course contents
-
Support vector machines
-
k-means clustering
-
Dimensionality reduction
-
Principal component analysis
-
Decision trees
-
Random forests
-
Boosting
-
-
Prerequisite(s)
-
AI 300 Machine Learning 1
-
-
Takeaways after completing this course
-
Be on the half way of earning Distinguished Honor Rolls in USAAIO Round 1
-
Be ready to take
-
AI 410 Deep Learning and Computer Vision 1
-
-
-
Duration
-
20 hours
-
AI 410 Deep Learning and Computer Vision 1
-
Course contents
-
Multi-layer perceptron model
-
Forward propagation
-
Activation functions
-
Gradient descent
-
Adaptive moment estimation
-
Backpropagation
-
Parameter initialization
-
Batch normalization
-
Dropout
-
Convolutional layers
-
Pooling layers
-
Convolutional neural network
-
Image data augmentation
-
VGG
-
ResNet
-
GoogLeNet
-
Transfer learning
-
-
Prerequisite(s)
-
AI 300 Machine Learning 1
-
-
Takeaways after completing this course
-
Be ready to earn Distinguished Honor Rolls in USAAIO Round 1
-
Be ready to take
-
AI 500 Transformers
-
-
-
Duration
-
20 hours
-
AI 500 Transformers
-
Course contents
-
Self-attention
-
Cross-attention
-
Masked self-attention
-
Layer normalization
-
Word embedding
-
Positional encoding
-
Inference
-
Training
-
Batch processing
-
Pre-training
-
Fine-tuning
-
BERT, T5, GPT
-
-
Prerequisite(s)
-
AI 400 Machine Learning 2
-
AI 410 Deep Learning and Computer Vision 1
-
-
Takeaways after completing this course
-
Be on the way of earning medals in USAAIO Round 2
-
Be on the way of potentially qualify for USAAIO training camp
-
Be on the way of potentially qualify for being on national team for international Olympiads
-
Be ready to take
-
AI 510 Natural Language Processing and Graph Neural Networks
-
-
-
Duration
-
20 hours
-
AI 510 Natural Language Processing and Graph Neural Networks
-
Course contents
-
Character tokenization
-
Subword tokenization
-
Word tokenization
-
Word embedding method: Skip-gram
-
Word embedding method: Continuous bag of words
-
Word embedding method: Global vectors
-
Encoder-only transformers: BERT
-
Decoder-only transformers: GPT
-
Case study: IOAI contest problems
-
Message-passing neural networks
-
Graph convolutional networks
-
Graph attention networks
-
Vision transformers
-
-
Prerequisite(s)
-
AI 500 Transformers
-
-
Takeaways after completing this course
-
Be on the way of earning medals in USAAIO Round 2
-
Be on the way of potentially qualify for USAAIO training camp
-
Be on the way of potentially qualify for being on national team for international Olympiads
-
Be ready to take
-
AI 520 Computer Vision 2 and Generative AI
-
-
-
Duration
-
20 hours
-
AI 520 Computer Vision 2 and Generative AI
-
Course contents
-
Object detection
-
Adversarial attack
-
UNet
-
Autoencoder
-
Generative adversarial network
-
Variational autoencoder
-
Denoising diffusion probabilistic method
-
Stable diffusion
-
Case study: IOAI contest problems
-
-
Prerequisite(s)
-
AI 510 Natural Language Processing and Graph Neural Networks
-
-
Takeaways after completing this course
-
Be ready to earn medals in USAAIO Round 2
-
Potentially qualify for USAAIO training camp
-
Potentially qualify for being on national team for international Olympiads
-
-
Duration
-
20 hours
-
FAQs for AI 100
Why is markdown programming the first course in your AI Olympiad curriculum?
First, USAAIO has a paper-based component in its contest. It requires students to typeset math symbols and text responses using markdown programming, such as in text cells in Google Colab. Therefore, students need to learn how to use markdown programming.
Second, for the coding-based component in USAAIO, students may need to annotate parts of their code, such as explaining how a snippet of code is derived mathematically. Students are required to add such annotations using markdown programming.
Third, in our other courses, students are likely to ask instructors many questions. Markdown programming is an effective language for communicating about math and coding.
FAQs for AI 200
This course teaches linear algebra. I have heard that it is a very hard subject to learn. What math background do I need to be ready for linear algebra?
The only prerequisite is Algebra 2 from your K-12 math curriculum. We understand this answer may seem surprising, as many high schools do not offer linear algebra courses. Even in schools that do, students are often required to pass AP Calculus before enrolling in linear algebra. However, we stand by our answer that Algebra 2 provides a sufficient background. Here are the reasons:
-
Linear algebra does not involve calculus.
There is no differentiation or integration in linear algebra, so a calculus background is not required. -
The perceived difficulty of linear algebra comes from two factors:
-
Abstract concepts and unique ways of thinking: Linear algebra problems require a different mindset compared to other math branches, such as geometry or calculus.
-
Lack of skilled instructors: Many instructors lack deep insight into linear algebra, making it challenging for them to teach the subject clearly and intuitively.
Our course overcomes these challenges completely:
-
Intuitive teaching approach: While linear algebra belongs to algebra, many of its concepts and techniques can be better understood through geometry. This will be our primary teaching method.
-
Experienced instructors: Our instructors have several decades of experience teaching and applying linear algebra in diverse fields, such as mathematics, physics, computer science, engineering, and economics.
-
-
Focused content:
Our course does not cover every aspect of linear algebra. Instead, we focus solely on the topics needed for AI, ensuring a streamlined and relevant learning experience.
This course has a calculus component. Does that mean the prerequisite is AP Calculus AB/BC?
No.
-
We do not cover all topics in calculus.
The course focuses only on the concepts used in AI, such as the chain rule for computing derivatives. Many topics covered in AP Calculus AB/BC, such as solving differential equations and performing complicated integrals, are beyond the scope of this course. -
We start from the fundamentals.
The course begins with the basic concepts of calculus, so students who have never studied calculus before can easily follow along. -
Advanced content for those with prior calculus experience.
Students who have already taken AP Calculus AB/BC will still learn new material, such as computing partial derivatives in multivariable calculus and using Lagrangian duality to solve continuous-variable constrained optimization problems.
What is the relationship between this course and math Olympiad courses, such as AMC/AIME training courses? Should I take AMC math competition prior to taking this course?
This course and math Olympiad training courses are completely different. The mathematical knowledge and skills required for AI are very different from those tested in math Olympiads, such as AMC, AIME, USAMO, and IMO.
For example, calculus and linear algebra, which are fundamental to studying AI, are not tested in math Olympiads.
Therefore, if a student has never participated in math Olympiads or their related training courses, it does not disadvantage them in taking this course. On the other hand, for students who have been involved in math Olympiads, this course is still valuable as it teaches a completely different set of mathematical knowledge and skills specifically tailored for AI.
FAQs for AI 210
The prerequisite for this course is that students need to know the fundamentals of Python. However, this description is too vague. What exactly does "fundamentals" mean?
When we say "fundamental," we mean that you only need to know the basics of Python before taking this course. There is no requirement to be familiar with advanced topics or techniques in Python. To be more specific, if you can understand the topics and answer questions from the following chapters in the W3Schools Python Tutorial, you are well-prepared to enroll in our class:
-
Python Syntax: https://www.w3schools.com/python/python_syntax.asp
-
Python Comments: https://www.w3schools.com/python/python_comments.asp
-
Python Variables: https://www.w3schools.com/python/python_variables.asp
-
Python Data Types: https://www.w3schools.com/python/python_datatypes.asp
-
Python Numbers: https://www.w3schools.com/python/python_numbers.asp
-
Python Casting: https://www.w3schools.com/python/python_casting.asp
-
Python Strings: https://www.w3schools.com/python/python_strings.asp
-
Python Booleans: https://www.w3schools.com/python/python_booleans.asp
-
Python Operators: https://www.w3schools.com/python/python_operators.asp
-
Python Lists: https://www.w3schools.com/python/python_lists.asp
-
Python Tuples: https://www.w3schools.com/python/python_tuples.asp
-
Python Sets: https://www.w3schools.com/python/python_sets.asp
-
Python Dictionaries: https://www.w3schools.com/python/python_dictionaries.asp
-
Python If-Else: https://www.w3schools.com/python/python_conditions.asp
-
Python For Loops: https://www.w3schools.com/python/python_for_loops.asp
-
Python Functions: https://www.w3schools.com/python/python_functions.asp
-
Python Lambda: https://www.w3schools.com/python/python_lambda.asp
By understanding these topics, you will be fully prepared to succeed in our course.
What is the relationship between this course and USACO training courses?
Although both USAAIO and USACO involve coding tasks, these two Olympiads require completely different coding skills.
First, all coding tasks in USAAIO must be completed using Python. By contrast, in USACO, when you advance to higher divisions, such as Gold, you typically need to use C++.
Second, in USAAIO, you need to know how to work with AI-related libraries in Python, such as NumPy, pandas, matplotlib, and seaborn. However, these libraries are not part of USACO.
Therefore, enrolling in this course does not require any prior experience with USACO. For those who have participated in USACO, you can still take this course as long as you are familiar with the basics of Python.
Additionally, this course is valuable even for students with USACO experience because the AI-focused libraries and coding skills taught here are not covered in USACO but are essential for success in the AI Olympiad.
FAQs for AI 300
What prerequisites are required prior to taking AI 300?
Students need to know AI 200 and AI 210 prior to enrolling in AI 300.
First, AI 300 assumes that students have necessary mathematical backgrounds, such as linear algebra, optimization and probability. In AI 300, we treat machine learning models in a rigorous way. For instance, in the linear regression model, we comprehensively use linear algebra and optimization to derive the formula of the mean-squared error estimator. Students who lack necessary math backgrounds will be lost even in our first class.
Second, AI 300 assumes that students have necessary coding background, particularly NumPy. For instance, we need to make a variety of manipulations of multi-dimensional NumPy arrays, such as swapping two dimensions, reshaping an array, and doing broadcasting. Students are required to program every machine learning model from scratch by using NumPy. Therefore, NumPy is a prerequisite.
S
For those machine learning models covered in AI 300, do students learn how to mathematically derive them, or how to program them?
Both are required. The rule of thumb is that we start from the first principle. For instance, while teaching students logistic regression model, we start from teaching students how to formulate the problem as a mathematical optimization problem. To use gradient descent algorithm to solve it, we teach students to derive its gradients. After completing these math tasks, we then use these results to program from scratch to build a logistic regression model.
Do I need to know Sklearn prior to taking AI 300?
No. This is not a prerequisite.
First, our course emphasizes on the first principle that students need to build all machine learning models from scratch without using any high-level API, such as Sklearn, that students can use without even knowing the mechanism behind those models.
Second, in AI 300, after teaching each model, we will show students the implementation of that model in Sklearn. This allows us to check results generated from both our own model and Sklearn to ensure that our model is correct. In this step, students can quickly learn how to use Sklearn.
Is AI 300 a prerequisite of taking any deep learning course?
The answer is mixed, both yes and no.
The reason of saying "yes" is as follows.
If you have sufficient time to prepare for AI Olympiads (at least half a year), we recommend you to take AI 300 prior to taking deep learning courses.
First, some methods and concepts in deep learning are learned in AI 300, such as cross entropy, overfitting.
Second, AI 300 is a good chance to improve student's skills of using math and NumPy to do AI.
The reason of saying "no" is as follows.
First, many topics in deep learning are not based on classical machine learning models. Second, most deep learning models require students to program in PyTorch (covered in AI 310), not NumPy.
To summarize, if you have at least half of year to prepare for AI Olympiads, we suggest you to learn AI 300 and deep learning courses (such as AI 410) in order. Otherwise, if time is too short for you, then you may consider to take both AI 300 and deep learning courses together.
FAQs for AI 310
What prerequisites are required prior to taking AI 310?
Students need to know AI 210 prior to enrolling in AI 310. Reasons are as follows.
1. Tensors resemble NumPy arrays
PyTorch tensors are modeled after NumPy arrays. Learning NumPy first makes PyTorch’s tensor operations intuitive and familiar.
2. Matching syntax and broadcasting
PyTorch adopts NumPy-like syntax for operations like slicing, reshaping, and broadcasting. This reduces the learning curve dramatically.
3. Data preprocessing depends on NumPy
Most raw data is loaded and cleaned using NumPy or Pandas before being converted to PyTorch tensors. You need NumPy to prepare data for model input.
4. Debugging with NumPy
NumPy helps verify PyTorch computations by serving as a trusted reference. You can use it to double-check shapes, math, and expected outputs.
Is AI 310 a prerequisite of taking any deep learning course?
Yes.
AI 310 is about PyTorch programming. All deep learning models in subsequent courses use PyTorch.
Is GPU needed for AI 310?
Yes. You may need to move tensors to GPUs to accelerate your computation.
Both PyTorch and TensorFlow are used in deep learning. Why AI 310 teaches PyTorch, not TensorFlow?
First, all AI Olympiads, such as USAAIO, IOAI, used PyTorch, not TensorFlow.
Second, in many university deep learning courses and research, students are required to use PyTorch to do homework and projects.
Third, PyTorch has better debugging experience.