Contest Python: ACSL
From Elementary to Senior, one contest at a time
Contents
16 units, 4 checkpoints, in the order the course teaches them.
- Unit 0: ACSL FoundationsExercises (15): Unit 0 — ACSL FoundationsSlides: Unit 0 — ACSL Foundations
- Unit 1: Computer Number SystemsExercises (21): Unit 1 — Computer Number SystemsSlides: Unit 1 — Computer Number Systems
- Unit 2: Recursive FunctionsExercises (16): Unit 2 — Recursive FunctionsSlides: Unit 2 — Recursive Functions
- Unit 3: What Does This Program Do? (Branching)Exercises (18): Unit 3 — What Does This Program Do? (Branching)Slides: Unit 3 — What Does This Program Do? (Branching)
- Checkpoint 1: Contest 1 PracticeQuestions (8): Checkpoint 1 — Contest 1 Practice
- Unit 4: Prefix/Infix/Postfix NotationExercises (23): Unit 4 — Prefix/Infix/Postfix NotationSlides: Unit 4 — Prefix/Infix/Postfix Notation
- Unit 5: Bit-String FlickingExercises (21): Unit 5 — Bit-String FlickingSlides: Unit 5 — Bit-String Flicking
- Unit 6: What Does This Program Do? (Looping)Exercises (19): Unit 6 — What Does This Program Do? (Looping)Slides: Unit 6 — What Does This Program Do? (Looping)
- Unit 7: LISPExercises (21): Unit 7 — LISPSlides: Unit 7 — LISP
- Checkpoint 2: Contest 2 PracticeQuestions (9): Checkpoint 2 — Contest 2 Practice
- Unit 8: Boolean AlgebraExercises (27): Unit 8 — Boolean AlgebraSlides: Unit 8 — Boolean Algebra
- Unit 9: Data StructuresExercises (21): Unit 9 — Data StructuresSlides: Unit 9 — Data Structures
- Unit 10: What Does This Program Do? (Arrays)Exercises (19): Unit 10 — What Does This Program Do? (Arrays)Slides: Unit 10 — What Does This Program Do? (Arrays)
- Unit 11: FSAs and Regular ExpressionsExercises (18): Unit 11 — FSAs and Regular ExpressionsSlides: Unit 11 — FSAs and Regular Expressions
- Checkpoint 3: Contest 3 PracticeQuestions (9): Checkpoint 3 — Contest 3 Practice
- Unit 12: Graph TheoryExercises (26): Unit 12 — Graph TheorySlides: Unit 12 — Graph Theory
- Unit 13: Digital ElectronicsExercises (22): Unit 13 — Digital ElectronicsSlides: Unit 13 — Digital Electronics
- Unit 14: What Does This Program Do? (Strings)Exercises (19): Unit 14 — What Does This Program Do? (Strings)Slides: Unit 14 — What Does This Program Do? (Strings)
- Unit 15: Assembly LanguageExercises (18): Unit 15 — Assembly LanguageSlides: Unit 15 — Assembly Language
- Checkpoint 4: Contest 4 PracticeQuestions (9): Checkpoint 4 — Contest 4 Practice
Printable books (PDF)
Release pdfs-2026-09-30. The links open the files on GitHub.
For parents and teachers:
Use this book offline
Downloading a book needs JavaScript.
Everything stays on this device. Some browsers, Safari in particular, can clear a site's storage after weeks without a visit: keep a copy of your work with “Export my progress” on the home page.
Concept mastery
The share of each concept's quiz cards you know well (answered right twice, at least a day apart). Practise with the quiz cards.
All 16 concepts
Data structures
- Tuples0%
- 2D grids (list of lists)0%
- Stacks, queues, BSTs and heaps (ACSL conventions)0%
IO
- Splitting strings0%
- Parsing structured input0%
Techniques
- Recursion (self-calling functions)0%
- Reading and tracing code0%
- Boolean algebra0%
- ACSL pseudocode dialect (int as floor, sqrt, inclusive substrings)0%
- Evaluating ACSL LISP expressions0%
- Logic gates and circuits0%
- ACSL assembly language0%
Number theory
- Bitwise operators0%
- Number base conversion0%
Search
- Complete search (brute force)0%
Graphs
- Graphs: paths, cycles, degrees and adjacency matrices (ACSL)0%