Link to textbook: Introduction to Algorithms and Machine Learning


Curriculum

Computation & Modeling

Prerequisites: AP Calculus AB/BC, Introduction to Programming, concurrent enrollment in Multivariable Calculus & Linear Algebra

Computation & Modeling is inspired by MIT's Introduction to Computer Science and goes far beyond it. In addition to implementing canonical data structures and algorithms (sorting, searching, graph traversals), students write their own machine learning algorithms from scratch (polynomial and logistic regression, k-nearest neighbors & k-means, parameter fitting via gradient descent). Students work primarily in Python.

This course interleaves through the following material:


Machine Learning

Prerequisites: Computation & Modeling, Multivariable Calculus & Linear Algebra

Machine Learning covers more advanced machine learning algorithms such as decision trees and neural networks, as well as the development of strategic game-playing agents using game trees. Students also work together to implement Space Empires, an extremely complex board game that pushes their large-scale project skills (object-oriented design, version control, etc) to the limit. Again, students implement algorithms from scratch before using external libraries. Students work primarily in Python and Node.js.

This course interleaves through the following material:


Intelligent Systems

Prerequisites: Machine Learning

Intelligent Systems involves developing agents that behave intelligently in complex environments. Students reproduce academic papers leading up to Blondie24, a neuroevolution-based game-playing agent that learned to play checkers without having any access to information regarding human-expert strategies, and continue implementing Space Empires with the goal of designing artificially intelligent agents to play it. Students work primarily in Python and Node.js.

This course interleaves through the following material: