Course details

Competitive Programming - Beginner

A brief summary

If you want to improve your basic algorithmic problem solving skill and improve in National contests and Codeforces contests, you should enroll in this course. We will conduct the course in a suitable way even for the very beginners. After completing this course, you should be able to solve the basic algorithmic and data-structure problems and have a clear idea of what to learn for the Advanced Level.

Prerequisite

C/C++ programming language

Course highlight

  • Learn to solve problems
  • Assignment for every lesson taught in the class
  • We will help you debug in the beginning
  • It will give you a head start for your university algorithm and data-structure classes

What you will learn

At the end of the course, you should be able to solve Codeforces div2A, B, C problems comfortably. You will also have clear idea of what to learn next to up your level.


01

STL

Introduction to Basic Problem solving, Contest platform, national contests and also a little STL(Standard Template Library) of C++.

02

Time/Memory Complexity

What is Time/Memory Complexity? How does it help to devise our algorithm to solve a problem? How to compute Time/Memory Complexity of an algorithm?

03

Sorting Algorithms

Basic Sorting Algorithms : Selection Sort, Bubble Sort, Insertion Sort, Counting Sort etc. Little introduction to Quick Sort, Merge Sort.

04

Basic Data-Strucutre

Some Basic Data-Structure and their Use. (Stack,Queue, Deque), And also use of C++ Map,Priority Queue,Set.

05

Recursion

Problem Solving with Recursion and Introduction to Backtracking.

06

Basic String

Basic String Problems and manipulation of strings in c++.

07

Greedy Algorithm

Problem Solving with Greedy Algorithms. When to use greedy algorithms and more important when not to use greedy algorithms?

08

Number Theory (Phase 1)

How to calculate GCD efficiently. What is Sieve of Eratosthenes? How to use it to Find Prime Numbers? How to use this technique in Other type of Problems?

09

Basic Graph Theory

Introduction to Basic Graph Theory terminology, Some basic algorithms and theorems. Converting problems into Graph theory problems.

10

Shortest Path Algorithms

How to calculate minimum distance between nodes in a graph? or in weighted graphs? Different kind of shortest path algorithms. (BFS/DFS/DIJKSTRA/Bellman-Ford etc).

11

Bitwise Operator

What is Bitwise Operator? How is the representation of a number in computer? How to manipulate bit of a number in problem solving?

12

Number Theory(Phase 2)

Introduction to Modular Arithmetic. What is Fermat's Little Theorem? Totient Function? how to calculate BigMod?

13

Dynamic Programming(Basic)

Introduction to Dynamic Programming, States of DP, Memoization, CoinChange.

14

Counting Problem Solving

Problem solving using Combinatorics, Math, Counting.


Next Batches

Batch No. Class Days Time Reg. Close Class Start
04 Sat, Fri 10:00 PM August 22, 2019 August 23, 2019
Back to top