NPTEL : NOC:Programming, Data Structures and Algorithms (Aricent) (Computer Science and Engineering)

Co-ordinators : Dr. N S. Narayanaswamy, Prof. Shankar Balachandran, Prof. Hema A Murthy


Lecture 1 - Introduction to Computers and Programming

Lecture 2 - Writing your first program

Lecture 3 - Variables, Operators and Expressions

Lecture 4 - Variable declarations, more operators and precedence

Lecture 5 - Input and Output Statements

Lecture 6 - Conditionals

Lecture 7 - Loops

Lecture 8 - Introduction to arrays

Lecture 9 - Working with 1D arrays

Lecture 10 - Find prime numbers

Lecture 11 - Debugging demo

Lecture 12 - Multi-dimensional arrays

Lecture 13 - Pointers

Lecture 14 - More on pointers

Lecture 15 - Arrays and pointer arithmetic

Lecture 16 - Introduction to Strings

Lecture 17 - More on Strings

Lecture 18 - Introduction to functions

Lecture 19 - More details on functions

Lecture 20 - Arguments, variables and parameters

Lecture 21 - Pass parameters by reference

Lecture 22 - Recursive Functions

Lecture 23 - C control structures, functional specification of programs

Lecture 24 - Complexity Analysis using Sum and Product Rule

Lecture 25 - Complexity Analysis of Recursive Functions

Lecture 26 - Algorithms and Powering

Lecture 27 - Polynomial evaluation and multiplication

Lecture 28 - Linear and Binary Search Analysis

Lecture 29 - Analysis of minimum and maximum in an array

Lecture 30 - Sorting I: Insertion, Merge

Lecture 31 - Sorting II: Counting, Radix

Lecture 32 - Finding i-th smallest number

Lecture 33 - Structures

Lecture 34 - More on Structures

Lecture 35 - Using structures and pointers to structures

Lecture 36 - Dynamic memory allocation

Lecture 37 - Linked List

Lecture 38 - Brief introduction to C++: Classes and objects

Lecture 39 - Abstract Data Types

Lecture 40 - More on ADT

Lecture 41 - Stacks: Last In First Out

Lecture 42 - Queues: First In First

Lecture 43 - Trees

Lecture 44 - Tree Traversal

Lecture 45 - Binary Search

Lecture 46 - Heaps

Lecture 47 - Graphs and Representations

Lecture 48 - Greedy Algorithms

Lecture 49 - Dynamic Programming

Lecture 50 - Matrix Chain Multiplication

Lecture 51 - Hash Tables

Lecture 52 - Graph Algorithms: Dijkstras Algorithm and Prims Algorithm

Lecture 53 - Graph Traversals: BFS,DFS and Articulation Points

Lecture 54 - File I/O

Lecture 55 - Modular Programming