Beginner Programming (Python)
Saturdays 4-5:30 PM Pacific Time, biweekly (on programming weeks)
Classes focus on building a strong foundation in the Python programming language. Python is one of the most widely used general purpose programming languages, with countless applications across many fields such as data science and machine learning. Example concepts covered include:
Variables, Input/Output, and Operators
Loops and Conditionals
Lists, Strings, and Indexing
Functions and Object-Oriented Programming
Fun graphics and game modules such as Turtle and Pygame
More advanced features such as List Comprehension, Sorting/Lambda, and Sets/Dictionaries
However, students do not just learn syntax—one of the main skills developed is problem-solving, through challenging programming problems. Students who complete the beginner classes one year can expect to move up to the intermediate classes the following year.
Advanced Programming (USACO Bronze)
Saturdays 2:30-3:45 PM Pacific Time, biweekly (on programming weeks)
For students experienced in Python, Java, or C/C++. Classes prepare students for the first division (Bronze) of the USA Computing Olympiad, which requires an understanding of basic algorithms and data structures in addition to programming. Example topics include Time Complexity, Graphs, and Greedy Algorithms.
Saturdays 4-5:30 PM Pacific Time, biweekly (on theory weeks)