X
X
X

X
Courses » 2016: Programming, Data structures and Algorithms

2016: Programming, Data structures and Algorithms

About the course

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. 


Course highlights

  • Duration: 10 weeks
  • 2-3 hours of lecture per week
  • Aimed at college students 2nd year & above
  • Online assessment & programming assignments
  • In-person proctored examination with certification

22535 students have enrolled already!!

About the instructors





Shankar Balachandran is an Assosiate Professor in the Computer Science and Engineering Department at IIT Madras. He received his Ph.D. degree in Electrical Engineering from the University of Texas at Dallas in 2005 and B.E. in Computer Science and Engineering from the University of Madras in 1998.


N. S. Narayanaswamy is an Associate Professor in the Computer Science and Engineering Department at IIT Madras. He received his Ph.D. degree in Computer Science (2001) and M.E. degree in Electrical Engineering (1993) from the Indian Institute of Science, Bangalore.




Hema A. Murthy is a Professor in the Computer Science and Engineering Department at IIT Madras. She received her Ph.D. degree in Computer Science from IIT Madras in 1992 and her Masters degree in Electrical and Computer Engineering from McMaster University, Canada in 1986.

List of Topics

  • 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

Certification Exam

The exam is optional.
Exams will be on 20 March 2016 and 27 March 2016.
Time: 2pm-5pm

Tentative list of exam cities: http://nptel.ac.in/noc/pdf/Exam%20City-list.pdf

Registration url: Announcements will be made when the registration form is open for registrations.

The online registration form has to be filled and the certification exam fee of approximately Rs 1250 needs to be paid.

Certificate

Certificate will be given to those who register and write the exam. Certificate will have your name, photograph and the score in the final exam.

It will have the logos of NPTEL and IIT Madras. It will be e-verifiable at nptel.ac.in/noc.