[Prog] Programming Curriculum
[ACSL] ACSL Curriculum [Junior Division]
Saturday 5.30 - 6.30 PM PST [Programming]
Saturday 7.00 - 8.15 PM PST [ACSL] or [AI]
Over Zoom
October 2026 - May 2027
Session 1, October to December, covers the Python foundations: variables and data types, conditionals, loops, functions, lists and dictionaries, strings and files, debugging and testing, object-oriented programming, libraries and APIs, and Git and GitHub. Each class ends with a small project, such as a number-guessing game, a contact book, or a program that pulls live data from a public API.
Session 2, February to May, is about building real applications: how the web is built, HTML and JavaScript, databases and SQL, connecting an app to a database, security basics, payments in test mode, and deploying a site live. Students also learn to work with an AI coding agent: writing clear specifications, reading and reviewing generated code, and testing it. The year ends with a capstone app that each student demonstrates.
This class prepares students for the four contests of the American Computer Science League, Junior Division. Topics follow the contests:
- Contest 1: number systems, recursion, and "What Does This Program Do" with branching
- Contest 2: prefix, infix and postfix notation, bit-string flicking, and loops
- Contest 3: Boolean algebra, data structures, and arrays
- Contest 4: graph theory, digital electronics, and strings
Each class includes a recap, a new topic, practice problems and past ACSL questions, with mock tests before each contest.
Starting November 14, 2026. For grades 8-12 with some prior programming experience. Part 1 covers the foundations of data science: NumPy and Pandas, cleaning and visualizing real-world datasets, and machine learning with regression and classification. Part 2 covers modern AI: neural networks, pre-trained models, computer vision, how LLMs work, prompt engineering and AI agents, ending with class projects.