- Flowcharts
- Introduction to flowcharts,
- Decision-making using flowcharts,
- Loops,
- Example problems
- Variables and Data Types
- First program,
- Variables and data types,
- Taking input,
- How data is stored in memory,
- Arithmetic Operators
- Conditional Statements
- Introduction to If else,
- Relational and logical operators,
- Nested conditionals
Best Competitive Programming Course Online
Quick Facts
particular | details | |||
---|---|---|---|---|
Medium of instructions
English, Hindi
|
Mode of learning
Self study, Virtual Classroom
|
Mode of Delivery
Video and Text Based
|
Course overview
The Competitive Programming certification course is a complete online course available in both media - Hindi and English language. The Competitive Programming training will prepare the candidate for the ICPC, Hackercups, and many more. The course is accompanied by dedicated placement assistance support that will make the candidate more effective for his or her future career. This particular course will help the candidate in enhancing their respective cognitive and problem-solving skills in the field of programming. The candidate will get Competitive Programming certification at the end of the completion of the programme.
The highlights
- Complete Competitive Programming online course
- Accompanied by placement assistance
- Proven content
- Offered by Coding Ninjas
- Availability of option - course extension
- Additional training
Program offerings
- Training
- Reading material
- Online lectures
- Mentor support
- Placement assistance
Course and certificate fees
certificate availability
Yes
certificate providing authority
Coding Ninjas
Who it is for
Following candidates can opt for the course -
The individual who wants to upgrade their skills in coding and wants to gain experience should opt for this particular online course.
Eligibility criteria
Education
As for the fundamental knowledge, the candidate needs to have a good fundamental knowledge of programming, basic mathematics, and the implementation of data structures for applying in the Competitive Programming certification course.
Certification qualifying details
The candidate can attain the Competitive Programming certification in two kinds. Mainly, if the candidate passes the course with a minimum grade of 60% then he will be awarded a course completion certificate but if the candidate scores 90% or above then he will get the certificate of excellence.
What you will learn
As the Competitive Programming programme will end, the candidates will learn the following concepts -
- During the course, the candidates would learn to solve hard coding problems like in ACM-ICPC.
- Python programming will be taught to the students as the fundamentals.
- The candidate can easily solve the OOPs content’s problems and case studies.
- The whole course is based on making students understand the hard programming languages.
- The Candidate mainly attains the cognitive and problem-skills that will help them in their academics.
- Different mathematical theories, line number theory, computational geometry will be implemented in the course.
- C++ must be taught at the end of the course that will give the student more effective learning about the course.
The syllabus
Introduction to Programming
Basics of Programming
Loops and Functions
- While Loops
- While loops,
- Flow of execution of statements in while loop,
- Example problems using while loop
- Patterns
- Introduction to patterns,
- Basic Patterns,
- Square Patterns,
- Triangular Patterns,
- Character Patterns,
- Reverse Triangle,
- Inverted patterns,
- Isosceles triangles
- For Loops
- For loops,
- Break and Continue, increment - decrement operators
- Functions
- Introduction to functions,
- Working of function calling,
- Variables and its scope,
- Pass by value
Arrays
- Introduction to Arrays
- Introduction to arrays,
- How arrays are stored in memory,
- Passing arrays to functions
- Searching and Sorting
- Understanding Binary Search,
- Selection sort,
- Bubble sort,
- Insertion sort,
- Merging two sorted arrays
Strings and 2D Arrays
- Strings
- Introduction to strings, storage of strings, and their inbuilt functions
- 2D Arrays
- 2D arrays,
- Storage of 2D arrays,
- Example problems using 2D Arrays
Data Structures & Algorithms
Problem Solving Techniques
- Recursion
- Introduction to recursion,
- Principle of mathematical induction,
- Fibonacci numbers,
- Recursion using arrays,
- Recursion using strings,
- Recursion using 2D arrays
- Time and Space Complexity
- Order complexity analysis,
- Theoretical complexity analysis,
- Time complexity analysis of searching and recursive algorithms,
- Theoretical space complexity,
- Space complexity analysis of merge sort
Object Oriented Programming
- Basics of OOPS
- Introduction to OOPS,
- Creating objects,
- Getters and setters,
- Constructors and related concepts,
- Inbuilt constructor and destructor,
- Example classes
- Advance Concepts of OOPS
- Static members,
- Function overloading and related concepts,
- Abstraction,
- Encapsulation,
- Inheritance,
- Polymorphism,
- Virtual functions,
- Abstract classes,
- Exception handling
Linear Data Structures
- Linked Lists
- Introduction to linked list,
- Inserting node in linked list,
- Deleting node from linked list,
- Midpoint of linked list,
- Merge two sorted linked lists, merge sort of a linked list,
- Reversing a linked list
- Stacks and Queues
- Introduction to stacks, Stack using arrays,
- Dynamic Stack class,
- Stack using linked list,
- Inbuilt stack,
- Queue using arrays,
- Dynamic queue class,
- Queue using linked list,
- Inbuilt queue
Trees
- Generic Trees
- Introduction to Trees,
- Making a tree node class,
- Taking a tree as input and printing,
- Tree traversals,
- Destructor for tree node class
- Binary Trees
- Introduction to Binary Trees,
- Taking a binary tree as input and printing,
- Binary Tree traversals,
- Diameter of binary tree
- Binary Search Trees
- Introduction to Binary Search Trees,
- Searching a node in BST,
- BST class,
- Inserting and Deleting nodes in BST,
- Types of balanced BSTs
Advanced Data Structures
- Priority Queues
- Introduction to Priority Queues,
- Ways to implement priority queues,
- Introduction to heaps,
- Introduction to Complete Binary Trees and its implementation,
- Insert and Delete operations in heaps,
- Implementing priority queues,
- Heap sort,
- Inbuilt Priority Queue
- Hashmaps
- Introduction to Hashmaps,
- Inbuilt Hashmap,
- Hash functions,
- Collision handling,
- Insert and Delete operation implementation in hashmap,
- Load factor,
- Rehashing
- Tries
- Introduction to Tries,
- Making a Trie Node class,
- Insert,
- Search and Remove operation implementation in Tries,
- Types of Tries,
- Huffman Coding
- Graphs
- Introduction to Graphs,
- Graph Terminology,
- Graph implementation,
- Graph Traversals (DFS and BFS),
- Weighted and Directed Graphs,
- Minimum Spanning Trees,
- Cycle Detection in Graphs,
- Kruskal's algorithm,
- Prim's Algorithm,
- Dijkstra's algorithm
Dynamic Programming
- Introduction to Dynamic Programming
- Introduction to Memoization,
- Introduction to Dynamic Programming,
- Fibonacci numbers using recursion, memoization and dynamic programming
- Applications of Dynamic Programming
- Longest Common Subsequence (LCS) using recursion, memoization and dynamic programming,
- Edit distance using recursion, memoization and dynamic programming,
- Knapsack problem using recursion, memoization and dynamic programming
Competitive Programming
Basics of Competitive Programming
- Introduction to Competitive Programming
- Why Competitive Programming?,
- How To Approach A Problem In Contest,
- Various Types Of Errors
- Basics of Recursion
- Introduction to Recursion,
- Recursion and PMI,
- Fibonacci Number,
- Recursion and Arrays
- Time and Space Complexity Analysis
- Order Complexity Analysis,
- Theoretical Analysis,
- Linear Search time complexity,
- Insertion Sort time complexity,
- Selection Sort time complexity,
- Theoretical Analysis - Recursive Algorithms,
- Merge Sort Time complexity,
- Fibonacci Time Complexity Analysis,
- Space Complexity Analysis,
- Merge Sort Space Complexity Analysis,
- Fibonacci Space Complexity Analysis,
- Kadane's Algorithm
- Language Tools
- STL - Data Structures,
- STL - Functions,
- Hussain Set,
- Voters List,
- Permutation & Palindrome
- Searching & Sorting Applications
- Aggressive Cows, Inversion Count
Basic Problem Solving Skills used in Competitive Programming
- Two Pointers and Sliding Window
- Working of two-pointers and sliding window technique,
- Intuition behind Two Sum Problem Max sum of k consecutive elements and Longest Substring with At Most Two Distinct Characters
- Greedy Algorithms
- Introduction to Greedy Algorithms,
- Greedy Vs DP,
- Logic building for the problems like Fraction Knapsack and Activity Selection etc.
- Sorting
- Introduction to Sorting Algorithms,
- Working of Sorting algorithms like Merge Sort, Quick Sort Counting Sort etc and A problem based on the Quickselect Algorithm
- Binary Search
- Binary Search and its implementation details,
- Problems based on search on answer and problems based on search on input.
Applications of Recursion
- Advanced Recursion
- Generating all subsets and all Permutations using recursion and Logic building of Combination sum Problem
- Backtracking
- Introduction to Backtracking Algorithms,
- Recursion vs Backtracking and Logic behind popular problems like Rat in a Maze, N-Queens
Bit Manipulation and Number Theory
- Bit Manipulation
- All basic bitwise operators like (OR, AND, NOT, XOR, Left Shift and Right Shift) and properties of each of these operators Common operations done using these operators(like Set ith bit, Count Set Bits)
- Number Theory-I
- Checking whether a number is prime or not in sqrt(n) time Sieve algorithm,
- Segmented Sieve problem’s solution,
- Euclid’s algorithm,
- What are LDEs and how to solve them using Extended and Euclid’s algo
- Number Theory-II
- Modular Arithmetic Properties,
- How to find Modular Inverse,
- How to find number of solutions of LDEs and Euler’s Totient Function
- Number Theory-III
- Exponentiation and Modular Exponentiation Matrix Exponentiation,
- How to find Nth term of a recurrence relation using Matrix Exponentiation and How to find Nth term of Fibonacci Series
- Number Theory-IV
- Non-Deterministic Primality Tests,
- Fermat's Theorem,
- Miller Rabin Test and its Deterministic Version,
- Wilson's Theorem and Chinese Remainder Theorem
Dynamic Programming and Disjoint Sets
- Dynamic Programming 1
- Basics of Dynamic Programming(Introduction, Need) and Memoization vs Tabulation Method Optimization of recurrence relation (overlapping subproblem) into DP- Solution 2-dimensional DP Solution
- Dynamic Programming II
- The intuition behind problems like LCS, LIS(How to build logic),
- Further Optimization of Dynamic Programming Solution using Segment tree or binary search Multidimensional(3D,4D) Dp Solution Conversion of DP-State into DP-Transition and vice-versa
- Dynamic Programming III
- Algorithms based on Tree DP including Binary Lifting,
- Re-rooting(In-Out) DP,
- Algorithms based on Graph DP and Algorithms based on Digit DP
- Disjoint Set
- Introduction to Disjoint Set Data-Structure,
- Need and Applications of DSU, find and Union Operation and union by Rank and Path Compression Technique
Trees
- Tree-I
- Introduction to Trees(different terminologies related to tree, need of non-linear data structure, applications),
- Various Tree Traversal Techniques,
- N-ary vs Binary Tree and Concepts based on n-ary tree
- Tree-II
- Introduction to Euler’s Tour,
- Technique(Construction and Properties),
- Introduction to Mo’s algorithm,
- Problems based on Tree Queries like Subtree Queries and Path Queries
Graphs
- Graph-I
- Introduction and Basic terminologies of Graph,
- DFS and BFS,
- Finding Path Between Two Nodes,
- Detecting Cycle in Graph and Topological Sorting
- Graph-II
- Minimum Spanning Trees,
- Kruskal Algorithm Prims Algorithm,
- Explaining Dijkstra Algorithm,
- Bellman-Ford Algorithm and Floyd Warshall Algorithm
- Graph-III
- Bipartite Graph Test,
- Introduction & Applications of SCC,
- Tarjan's Algorithm for SCC and articulation points and Bridges-what are they how to find them
Combinatorics
- Combinatorics-I
- Introduction to Combinatorics, revising Permutation and Combination,
- Combinatorics-nCr, nPr and Binomial coefficient etc
- Combinatorics-II
- Catalan Number,
- Inclusion-exclusion,
- PigeonHole Principle and Application of Combinatorics Technique
Geometry
- Geometry-I
- Introduction to Computational Geometry,
- Distance of a Point from a Line,
- Collinear Points,
- Intersection of Two line segment and Circle line intersection
- Geometry-II
- Area of Polygon,
- Convex Hull- Algorithm & Applications
Game Theory
- Game Theory
- Game theory-game states,
- Nim game and Sprague-Grundy theorem
Strings
- Strings-I
- Strings Data Structure and their huge,
- Importance in CP Pattern Matching basics,
- Rabin-Karp Algorithm,
- Longest Prefix Suffix explanation and KMP & Z-Algorithm
- Strings-II
- Manchester Algorithm and Introduction to Suffix Array,
- LCP Array
Tries
- Tries
- Introduction to Trie Data Structure,
- Search,
- Insert & Deletion using Trie and Applications of Trie Data Structure
Range Query
- Range Query-I
- Introduction to Range Query Data Structure Segment Tree
- i) Explaining use case
- ii) Showing implementation range query, point update, range update(Lazy Propagation)
- Range Query-II
- Fenwick Tree
- i) Explaining use case
- ii) Showing implementation range query, point update, range update Sqrt Decomposition i) Explanation,
- Implementation Mo’s Algorithm i) Online Query ii) Offline Query
Bit Masking
- Bit Masking
- Introduction to Bit Masking Its Usage(related to Dp) and Representing subsets,
- DP+Bitmasking Problems
Admission details
To enrol in the Competitive Programming online course, follow the following steps:
Step 1: Visit the web page to have information about the whole course highlights on https://www.codingninjas.com/competitive-programming-course
Step 2: The candidate can go for two options, either for “enrol now” or “try for free”.
Step 3: If the candidate is going with the enrolling now option, then the first login or register for registering.
Step 4: The portal will direct the candidate to the payment option and the candidate is enrolled in the programme.
Step 5: Candidates can even go with the try for a free option, after the free trial ends, they have to pay the fee in the end and the registration is done.
Evaluation process
The candidate needs to make timely submissions of the complete fifteen assignments for attaining certification at the end of the course.
How it helps
The main Competitive Programming certification benefits in terms of course curriculum and placement support that is given to the student during the course. High-level dedicated placement support and assistance are given to the candidates so that they can come into the limelight of the recruiters.
FAQs
What is the elementary knowledge that a candidate needs to have for applying in the course?
For registering in the Competitive Programming online course, the candidate needs to have basic programming, mathematics, and data structures.
In how many intervals, the course fee can be paid?
No interval payment is allowed for the course fee, one-time payment needs to be there.
Does the Code Ninja provide any kind of financial aid or scholarship for this course training?
No, not such financial aid is available in support of this course.
Is any kind of placement support given after the completion of the course?
Yes, proper dedicated placement guidance and support are given to the candidate during the course.
How can the doubts be solved if there is anything to do in the course?
Technical assistance is there, the candidates need to submit their query and a time slot will be given to them for asking their query.
Articles
Popular Articles
Latest Articles
Similar Courses

C Programming Foundations
PW Skills

Jupyter Notebook
Great Learning

Eclipse Tutorial
Great Learning

Dev C++ Tutorial
Great Learning

Turbo C++
Great Learning


Coding For Beginners You Can Learn to Code
Simpliv Learning

Scripting and Programming Foundations
WGS via Edx


How to Code Simple Data
The University of British Columbia, Vancouver via Edx

Information Technology Fundamentals for Business P...
Polytechnic University of Valencia, Valencia via Edx


Introduction to C++
Microsoft Corporation via Edx
Courses of your Interest

Professional Certificate Course in Data Science
Newton School
JavaScript Foundations
PW Skills
Technical Analysis Series
PW Skills
Python Foundations
PW Skills

Getting Started with Generative AI APIs
Codio via Coursera

Generating code with ChatGPT API
Codio via Coursera

Prompt Engineering for ChatGPT
Vanderbilt via Coursera
Data Structures and Algorithms in Java
Great Learning
Angular7 for Beginners
Great Learning
More Courses by Coding Ninjas
Best Data Science Course Online
Coding Ninjas
Best Competitive Programming Course Online
Coding Ninjas
Data Science and Machine Learning
Coding Ninjas
Advanced Front-End Web Development with React
Coding Ninjas