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

Indian Institute of Technology Madras

Programming, Data Structures and Algorithms

Indian Institute of Technology Madras and NPTEL via Swayam

This course may be unavailable.

Overview

Prepare for a new career with $100 off Coursera Plus
Gear up for jobs in high-demand fields: data analytics, digital marketing, and more.

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. 

Syllabus

  • Introduction to Computers and Programming
  • Writing your first program
  • Variables and operators and expressions
  • Variable declarations, more operators, precedence
  • Input, Output Statements
  • Conditionals
  • Loops
  • Arrays and Multidimensional arrays
  • Pointers
  • Functions
  • Running time of a program
  • Computing time complexity
  • Polynomial evaluation and multiplication
  • Searching: Linear and Binary
  • Finding minimum and maximum
  • Sorting I: Insertion, Merge
  • Sorting II: Counting, Radix
  • Finding i-th smallest number
  • Structures and User-defined data types
  • Brief introduction to C++: Classes and objects
  • Data Structures: Abstract Data Type
  • Lists
  • Stacks: Last In First Out
  • Queues: First In First Out
  • Trees
  • Tree traversal
  • Heaps
  • Graphs and Representation
  • Greedy algorithms
  • Dynamic programming
  • Matrix Chain Multiplication
  • Dijkstra's Algorithm
  • Strings
  • Boyer-Moore String Matching Algorithm
  • File I/O
  • Modular Programming

Taught by

Hema A. Murthy, Shankar Balachandran and N. S. Narayanaswamy

Reviews

2.3 rating, based on 3 Class Central reviews

Start your review of Programming, Data Structures and Algorithms

  • Profile image for AYUSH JAISWAL
    AYUSH JAISWAL
    All over the course is very much interesting but lacked providing different types of study materials which could enhance the knowledge of programming in python.
  • Anonymous

Never Stop Learning.

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

Someone learning on their laptop while sitting on the floor.