Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


Programming, Data Structures and Algorithms

NPTEL and Indian Institute of Technology Madras via YouTube


This is a course on programming, data structures and algorithms. The learner is assumed to have no prior experience of programming but is expected to be at the level of a second year undergraduate college student in science or engineering. The course will run over ten weeks with about 2-3 hours of lectures per week.

At the end of each week, the learner is expected to write some programs and submit them for grading. These programming problems are classified as easy, moderate or difficult. The easy problems, typically, are repeats from the lecture. The moderate and difficult ones will require increasing levels of initiative from the learner.

In addition, at the end of each week the learner is expected to answer a set of objective-type assessment questions.


Module 1.
Module 2.
Module 3.
Module 4.
Module 5.
Module 6.
Module 7.
Video Solution to Digital Root Programming Assignment.
Module 8a.
Module 8b.
Module 8c.
Module debugging Demo module.
Module 9a.
Module 9b.
Module 9c.
Module 9d.
Module 13a.
Module 13b.
Video Solution to Print Elements of a Matrix in Spiral Order Programming Assignment.
Introduction to functions.
More details on functions.
Arguments, variables and parameters.
Pass parameters by reference.
Recursive functions.
Running time of a program.
Module 3.
Video Solution to Palindrome Checker Programming Assignment.
Algorithms and Powering.
Polynomial evaluation and multiplication.
Linear and Binary Search Analysis.
Analysis of minimum and maximum in an array.
Sorting I: Insertion, Merge.
Sorting II: Counting, Radix.
Finding i-th smallest number.
Video Solution to Sorting words Programming Assignment.
More on structures.
Using structures and pointers to structures.
Dynamic memory allocation.
Linked Lists.
Brief introduction to C++: Classes and objects.
Data Structures: Abstract Data Type.
Supplementary Lesson.
Video Solution to Implementing a Hash Table ADT Programming Assignment.
Stacks: Last In First Out.
Queues: First In First Out.
Tree traversal.
Binary Search Trees.
Graphs and Representation.
Supplementary Lesson.
Video Solution to the Queue in a Hospital Programming Assignment.
Greedy Algorithms.
Dynamic Programming.
Matrix Chain Multiplication.
Boyer-Moore String Matching Algorithm.
File I/O.
Modular Programming.

Taught by

Programming, Data Structures and Algorithms


4.0 rating, based on 1 Class Central review

Start your review of Programming, Data Structures and Algorithms

  • Profile image for Jognesh RAVVA
    Jognesh RAVVA
    nice course. It is help full to beginners also. This course was short but very informative and very helpful for an aspiring leader like myself. It also helped me understand how to view or understand when I receive feedback. I highly recommend it!!

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.