NOC:Programming, Data Structures and Algorithms


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 - Video Solution to Digital Root Programming Assignment


Lecture 9 - Introduction to arrays


Lecture 10 - Working with 1D arrays


Lecture 11 - Find prime numbers


Lecture 12 - Debugging demo


Lecture 13 - Multi-dimensional arrays


Lecture 14 - Pointers


Lecture 15 - More on pointers


Lecture 16 - Arrays and pointer arithmetic


Lecture 17 - Introduction to Strings


Lecture 18 - More on Strings


Lecture 19 - Video Solution to Print Elements of a Matrix in Spiral Order Programming Assignment


Lecture 20 - Introduction to functions


Lecture 21 - More details on functions


Lecture 22 - Arguments, variables and parameters


Lecture 23 - Pass parameters by reference


Lecture 24 - Recursive functions


Lecture 25 - Running time of a program


Lecture 26 - Computing time complexity


Lecture 27 - Video Solution to Palindrome Checker Programming Assignment


Lecture 28 - Algorithms and Powering


Lecture 29 - Polynomial evaluation and multiplication


Lecture 30 - Linear and Binary Search Analysis


Lecture 31 - Analysis of minimum and maximum in an array


Lecture 32 - Sorting I: Insertion, Merge


Lecture 33 - Sorting II: Counting, Radix


Lecture 34 - Finding i-th smallest number


Lecture 35 - Video Solution to Sorting words Programming Assignment


Lecture 36 - Structures


Lecture 37 - More on structures


Lecture 38 - Using structures and pointers to structures


Lecture 39 - Dynamic memory allocation


Lecture 40 - Linked Lists


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


Lecture 42 - Data Structures: Abstract Data Type


Lecture 43 - Lists


Lecture 44 - Supplementary Lesson


Lecture 45 - Video Solution to Implementing a Hash Table ADT Programming Assignment


Lecture 46 - Stacks: Last In First Out


Lecture 47 - Queues: First In First Out


Lecture 48 - Trees


Lecture 49 - Tree traversal


Lecture 50 - Binary Search Trees


Lecture 51 - Heaps


Lecture 52 - Graphs and Representation


Lecture 53 - Supplementary Lesson


Lecture 54 - Video Solution to the Queue in a Hospital Programming Assignment


Lecture 55 - Greedy Algorithms


Lecture 56 - Dynamic Programming


Lecture 57 - Matrix Chain Multiplication


Lecture 58 - Dijkstra's Algorithm


Lecture 59 - Boyer-Moore String Matching Algorithm


Lecture 60 - File I/O


Lecture 61 - Modular Programming