Contest Python: ACSL

From Elementary to Senior, one contest at a time

Contents

16 units, 4 checkpoints, in the order the course teaches them.

  1. Unit 0: ACSL FoundationsExercises (15): Unit 0 — ACSL FoundationsSlides: Unit 0 — ACSL Foundations
  2. Unit 1: Computer Number SystemsExercises (21): Unit 1 — Computer Number SystemsSlides: Unit 1 — Computer Number Systems
  3. Unit 2: Recursive FunctionsExercises (16): Unit 2 — Recursive FunctionsSlides: Unit 2 — Recursive Functions
  4. 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)
  5. Checkpoint 1: Contest 1 PracticeQuestions (8): Checkpoint 1 — Contest 1 Practice
  6. Unit 4: Prefix/Infix/Postfix NotationExercises (23): Unit 4 — Prefix/Infix/Postfix NotationSlides: Unit 4 — Prefix/Infix/Postfix Notation
  7. Unit 5: Bit-String FlickingExercises (21): Unit 5 — Bit-String FlickingSlides: Unit 5 — Bit-String Flicking
  8. 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)
  9. Unit 7: LISPExercises (21): Unit 7 — LISPSlides: Unit 7 — LISP
  10. Checkpoint 2: Contest 2 PracticeQuestions (9): Checkpoint 2 — Contest 2 Practice
  11. Unit 8: Boolean AlgebraExercises (27): Unit 8 — Boolean AlgebraSlides: Unit 8 — Boolean Algebra
  12. Unit 9: Data StructuresExercises (21): Unit 9 — Data StructuresSlides: Unit 9 — Data Structures
  13. 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)
  14. Unit 11: FSAs and Regular ExpressionsExercises (18): Unit 11 — FSAs and Regular ExpressionsSlides: Unit 11 — FSAs and Regular Expressions
  15. Checkpoint 3: Contest 3 PracticeQuestions (9): Checkpoint 3 — Contest 3 Practice
  16. Unit 12: Graph TheoryExercises (26): Unit 12 — Graph TheorySlides: Unit 12 — Graph Theory
  17. Unit 13: Digital ElectronicsExercises (22): Unit 13 — Digital ElectronicsSlides: Unit 13 — Digital Electronics
  18. 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)
  19. Unit 15: Assembly LanguageExercises (18): Unit 15 — Assembly LanguageSlides: Unit 15 — Assembly Language
  20. 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%