This is the website for a summer course on algorithms and programming for high schoolers, in Addis Ababa from July 18th to August 12th, 2016. Here you will find lecture notes, lab assignments, and contact information for the instructors. You can begin by downloading Anaconda. The version of Python used here is Python 2.7.
Course Content
Week 1
Day 1: Basic types, operations, and functions |
Day 2: Control flow: for loops and if statements |
Day 3: Review; Lab 1.5 |
Day 4: Lists and more for loops, and more for loops examples |
Day 5: While loops, and more while loop examples |
Week 2
Day 1: Functions I |
Day 2: Functions II |
Day 3: Function exercises |
Day 4: Recursion |
Day 5: Recursion exercises |
Week 3
Week 4
Day 1: Memoization |
Day 2: More memoization, tracing the dynamic programming table |
Day 3: Memoization on graphs: Bellman-ford |
Day 4: Fast integer multiplication: Karatsuba’s algorithm |
Day 5: Final exam and course wrap-up |