Watch Demo


Beginner's guide to design programming solutions using Algorithms

Learn how to develop algorithmic thinking by understanding popular algorithms used by professionals today in this course presented to you by an IIT professor.

Lifetime access
529 learners

Course Introduction:

In this course, you will get an introduction to the world of algorithms, the different types of algorithms that are currently being used today, and finally you'll be taken through some of the most popular algorithms used by professional coders today. By subscribing to this course, you will be able to develop what in the software industry is known as 'algorithmic thinking'. The lessons that you will learn in this course can be extrapolated to solve problems that you will encounter on a daily basis in your programming career.

Read more

Course Objectives:

By subscribing to this course, you will learn various algorithms including the following:

  • Greedy algorithms that are used solving optimization problems such as in ad hoc mobile networking
  • Dynamic Programming which is used to solve problems using divide and conquer methods
  • Dijkstra's algorithm that helps in finding the shortest path between two points in a graph

Pre-requisites and Target Audience:

You must know basic coding to enroll in this online tutorial. This course is best suited for:

  • College Students
  • Beginner Level Programmers

A basic proficiency in 12 grade Mathematics is a prerequisite to taking up this course. Also, knowledge of programming constructs will definitely aid in the learning process.

Course Plan

1. Greedy Algorithms
3 videos
Change Problem 08:42

Scheduling Problems 04:59

Mathematical representation of Scheduling Problems 08:23
2. Dynamic programming
3 videos
Shortest Path Algorithm 09:09

Recursive Solution 10:48
3. Matrix Chain Multiplication
3 videos
Chain Multiplication 08:06

Dynamic Programming Approach 08:20

4. Dijkstra's Algorithm
2 videos
Algorithm explanation 11:20

Solving an example 14:20
5. String Matching
3 videos
String matching algorithm by Bad Character rule 15:14

Good suffix 11:58

Using data structure to solve a problem and understanding Boyer Moore algorithm 20:57

Meet the Author

Dr. N S. Narayanaswamy
CSE Professor, IIT Madras
The National Programme on Technology Enhanced Learning (NPTEL), a project funded by the Ministry of Human Resource Development, provides e-learning through online Web and Video courses in Engineering, Sciences, Technology, Management and Humanities. This is a joint initiative by seven IITs and IISc Bangalore. Prof N.S. Narayanaswamy serves as an Associate Professor in the Computer Science and Engineering Department at IIT Madras. He received a Ph.D. in CSA Department from IISc in 2001. He has been teaching for more than 10 years and is one of the well-known professors in IIT Madras. Over the years, he has been the reviewer for submissions to many famous journals like Symposium on Theoretical Aspects of CS ,Foundations of Software Technology and Theoretical CS, Workshop on Algorithms and Complexity and many more. He also had the opportunity to be a resource person for the workshops supported by IARCS and NBHM. Apart from teaching, he enjoys trekking and mountaineering the most.
Ratings and Reviews     4.6/5

You may also like