2024 Course Materials

This is the website for a summer course on algorithms and programming for high schoolers, in Kingston, Jamaica from July 1st to 27th, 2024. Here you will find lecture notes and lab assignments. You can follow using Google Colab or, alternatively, by downloading the notebooks and using Jupyter notebook. We are using Python 3.

For reference, morning exercises are marked by “A”, afternoon by “B”, and challenge by “C”.

Course Content

Week 1

Day 1: Course intro, then types, variables, printing and operations and errors. Exercises A, B, C.
Day 2: No Lab/Lecture due to Hurricane Beryl.
Day 3: No Lab/Lecture due to Hurricane Beryl.
Day 4: No Lab/Lecture due to Hurricane Beryl.
Day 5: No Lab/Lecture due to Hurricane Beryl.

Week 2

Day 1: Course and Professor Intro then Variables, Printing, Lists, Functions, Loops. Exercises A, B, C.
Day 2: Loops, More loops and functions. Exercises A, B, C.
Day 3: Functions, then List Functions. Exercises A, B.
Day 4: String Functions, More Functions and Lists of Lists. Exercises A, C.
Day 5: Nested For Loops, Recursion Teaser. Exercises A, C.

Week 3

Day 1: 2D Lists Review then Recursion Intro. Exercises A, B, C.
Day 2: Mock exam, Recursion Applications. Exercises A, C.
Day 3: Recursion Review, Logarithms and Binary Search. Exercises A.
Day 4: Binary Search and Time Complexity, Sorting Intro. Exercises A, B.
Day 5: Week 3 exam , then Q&A with Prof. Jelani Nelson. Arduino Lesson

Week 4

Day 1: Merge Sort, then Recursion Practice. Exercises A, B, C.
Day 2: Dictionaries, then Sorting and Time Complexity. Exercises A, B, C.
Day 3: Graphs Intro, then Graph Traversals. Exercises A, C, Review 1, Review 2, Review 3.
Day 4: Final exam, then TA lightning talks, then Q&A with Prof. Daniel Coore.
Day 5: Graduation ceremony.