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.