# 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
• 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
06 Sat, Fri 10:00 PM January 07, 2020 January 10, 2020

Tuhin Chy

Posted On: 31-Oct-2019

Too Good. My basic is much strong now about graph , dp , Actually the course plan , class and the instructor is so good . loved it . Hopefuly , i will take some course from devskill. Good wishes for devskill.

Sonom Rubayat Noor

Posted On: 30-Oct-2019

Our instructor was truly helpful in every way. He was also co operative and has a profound knowledge about the topic.Topics are explained and taken care of very carefully. He is passionate about teaching .

Md. Tariqul Islam Bhuiyan

Posted On: 24-Oct-2019

Md Shahriar Hossain Sajib has been genuinely professional throughout the course. First he showed how the algorithm works, then how to code and gave us some relatable problems to solve. It is effective teaching method I think. It will be great if all the tutorials are provided to us cause when we learn we can skip something important unintentionally but when we revisit the tutorial we can catch the fact. I hope devskill's administrator will give thought about this fact. Thanks and best wishes for Sajib vai. Hope you will help us if we face any problem in coding.

Rasel Hasan

Posted On: 24-Oct-2019

One of the great online course I have taken. Specially, the type or technique of teaching is awesome. I think who are interested in CP, can take an enrollment. My rating for this couse is 10 out of 10. Specially Md Shahriar Hossain Sajib, our trainer is really a great programmer and teacher. From the starting class I became fan of him. Some facts such as background noise , schedule missing is really annoying. Finally, the trainer Md Shahriar Hossain Sajib vai is a perfect trainer I think. Thanks.

MirJokhaer

Posted On: 21-Oct-2019

Great course with a great instructor . This will help you to get a better result in competitive programming field .

Sharfuddin Ahamed

Posted On: 19-Oct-2019

কোর্স থেকে প্রাপ্তি এখন পর্যন্ত: --------------------------------------- আমার গ্রাজুয়েশন আগে পরে একটা গ্যাপ ছিলো বিধায় জব ইন্টারভিউতে বা এক্সামে বেসিক এলগোরিদম নিয়ে ভীতি ছিলো কিন্তু এখন সেটি কাটিয়ে উঠছি। ভালো দিক: --------------- ট্রেইনার এর নলেজ, ডেডিকেশন। বিশেষ করে বিরক্ত হতে দেখিনি। প্রতিটি টপিকস ভালো করে বুঝানো হয়েছে। পরামর্শ: ---------- একটি সাপোর্ট পোর্টাল রাখা যাতে ক্লাস এর ভিডিও ব্যাকআপ জন্যে অনুরোধ করা যাবে সাপোর্ট টিকেট খুলে। "আর আগামীতে যাদের কোর্সটি করার ইচ্ছে আছে বা নিশ্চিত নন, তাদের উদ্দেশে বলছি এখন অন্তত কম্পিটিটিভ প্রোগ্রামিং এর বেসিক নলেজ লাগে ভালো জব কোম্পানি বা জাপান/কোরিয়া আইটির এক্সাম গুলোতে।"

shakhawat hossain

Posted On: 18-Oct-2019

এক ফ্রেন্ডের সাজেশনে এই কোর্সে ভর্তি হয়েছিলাম।এর নাম বিগিনার হলেও যাশেখানো হয়েছিল তা মধ্যেই সাধারণ সিএসই শিক্ষার্থীদের জন্য অনেক এডভান্স টপিক ছিল। আলহামদুলিল্লাহ কোর্স শিক্ষক ও অনেক ভালো ছিলেন। এই কোর্সের ভালো দিক তুলে ধরলামঃ ১. আমি ভার্সিটিতে থার্ড সেমির স্টুডেন্ট ছিলাম। আমার ধারণা ছিল আমি মোটামুটি ব্যাসিক অনেক কিছুই জানি। কিন্তু এই কোর্সের ৩-৪ টার ক্লাস করার পর বুঝলাম আমি ঠিকমত ১০% ও জানি নাহ। আমি এখন নিজের অবস্থান সম্পর্কে যথেষ্ঠ ধারণা লাভ করেছি। ২. কিছু কিছু টপিক রয়েছে যেগুলো নিয়ে পড়লে কিংবা টপিক রিলেটেড ভিডিও দেখলেও অনেক কনফিউশন থেকে যায় যা প্র্যাকটিক্যালি ইমপ্লিমেন্ট করলে কনফিউশন দূর করা যায়। কিন্তু আমাদের কোর্স শিক্ষকের এইসব বিষয় নিয়ে অভিজ্ঞতা থাকায় আমি কনফিউশন গুলো সহজেই দূর করতে পেরেছিলাম ইমপ্লিমেন্ট করা ছাড়াই। ৩. ভার্সিটিতে যেটাই শেখানো হত বেশীর ভাগ ক্ষেত্রে থিওরীটিকাল ভাবে শেখানো হত। কিন্তু কোর্স শিক্ষক আমাদের প্রত্যেকটা টপিক কোড দিয়ে ইমপ্লিমেন্ট করে বুঝিয়েছিলেন। যা খুবই কাজে লেগেছে নিজে প্র্যাকটিস করার সময়। ৪. কোর্স টিচার খুবই ফ্রেন্ডলি ছিলেন। নিজের কনফিউশন গুলো ভালোভাবে না বুঝাতে পারলেও তিনি বুঝে নিতেন। ৫. কোর্সের মাঝে কন্টেস্ট ছিল যেগুলাতে অংশগ্রহন করেছিলাম। কোর্স শিক্ষক আমাদের সাবমিট করা কোড গুলো নিয়ে বিস্তারিত আলোচনা করেন। কিভাবে কোডের মান উন্নত করব তা নিয়ে গুরুত্বপূর্ণ পরামর্শ দেন। যেসব সমস্যার সম্মুখীন হয়েছিলামঃ ১. এক্সামের কারণে দুই একটা ক্লাস মিস হয়ে গিয়েছিল। যার কারণে পরের ক্লাস গুলোতে টপিক ধরতে অসুবিধা হয়েছিল অনেক। ২. কিছু কিছু ক্লাসে প্রচুর ডিটেইলসে পড়ানো হয়েছিল। এ ক্ষেত্রে বিষয় গুলো মাথা থাকে না অথবা লিখে রাখা যায় না পুরোপুরি। ৩. দুই একবার ক্লাস শিডিউল চেঞ্জের কারণে অসুবিধায় পড়তে হয়েছিল। ৪. ইন্টারনেট সমস্যা বা লোড শেডিং এর কারণে ক্লাস মিস হয়েছিল। অবশেষে বলতে পারি যে এই কোর্সটিতে এনরোল করার সিদ্ধান্তটি আমার নেওয়া অন্যতম একটি সিদ্ধান্ত ছিল। আমার শেখার গতিকে অনেক বাড়িয়ে দিয়েছে এই কোর্স। ভার্সিটিতে ২য় থেকে চতুর্থ সেমিস্টারের ছাত্রদের কে রিকোমেন্ড করতে চাই এই কোর্সটি। সমস্যা হল নিয়মিত ক্লাস না থাকলে এই কোর্স কোন কাজেই আসবে নাহ। এই কোর্সের পর আমি এডভান্স কোর্সটিও করতে আগ্রহী।

MD Abdul Munim

Posted On: 18-Oct-2019

বিরাট ভালো লাগছে! মাত্র ৪ হাজার টাকা দিয়ে এসব এক্সপেরিয়েন্স হবে ভাবি নাই! কোর্সটি খুবই ওয়েল স্ট্রাকচার্ড, সাদমান ভাইয়ের আন্তরিকতা, প্রশ্ন করার আগে উত্তর দিয়ে দেয়া, প্রতি সপ্তাহে কনটেস্ট আর বিশ্লেষণ,এডভাইস, প্রত্যেক টপিক একবারে বেসিক বেজ ক্লিয়ার করে পড়াইছেন!,রিসোর্স প্রোভাইড করা! এছাড়াও একটা অনেক গুরুত্বপূর্ণ কথা হচ্ছে ট্রেইনার সাদমান ভাই আমাদের একটা পথ দেখিয়ে দিয়েছেন! যথেষ্ট সন্তুষ্ট আর পরিশেষে ডেভ্স্কিল টিম কে অসংখ ধন্যবাদ এই কোর্সটি আমাদের মাঝে নিয়ে আসার জন্য!

Porosh Islam

Posted On: 17-Oct-2019

It's a great course.And specially our instructor Sajib vai is a great teacher. though i could not attend all the classes .. but i am quite benefited.

Kazi Moin

Posted On: 17-Oct-2019

The course was fantastic for me. Very clear and well-structured content with good examples. Presentations and explanations are helpful and understandable. The instructor keeps the course interesting with his enthusiasm. I can just recommend, it was definitely worth it!