

Unlock Your Coding Potential
FREE Online Math/Coding Classes!
Classes start soon, sign up now!
Math Contest Registration Forms
https://forms.gle/Go6WpSmhQP5aLiDw6
(classes every Saturday from 10 AM to 12 PM)
Junior Class Registration Forms (for students with NO prior coding experience)
https://forms.gle/zpVhfRJVZi6aAhCX7
(classes every Saturday from 4:00 PM to 5:30 PM)
Intermediate Class Registration Forms (for students with SOME coding experience)
https://forms.gle/LVkSuiUSmb9ze4pL6
(classes every Sunday from 6:00 PM to 7:30 PM)
Senior Class Registration Forms (for students with more competitive programming experience)
https://forms.gle/LVkSuiUSmb9ze4pL6
(classes every Saturday from 8:00 PM to 9:45 PM)
Our
Classes

Class Format
Classes take place ONLINE through Google Meet every week.
Assignments will be completed using Google Classroom.
​​​
For any questions, email us at algorithm.alchemists@gmail.com
Course Outline (Junior)
Description: Covers the basics of programming in Python.
​
The following topics are going to be covered:
-
Print & comments & planning
-
Input & variables
-
Data types & type casting & operators
-
Conditionals & if/else
-
Flow charts & IPO & while loops
-
Lists
-
For loops
-
Functions & try…except
-
Dictionaries
-
Final Assignment
-
Intro to comp programming (DMOJ, etc)
Course Outline (Intermediate)
Description: Covers the basics of competitive programming in Python and Java​ in preparation for the CCC Junior Division.
​
The following topics are going to be covered:
-
Introduction to DMOJ
-
Fast input
-
Loops
-
1D Arrays
-
2D Arrays
-
String Manipulation
-
Maps/Dictionaries
-
Brute Force
-
Greedy Algorithms
-
Ad Hoc
-
Handling subtasks
Course Outline (Senior)
Description: Covers more advanced competitive programming concepts in Python, Java, C++ ​ in preparation for the CCC Senior Division.
​​​​
The following topics are going to be covered:
-
All Intermediate content
-
Binary search
-
Backtracking
-
BFS (breadth-first search)
-
DFS (depth-first search)
-
Prefix Sum Array and Difference Sum Array
-
Dijkstra’s
-
Minimum Spanning Tree (Prim’s and Kruskal’s)
-
Disjoint Set Union
-
Dynamic Programming
Course Outline (Contest Math)
Description: Covers math theorems and problem solving techniques used for Waterloo math contests, including the Euclid, FGH, CSMC/CIMC, etc
​​​​
The following topics are going to be covered:
-
Exponents and Logarithms (properties)
-
Trigonometry (sine law, cosine law, identities, compound angle formulas)
-
Functions, Equations and Polynomials (inequalities)
-
Analytic Geometry (slopes, equation of lines, midpoint, distance formula)
-
Sequences and Series (telescoping series, recursive sequences)
-
Euclidian Geometry (area, volume, Pythagorean theorem, similarity and congruence, angles, circle properties)
-
Counting and Probability (combinations, permutations, pigeonhole principle)
-
Properties of Numbers (divisibility rules)
What are Waterloo contests?
Waterloo contests are prestigious academic competitions organized by the University of Waterloo, aimed at challenging and recognizing high school students across Canada and beyond.
In mathematics, contests like the Gauss, Pascal, Cayley, Fermat, Euclid, and CSMC test students’ problem-solving skills and logical reasoning at various grade levels. These math competitions are highly regarded by universities and can significantly strengthen post-secondary applications.
For computer science, the Canadian Computing Competition (CCC) is held every February and features both Junior and Senior divisions. Performing well in the CCC can greatly boost your chances of admission to top-tier Canadian universities, especially in competitive programs.

About Algorithm Alchemists
Algorithm Alchemists is a non-profit organization that teaches coding to elementary and high school students through online classes. We believe that learning to code should be fun and engaging. Our passionate high school student teachers provide the right amount of homework, so students can master Python and move on to more advanced programming languages and concepts.
Our Mission
At Algorithm Alchemists, our mission is to inspire and empower the next generation of coders. We believe that coding is an essential skill that can unlock limitless opportunities for students.

Our Approach
We take a hands-on approach to learning, with interactive lessons and coding challenges that keep students engaged and motivated.
