This is the website for a summer course on algorithms and programming for high schoolers, in Addis Ababa from July 27th to August 22nd, 2026. Here you will find lecture notes, exercises, and contact information for the instructors.
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 — Intro, Arithmetic Expressions, Variables: Slides · Notebook |
| Part B — Data Types, Operators, Casting: Slides · Notebook | |
| Exercises: 1a · 1b · 1c | |
| Solutions: 1a · 1b · 1c | |
| Day 2 | Part A — Style, Control Flow, String Functions: Slides · Notebook |
| Part B — For Loops, Range, Lists: Slides · Notebook | |
| Exercises: 2a · 2b · 2c | |
| Solutions: 2a · 2b · 2c | |
| Day 3 | Part A — While Loops, Print vs. Return: Slides · Notebook |
| Part B — Functions, Print vs. Return, None: Slides · Notebook | |
| Bonus Lecture: Computer Science Ethics Slides | |
| Exercises: 3a · 3b · 3c | |
| Solutions: 3a · 3b · 3c | |
| Worksheets: 3a: Questions · Solutions; 3b: Questions · Solutions | |
| Day 4 | Part A — More Functions, Scope: Slides · Notebook |
| Part B — Mutability, More Lists: Slides · Notebook | |
| Exercises: 4a · 4b · 4c | |
| Solutions: 4a · 4b · 4c | |
| Worksheets: 4a: Questions · 4b: Questions | |
| Sample Quiz | Questions · Solutions |
| Day 5 | Part A — Quiz |
| Part B — Nested Lists, Nested Loops, Modules & Imports: Slides · Notebook | |
| Exercises: 5a | |
| Quiz 1 | Questions · Solutions |
Week 2
| Day 6 | Part A — Intro, Review, Functions: Slides · Notebook |
| Part B — While and For Loops, Nested Loops and Lists, Modules: Notebook | |
| Exercises: 6a · 6a_supp · 6b · 6b_supp | |
| Solutions: 6a · 6a_supp · 6b · 6b_supp | |
| Worksheets: 6a: Questions · Solutions; 6b: Questions · Solutions | |
| Day 7 | Part A — Introduction to Recursion: Slides · Notebook |
| Part B — More Practice with Recursion: Notebook | |
| Exercises: 7a · 7a_supp · 7b · 7b_supp | |
| Solutions: 7a · 7a_supp · 7b · 7b_supp | |
| Worksheets: 7a: Questions · Solutions; 7b: Questions · Solutions | |
| Day 8 | Part A — Getting the Hang of Recursion: Notebook |
| Part B — Image Basics: Slides · Notebook | |
| Exercises: 8a · 8a_supp · 8b · 8b_supp | |
| Solutions: 8a · 8a_supp · 8b · 8b_supp | |
| Worksheets: 8a: Questions · Solutions; 8b: Questions · Solutions | |
| Day 9 | Part A — More Fun with Images: Notebook |
| Part B — List Comprehensions, String Functions, Debugging: Notebook | |
| Exercises: 9a · 9a_supp · 9b · 9b_supp | |
| Solutions: 9a · 9a_supp · 9b · 9b_supp | |
| Worksheets: 9a: Questions · Solutions; 9b: Questions · Solutions | |
| Sample Quiz | Questions · Solutions |
| Day 10 | Part A — Quiz |
| Part B — Time Complexity and Search: Slides · Notebook | |
| Exercises: 10 · 10_supp | |
| Solutions: 10 · 10_supp | |
| Worksheets: 10b: Questions · Solutions | |
| Quiz 2 | Questions · Solutions |
Week 3
| Day 11 | Part A — What Is an Algorithm?, Time Complexity, Big-O Notation: Slides · Notebook |
| Part B — Linear Search, Binary Search, Applications of Search: Slides · Notebook | |
| Exercises: 11a · 11a_supp · 11b · 11b_supp | |
| Solutions: 11a · 11a_supp · 11b · 11b_supp | |
| Worksheets: 11a: Questions · Solutions; 11b: Questions · Solutions | |
| Day 12 | Part A — Sorting Algorithms, Bubble Sort, Selection Sort: Slides · Notebook |
| Part B — Merge Sort, Sorting Runtimes: Slides · Notebook | |
| Exercises: 12 · 12_supp · Sorting Visualizer | |
| Solutions: 12 · 12_supp | |
| Worksheets: 12: Questions · Solutions | |
| College Panel: Presentation · Resources | |
| Day 13 | Part A — Graphs: Slides · Notebook |
| Part B — Paths and Trees: Slides · Notebook | |
| Exercises: 13a · 13a_supp · 13b · 13b_supp | |
| Solutions: 13a · 13a_supp · 13b · 13b_supp | |
| Worksheets: 13a: Questions · Solutions; 13b: Questions · Solutions | |
| Day 14 | Part A — Graph Algorithms, Depth-First Search (DFS): Slides · Notebook |
| Part B — Graph Algorithms, Breadth-First Search (BFS): Slides · Notebook | |
| Exercises: 14a · 14a_supp · 14b · 14b_supp | |
| Sample Quiz | Questions · Solutions |
| Day 15 | Part A — Quiz |
| Part B — Language Models: Slides | |
| Quiz 3 | Questions · Solutions |
Week 4
| Day 16: |
| Day 17: |
| Day 18: |
| Day 19: |
| Day 20: Graduation and Closing Ceremony |