Every year, 2-3 camps are held to train the team members for the International Olympiad in Informatics. Part of these camps involves presentations on useful topics, mostly by the students themselves.

If you are having trouble loading the PDF presentations in your browser, try downloading them offline by right-licking the link, and then clicking "Save Link As".

- Big-O notation (Bruce Merry)
- Graph theory (Bruce Merry), with handout [updated for Camp 1, 2005]
- Heuristics [PDF] (Carl Hultquist)
- Greedy algorithms [PDF] (Dirk Basson)
- Dynamic programming [PDF] (Richard Starfield)
- Sorting [PDF] (Marietjie Venter)
- Hashing [PDF] (Linsen Loots)
- Data structures [PDF] (Nicholas Pilkington)
- Recursion [PDF] (Marco Gallotta)

- Minimum spanning trees [PDF] (Marco Gallotta), with handout [PDF] and zip file of demos
- Modulo arithmetic [PDF] (Richard Starfield), with handout [PDF]
- Travelling salesman [PDF] (Marietjie Venter)
- Big numbers [PDF] (Dirk Basson)
- Computational geometry [PDF] (Nick Pilkington), with handout [PDF]
- Network flow [PDF] (Linsen Loots)
- Optimisation (Bruce Merry)

- Hierarchical data structures (Bruce Merry)
- Eulerian tour (Marco Gallotta)

- Union-find (Keegan Carruthers-Smith)
- Network flow (Migael Strydom) [updated for Camp 2, 2007]

- Biconnectivity (Graham Poulter)
- Strong connectivity (Graham Poulter)
- Strings [PDF] (handout) (Timothy Stranex)

- Computational Geometry [PDF] (Migael Strydom)
- Union-find (handout) (Bruce Merry)

- Eulerian paths and cycles [PDF] (Max Rabkin)
- Range trees [PDF] (Keegan Carruthers-Smith)
- String matching [PDF] (Joshua Yudaken)
- Approximation algorithms [PDF] (Dario Fanucchi)

- Contest strategy [PDF] (Bruce Merry)
- Strings (Marco Gallotta)
- Shortest paths [PDF] (Timothy Stranex)
- Dynamic programming (Carl Hultquist)

- Transform and conquer (Saadiq Moola)
- Computational geometry handout (Charles Bradshaw)
- Queues, stacks and heaps (Mark Danoher)
- Greedy algorithms (Dirk-B Coetzee)
- Big numbers [PDF] (Bruce Merry)

- Interval Trees [PDF] (Marco Gallotta)
- Optimised Search Techniques (Mark Danoher)
- State Machines and Strings [PDF] (Bruce Merry)

- Dynamic Programming (Harry Wiggins)
- Dijkstras and Floyd Warshall (Julian Kenwood and Richard Baxter)

- Computational Geometry (Mark Danoher)
- Minimal Spanning Trees [PDF] (Schalk-Willem Kruger), with handout [PDF]
- Hashing (Robert Ketteringham)
- Network Flow (Raeez Lorgat)
- Dynamic Programming Part 2 [PDF] (Harry Wiggins)
- Standard Template Library (STL) [PDF] (Richard Baxter and Julian Kenwood), with handout [PDF]
- String Matching (Saadiq Moolla)
- Union-Find [PDF] (Haroon Moolla)
- Vertex Cover [PDF] (Marco Gallotta)

- Eulerian Tours [PDF] (Schalk-Willem Kruger)

- Contest Strategy (Marco Gallotta), with handout
- Trees [PDF] (Charl du Plessis)
- Combinatorics [PDF] (Graham Manuell), with handout
- C++ Macros (Marco Gallotta)
- Boyer Moore String Matching (Haroon Moolla)
- Debugging (Max Rabkin)
- Juggling Bits (Marco Gallotta)
- Numerical Algorithms (Michiel Baird), with handout
- Mathematical Proofs [PDF] (Kosie van der Merwe and Francois Conradie)
- Line Sweep [PDF] (Schalk-Willem Kruger), with handout [PDF]
- Big Numbers (Julian Kenwood and Ben Steenhuisen), with handout
- Minimax (Gwylim Ashley)

- Brute Force part 1 and part 2 (Gwylim Ashley and Schalk-Willem Kruger)
- Eulerian Paths and Cycles [PDF] (Francois Conradie)
- Dynamic Programming Problems (Kosie van der Merwe and Michiel Baird)
- Linear Recurrences (Graham Manuell), with handout part 1 and part 2
- Complexity Analysis [PDF] (Charl du Plessis and Robert Ketteringham)

- STL Data Structures [PDF] (Keegan Carruthers-Smith)
- String Processing [PDF] (Julian Kenwood)
- Combinatorics [PDF] (Gregory Jackson)

- C++ tips and tricks (Bruce Merry)
- C++ debugging (Bruce Merry)
- Introduction to Graph Theory (Robert Spencer)
- Longest Increasing Subsequence (Robert Spencer)
- Big-Oh Notation (Robert Spencer)
- Testing (Robert Spencer)
- Introduction to Dynamic Programming (Ashraf Moolla)
- Problem Strategy (Ashraf Moolla)

- A Few C++11 Tips (Bruce Merry)
- Lambda Functions (Yaseen Mowzer)
- Knuth-Morris-Pratt String Searching (Bruce Merry)
- Floyd-Warshall and Bellman-Ford graph algorithms [PDF] (Thomas Orton)
- Greedy Algorithms (Ulrik de Meulenaere)
- Interval Trees (Bruce Merry)
- Computational Geometry [PDF] (Robin Visser)

- Eulerian Tours [PDF] (Shaylan Lalloo)
- Linear-time sorting and order statistics [PDF] (Thomas Orton)
- Rabin-Karp algorithm [PDF] (Robin Visser)
- Compression (Ulrik de Muelenaere)
- Computing time complexity of recursive functions (Yaseen Mowzer)

- C++ Feature Overview (Robert Spencer)

- Knuth-Morris-Pratt String Searching Algorithm (Robin Visser)
- Topological Sorting (Yaseen Mowzer)
- Computational Geometry (Ulrik de Muelenaere)

- Line Sweep Algorithms (Robin Visser)

- Contest Strategy (Robin Visser)
- Introduction to Dynamic Programming (Robin Visser)

- Big O Notation (Robin Visser)
- C++ Basics (Laurens Weyn)
- Union Find (Robin Visser)
- Dynamic Programming (Robin Visser)

- Maximum Bipartite Matching (Robin Visser)
- Range Queries and Fenwick Trees (Yaseen Mowzer)
- Computational Number Theory (Taariq Mowzer)
- Topological Sorting [PDF] (Ralph McDougall)

- Persistent Data Structures (Robin Visser)
- Balanced Binary Search Trees (Yaseen Mowzer) [updated on 27 August 2018]
- Bridges and Articulation Points (Taariq Mowzer)
- Tries [PDF] (Ralph McDougall)

- Introduction to Graph Theory (Bronson Rudner)
- Java Programming for IOI [PDF] (Laurens Weyn)

- Computational Geometry (Jordan Arenstein)
- Topological Sorting [PDF] (Tian Cilliers)
- Longest Increasing Subsequence (Taariq Mowzer)
- Range Queries and Fenwick Trees (Yaseen Mowzer)

- Segment Trees & Related Topics [PDF] (Tian Cilliers)
- Quickselect and Quicksort [PDF] (Retief Louw)
- Balanced Binary Search Trees [PDF] (Ralph McDougall)
- Lowest Common Ancestor (Andi Qu)

- Maximum Bipartite Matching [PDF] (Ralph McDougall)
- Substring Algorithms (Rabin-Karp, KMP) [PDF] (Taariq Mowzer)
- Computational Geometry (Andi Qu)
- Longest Increasing Subsequence [PDF] (Adri Wessels)
- Minimum Spanning Trees [PDF] (Tian Cilliers)