Competitive Programming Classes 2021–22

Training, Islamic University of Technology, Department of CSE, 2021

My first teaching gig, for intermediate competitive programming aspirants.
Lecture materials and class recordings of the online classes conducted amidst the pandemic: Google Drive
Problemsets and Weekly Contest links can be found in the IUT Programming Community Discord server.

Class 1: 17th July, 2021

Topics: I/O in C++, Input for UVa, Range based for loop, Pair, Vector, String, Set, Multiset, Map
Prerequisites: Conditions, Nested Loops, Multidimensional Arrays, Strings, Recursion, Binary Search

Class 2: 31st July, 2021

Topics: memset, __int128, sort cmp function, reverse, next_permutation, unordered_map, Queue, Stack, Deque, Priority Queue
Prerequisites: Topics taught in the last class and a basic idea about permutation.

Class 3: 8th August, 2021

Topics: Bitwise operations & usage, __builtin_popcount, Bitset, Custom bitset, Ordered Set, Lower_bound, Upper_bound
Prerequisites: Topics taught in the last class.

Class 4: 15th August, 2021

Topics: Floodfill, Graph Representation, BFS, DFS, Bi-partite, Cycle detection
Prerequisites: Good understanding of recursion + Topics taught in the last class.

Class 5: 17th November, 2021

Topics: Disjoint Set Union, Sparse Table, Binary Indexed Tree, Segment Tree
Prerequisites: Recursion, STL and Bitwise operations

Class 6: 24th November, 2021

Topics: Segment Tree with Lazy Propagation
Prerequisites: Topics taught in the last class.

Class 7: 1st December, 2021

Topics: Problem Solving Strategies and Silly Mistakes in Programming Contests

Class 8: 8th December, 2021

Topics: Discussion of the problems in the Weekly Contest

Class 9: 22nd December, 2021

Topics: Prime check, Sieve, Basic modular arithmetic, Bigmod

Class 10: 26th January, 2022

Topics: Number of Divisors (NOD), Sum of Divisors (SOD), Modular Division, Fermat’s Little Theorem, Inverse mod (Fermat’s Little Theorem), Euler’s Totient Function, Euler’s Theorem, Codeforces’ Power Tower

Class 11: 2nd February, 2022

Topics: Backtracking

Class 12: 23rd February, 2022

Topics: The valley of disappointment, Common mistakes in competitive programming, Problem selecting strategies.