Code: CML31



For Grades


Target Competitions

This course aims to inspire in machine learning, provide project ideas, prepare students for the STEM project competitions both in theory and in practice. The level of the projects in the course is prestigious national / international competitions such as:



This course focuses on students with basic coding and math skills who are interested in learning about applying machine learning with real world data-science projects. Students will learn about the inner workings of fundamental machine learning algorithms, as well as learn to apply them hands on to data using Python.

The entire curriculum and the course content are developed by AlphaStar Academy, and is tailored to younger students. Developers:

  • Chris Pan (AlphaStar instructor since 2020)

Chris was a USACO finalist in 2018 and has since gone on to pursue his passions in programming and data science in Princeton University (Class of 2023). At Princeton he is an undergraduate researcher at the Natural Language Processing lab, where he works on understanding the emergent abilities of large language models (like ChatGPT!). After graduating in 2023, he plans to continue his passion for data-science by joining Hudson River Trading as a Quantitative Researcher in financial markets.

  • Fatih Gelgi, Ph.D. (AlphaStar Co-founder and CS Department Director)

Fatih is originally a computer scientist who has been working in computer science education since 2007. He earned his Ph.D. degree in computer science from Arizona State University in 2007. His specialization is theoretical machine learning and its applications in different fields. He is a former computer science olympian who started working in artificial intelligence in 1997. He wrote a fast and scalable artificial neural network library in 2002 in C++ since ANN libraries such as in Matlab were extremely slow and were not able to handle large models at that time. He worked in various machine learning projects and wrote many articles on both theory and the applications of machine learning. When he was a graduate student, he focused on creating / optimizing fast and scalable machine learning models for high dimensional large and semi-reliable data sets. Later, he developed activities to teach simple artificial intelligence and machine learning methods in his Scratch (a block-based programming language) courses for elementary school students.

Who should take this course?

This course requires approval after registration. The minimum requirements for this course is as follows:

  • Programming: Python, C++ or Java
  • Math: Algebra 1

Competition background is not required but is a plus: USACO Silver, AMC 10/12 or above


The course is composed of 12 lessons:
  • Lesson 1: Introduction, Data, Statistics
  • Lesson 2: K-means clustering
  • Lesson 3: Principal Component Analysis / dimensionality reduction
  • Lesson 4: Recommendation systems
  • Lesson 5: Lab: Netflix movies recommendations
  • Lesson 6: Linear models for regression
  • Lesson 7: Linear models for classification
  • Lesson 8: Neural networks for regression / classification
  • Lesson 9: Lab: Image classification
  • Lesson 10: Convolutional Neural Networks
  • Lesson 11-12: Final Project

Connect With Us