Recommended for student who are good data structures and algorithms and want to learn more new concepts and tricks used in Competitive Coding can do this course.
Competitive Programming
Overview
Coding Blocks is pleased to bring you the ultimate competitive programming course, hand crafted to ensure your success in challenges such as Google CodeJam, Google Kickstart, ACM-ICPC, and more. This 8 week programme will kickstart your foray in to the exciting world of competitive coding. You will master commonly used problem solving techniques, hone your mathematical analysis skills, and push the boundaries of your reasoning abilities. The course will cover Advanced Data Structures like Segment Trees, Binary Index / Fenwick Trees. You shall learn construct algorithms involving Dynamic Programming, Bitmasking, Greedy Algorithms, and Divide & Conquer. The course will also cover other advanced competitive topics. This course is for all the coders who are looking forward to optimizing their problem-solving process, and learn new algorithmic skills which will help them to solve problem quickly.
Maths & Number Theory
We will cover various Number Theory Topics like Prime Sieve, Segmented Sieve, Euler's Totient Fn, Chinese Remainder Theorem etc along with Maths Topics like Birthday Paradox Problem, Pigeonhole Principle, Inclusion-Exclusion Principle and much more.
DP and Graphs
In the course, you will learn to solve problems using Dynamic Progamming. You will also learn to solve Graph problems using DP and Graph Algorithms. Dynamic Programming is the most important topic from the view of most exams.
Greedy Problems
The course will cover a variety of questions based on Greedy Strategy. You will learn when to apply greedy technique and then DP.
Game theory & Segment Trees
You will learn the basic concepts of Game Theory(like Nim Game) and apply those concepts to solve problems. Segment Trees an important data structure for solving problems will also be covered. You will learn to optimise your ST using Lazy Propagation.
Course Contents
Mathematics
- Pigeonhole
- Probability
- Expectation
- Coupon collector
- Matrix exponentiation
- Inclusion-Exclusion
Number Theory
- LCM
- GCD
- Prime factorization
- Totient
- Sieves
- Mathematical Theorems
- CRT
- Euclid’s method
- Linear Diophantine Equations
Divide and Conquer
- Classical problems
- Binary search applications
Recursion and Backtracking
- Problems of variable levels
- Backtracking using Bitmasks
Dynamic Programming
- Linear recurrences
- 2-D and 3-D DP
- DP using Bitmasks
Greedy Algorithms
- Classical and interesting problems from CodeChef and SPOJ
Segment Trees
- Segment trees
- Lazy propagation
- Fenwick tree
- BIT
Graphs
- Types
- Implementation
- Traversals
- Shortest paths
- Min spanning trees
- Topological sorting
- Bipartite graphs
- Cycle detection
- Union-find
- Other algorithms
Game Theory
- Basics
- Nim-game
- Grundy number
- Mex Fn
- Sprague Grundy theorem
Advanced Topics
- MO’s Algorithm
- HLD
- FFT
Course Schedule
Center | Start Date | End Date | Day & Time | Batch Type | |
---|---|---|---|---|---|
Pitampura | 9th June | TBD | Tue (8:00 AM - 11:50 AM), Thu (8:00 AM - 11:50 AM), Sun (8:00 AM - 11:50 AM) | Normal Morning | |
Noida | 5th June | TBD | Mon(9:00 AM - 12:00 PM), Wed(9:00 AM - 12:00 PM), Fri(9:00 AM - 12:00 PM) | Normal Morning | |
Dwarka | 8th June | TBD | Mon (3:00 PM - 7:30 PM), Wed (3:00 PM - 7:30 PM), Fri (3:00 PM - 7:30 PM) | Normal Evening |
REGISTER NOW
Mentors
Prateek Narang
Founding MemberPrateek Narang
Founding MemberPassionate about teaching, Prateek is a CS graduate from DTU. He has previously worked with SanDisk, HackerEarth. He has also won various hackathons including Google’s Code For India, Smart City Hackathon, qualified ACM-ICPC regionals and published papers in International Journals. His interactive CV (www.prateeknarang.com) is also popular in 120+ countries.
FAQ
(Drop a line at admissions@codingblocks.com if you have further queries)
Who should do this course?
Which programming language will be used in course?
Although, the idea of the course is to teach you new concepts, we will be using C++ for the codes shared. More focus will be on logic and algorithms. Students who know Java/Python can also do this course and implement the same logic in the language they prefer.
What are the pre-requisites for this course ?
You should have good knowledge of basics(like sorting,searching, recursion ) and data-structures ( stacks, queues, linked lists, hashing, heaps, trees, graphs) along with space-time complexity analysis on problems.
Will this improve my ranking in Online Competitions ?
Yes, definitely. The course will teach you new concepts and tricks and will help you become smarter with solutions.
Will I get Coding Blocks Competitive Programming Module for studying ?
Yes, you will get a copy of Coding Blocks Competitive Programming Module for study and assignments.