NPTEL Course : 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

List of Topics


          Week 1 : Click Here For Video Tutorial

  • Introduction to Computers and Programming
  • Writing your first program
  • Variables and operators and expressions
  • Variable declarations, more operators, precedence
  • Input, Output Statements
  • Conditionals
  • Loops

    Week 2 : Click Here For Video Tutorial

  • Arrays and Multidimensional arrays
  • Pointers

    Week 3: Click Here For Video Tutorial

  • Functions
  • Running time of a program
  • Computing time complexity
  • Polynomial evaluation and multiplication

    Week 4 : Click Here For Video Tutorial

  • Searching: Linear and Binary
  • Finding minimum and maximum
  • Sorting I: Insertion, Merge
  • Sorting II: Counting, Radix
  • Finding i-th smallest number

    Week 5: Click Here For Video Tutorial

  • Structures and User-defined data types
  • Brief introduction to C++: Classes and objects
  • Data Structures: Abstract Data Type
  • Lists

 
          Week 6: Click Here For Video Tutorial

  • Stacks: Last In First Out
  • Queues: First In First Out
  • Trees
  • Tree traversal
  • Heaps
  • Graphs and Representation

       
             Week 7: Click Here For Video Tutorial

  • Greedy algorithms
  • Dynamic programming
  • Matrix Chain Multiplication 

             Week 8: Click Here For Video Tutorial

  • Dijkstra's Algorithm
  • Strings

             Week 9: Click Here For Video Tutorial

  • Boyer-Moore String Matching Algorithm
  • File I/O
  • Modular Programming

Contact Us

Want to ask anything? Be our guest, give us a message.

Name Email * Message *