কম্পিটিটিভ প্রোগ্রামিং এর হাতেখড়ি
Starting Date: 19th July, 2023
Course Duration: 4 ~ 6 months (25+ Classes)
Class Details:
● Two regular classes and one solution class (on the basis of long contest) per week
● Regular Classes will be held on
o Thursday
o Monday
● Solution Class will be held on
o Friday
● Time: 8.30 PM
Day and Time can be changed on the preference of students and trainers.
● Platform: Google Meet
Contest Details:
● There will be a long contest per week (will start from 2nd week)
● There will be two short contests per month (2 ~ 3 hours)
FIRST THREE CLASSES WILL BE OPEN FOR ALL
Payment details:
● Course Fee 3000 Taka only.
If someone pays the full fees in the first installment then he will get a
discount of 500 Taka.
● Last date of first installment - 24th July (you have to confirm your seat by paying
minimum of 1500 taka)
● Last date of second installement - 31st August (rest of the amount)
Last Date of registration: 24th July, 2023
Syllabus
1. Introduction and fundamentals
● Introduction to Competitive Programming
● Introduction to various Online Judges
● Introduction to code sharing sites
● Approaching problem statement
● Importance of C++ in Competitive Programming
● C++ I/O
2. Data type, operators and conditions
● Data types and Overflows
● Everything wrong with double/float
● Type casting
● Conditional Statement
● C++ Operators
● Max, Min, Swap and other library functions
● Logical and Conditional operators
● Local & Global Variable
● Newcomer Sheet #1
3. Loops
● Types of Loops in C++
● break, continue
● Loops with iterator
● Multiple test case input
● Time & Memory Complexity
● Newcomer Sheet #2
4. Array
● Array Data Structure
● Array Sorting
● Sub-Array
● Sub-Sequence (Just theory)
● Newcomer Sheet #3
● Prefix sum
● Frequency array
● 2D Grid
● 2 Pointer
● Newcomer Sheet #3
5. String
● String
● Builtin String Functions
● Working with ASCII values
● String Concatenation
● String Compare
● Substring
● Subsequence
● Palindrome
● Newcomer Sheet #4
6. Functions
● Syntax
● Prototype of a function
● Arguments (Call by value & Call by reference)
● Different kinds of return type
● Newcomer Sheet #5
7. Recursion
● Recursion Tree
● Newcomer Sheet #7
8. Data Structure
● STL Vector
● STL Pair
● Compare Sort
● STL Set
● STL Map
● Stack
● Queue
● Dequeue
● Priority queue
9. Number theory, Math
● GCD, LCM, Divisibility
● Primality check
● Sieve of Eratosthenes
● Newcomer Sheet #6
● Prime Factorization
● Modular Arithmetic
● Big Mod / Binary Exponentiation
● Base Conversion
● Bit Manipulation
● Combination and Permutation (nCr, nPr)
● All possible subset
● All possible permutation
10. Geometry
● Basic Geometry: Circle, Straight Line, Rectangle, Area
● Newcomer Sheet #6
11. Binary Search
● Insight of Binary Search and Binary property
● STL Binary Search
● Time complexity
● Lower Bound, Upper Bound
12. Basic Graph Theory
● Introduction and definitions
● Storing graphs (Adjacency List, Adjacency Matrix)
● Graph Traversal Algorithms (DFS)
● Graph Traversal Algorithms (BFS)
● Problem Discussion on Graph
1. Cycle finding.
2. Diameter of a tree.
3. Number of elements
New topics can be added by seeing the improvements of the participants.