2025 Course Materials

This is the website for a summer course on algorithms and programming for high schoolers, in Addis Ababa from July 21th to August 23th, 2025. Here you will find lecture notes, exercises, and contact information for the instructors. The version of Python used here is Python 3.13.

We also have a textbook covering some of the course material here.

Course Content

Week 0

Training for teaching assistants, as well as preparation of course materials and hardware.

Week 1

Day 1: Part A: Jupyter Notebooks, Basic Expressions, Part B: Simple Data Types (Boolean, Integers, Floats, Strings, …). Exercises 1a, 1a Supplement, 1b, 1b Supplement.
Day 2: Part A: Variables, Printing, Comments, and Conditionals, Part B: Collection Typses (List, Dictionaries). Exercises 2a, 2a Supplement, 2b, 2b Supplement.
Day 3: Part A: Loops and Functions, Part B: Loops and Functions. Exercises 3a, 3a Supplement, 3b, 3b Supplement, 3c, 3c Supplement.
Day 4: Part A: Reviewing Loops and Functions, Part B: Recursion Basics. Exercises 4a, 4a Supplement, 4b, 4b Supplement
Day 5: Part A: Quiz, Part B: Tic-Tac-Toe, Exercises 5a Supplement, 5b Supplement, 5c Supplement

Week 2

Day 6: Part A: Reviewing Loops, Functions and Collections, Part B: Reviewing Loops, Functions and Dictionaries. Exercises 6a, 6a Supplement, 6b, 6b Supplement.
Day 7: Part A: Recursion, Part B: Recursion. Exercises 7a, 7a Supplement, 7b, 7b Supplement.
Day 8: Part A: More Recursion, Part B: Image Basics. Exercises 8a, 8a Supplement, 8b, 8b Supplement.
Day 9: Part A: Image Filters, Gradients, Patterns, Part B: Time Complexity. Exercises 9a, 9a Supplement, 9b, 9b Supplement.
Day 10: Quiz, Exercises 10, 10 Supplement.

Week 3

Day 11: Part A: Introduction to Algorithms, Part B: Linear Search. Exercises 11a, 11a Supplement, 11b, 11b Supplement.
Day 12: Part A: Bubble Sort + Selection Sort, Part B: Quicksort. Exercises 12a, 12a Supplement, 12b, 12b Supplement.
Day 13: Part A: Merge Sort, Part B: Introduction to Graphs. Exercises 13a, 13a Supplement, 13b, 13b Supplement.
Day 14: Part A: Depth-First Search (DFS), Part B: Breadth-First Search (BFS). Exercises 14, 14 Supplement.
Day 15: Part A: Quiz/Review, Part B: Text-based Animation. Exercises 15a Supplement, 15b Supplement.

Week 4

Day 16: Part A: Breadth-First Search (BFS), Part B: Memoization. Exercises 16a, 16a Supplement, 16b, 16b Supplement.
Day 17: Part A: More Memoization, Part B: More Memoization. Exercises 17, 17 Supplement.
Day 18: Part A: College Application Session + Life Experience Sharing, Part B: Memoization on Graphs. Exercises 18a, 18b, 18c.
Day 19: Part A: Final Quiz, Part B: Karatsuba’s Algorithm + Q&A with Prof. Jelani Nelson.
Day 20: Graduation and Closing Ceremony