Modules / Lectures
Module NameDownload
Week_01_ Assignment_1Week_01_ Assignment_1
Week_01_Assignment _1bWeek_01_Assignment _1b
Week_01_Assignment_1aWeek_01_Assignment_1a
Week_02_Assignment_1Week_02_Assignment_1
Week_03_assignment_1Week_03_assignment_1
Week_03_assignment_1aWeek_03_assignment_1a
Week_03_assignment_1bWeek_03_assignment_1b
Week_04_assignment_1Week_04_assignment_1
Week_04_assignment_1aWeek_04_assignment_1a
Week_04_assignment_1bWeek_04_assignment_1b
Week_04_assignment_1cWeek_04_assignment_1c
Week_05_assignment_1Week_05_assignment_1
Week_05_assignment_1aWeek_05_assignment_1a
Week_05_assignment_1bWeek_05_assignment_1b
Week_05_assignment_1cWeek_05_assignment_1c
Week_06_assignment_1Week_06_assignment_1
Week_06_assignment_1aWeek_06_assignment_1a
Week_06_assignment_1bWeek_06_assignment_1b
Week_06_assignment_1cWeek_06_assignment_1c
Week_07_assignment_1Week_07_assignment_1
Week_07_assignment_1aWeek_07_assignment_1a
Week_07_assignment_1bWeek_07_assignment_1b
Week_07_assignment_1cWeek_07_assignment_1c
Week_08_assignment_1Week_08_assignment_1
Week_08_assignment_1aWeek_08_assignment_1a
Week_08_assignment_1bWeek_08_assignment_1b
Week_08_assignment_1cWeek_08_assignment_1c
Week_08_assignment_1dWeek_08_assignment_1d
Week_09_assignment_1Week_09_assignment_1
Week_09_assignment_1aWeek_09_assignment_1a
Week_09_assignment_1bWeek_09_assignment_1b
Week_10_assignment_1Week_10_assignment_1
Week_10_assignment_1aWeek_10_assignment_1a
Week_10_assignment_1bWeek_10_assignment_1b
Week_11_assignment_1Week_11_assignment_1
Week_11_assignment_1aWeek_11_assignment_1a
Week_12_assignment_1Week_12_assignment_1
Week_12_assignment_1aWeek_12_assignment_1a


Sl.No Chapter Name MP4 Download
1Lecture 1 Part 1: IntroductionDownload
2Lecture 1 Part 2 : IntroductionDownload
3Lecture 1 Part 3 : IntroductionDownload
4Lecture 1 Part 4 : IntroductionDownload
5Lecture 2 Part 1 : Problem Solving using ComputerDownload
6Lecture 2 Part 2 : Problem Solving using ComputerDownload
7Lecture 2 Part 3 : Problem Solving using ComputerDownload
8Lecture 2 Part 4 : Problem Solving using ComputerDownload
9Lecture 2 Part 5 : Problem Solving using ComputerDownload
10Lecture 3 Part 1 : Basic Elements of ProgramDownload
11Lecture 3 Part 2 : Basic Elements of ProgramDownload
12Lecture 3 Part 3 : Basic Elements of ProgramDownload
13Lecture 3 Part 4 : Basic Elements of ProgramDownload
14Lecture 4 Part 1 : Program DesignDownload
15Lecture 4 Part 2 : Program DesignDownload
16Lecture 4 Part 3 : Program DesignDownload
17Lecture 5 : Simple cpp GraphicsDownload
18Lecture 6 Part 1 : Conditional ExecutionDownload
19Lecture 6 Part 2 : Most general form of ifDownload
20Lecture 6 Part 3 : More general form of conditionsDownload
21Lecture 6 Part 4 : A somewhat large program exampleDownload
22Lecture 6 Part 5 : Switch statement and logical dataDownload
23Lecture 7 Part 1 : LoopsDownload
24Lecture 7 Part 2 : Mark averagingDownload
25Lecture 7 Part 3 : The break and continue statementsDownload
26Lecture 7 Part 4 : The for statementDownload
27Lecture 7 Part 5 : Euclid's algorithm for GCDDownload
28Lecture 7 Part 6 : Correctness proof for GCDDownload
29Lecture 8 : Computing Mathematical Functions Part 1 : Taylor seriesDownload
30Lecture 8 : Computing Mathematical Functions Part 2 : Numerical integrationDownload
31Lecture 8 : Computing Mathematical Functions Part 3 : Bisection MethodDownload
32Lecture 8 : Computing Mathematical Functions Part 4 : Newton Raphson MethodDownload
33Lecture 9 : Loops in various applications Part 1 : Loops in various applications brute force algorithmsDownload
34Lecture 9 : Loops in various applications Part 2 : Finding Pythagorean TriplesDownload
35Lecture 9 : Loops in various applications Part 3 : Modelling a system: bargainingDownload
36Lecture 9 : Loops in various applications Part 4 : Simulating a water tankDownload
37Lecture 9 : Loops in various applications Part 5 : Arithmetic on very large numbersDownload
38Lecture 10 : Functions Part 1 : BasicsDownload
39Lecture 10 : Functions Part 2 : ExamplesDownload
40Lecture 10 : Functions Part 3 : Reference parametersDownload
41Lecture 10 : Functions Part 4 : PointersDownload
42Lecture 10 : Functions Part 5 : Graphics Objects and Lecture conclusionDownload
43Lecture 11 : Recursion Part 1 : IntroductionDownload
44Lecture 11 : Recursion Part 2 : Recursive objects, Tree drawingDownload
45Lecture 11 : Recursion Part 3 : How to think about recursionDownload
46Lecture 12 : Virahanka Numbers Part 1 : IntroductionDownload
47Lecture 12 : Virahanka Numbers Part 2 : Recursive ProgramDownload
48Lecture 12 : Virahanka Numbers Part 3 : Iterative Program and ConclusionDownload
49Lecture 13 : Program Organization and Functions Part 1 : IntroductionDownload
50Lecture 13 : Program Organization and Functions Part 2 : Splitting into filesDownload
51Lecture 13 : Program Organization and Functions Part 3 : NamespacesDownload
52Lecture 13 : Program Organization and Functions Part 4 : How to use C++ without simplecppDownload
53Lecture 14 : Advanced Features of Functions Part 1 : Introduction and passing one function to anotherDownload
54Lecture 14 : Advanced Features of Functions Part 2 : Lambda expressionsDownload
55Lecture 14 : Advanced Features of Functions Part 3 : Default values to parametersDownload
56Lecture 14 : Advanced Features of Functions Part 4 : Function overloading and lecture conclusionDownload
57Lecture 15 : Array Part-1 : Part 1 : IntroductionDownload
58Lecture 15 : Array Part-1 : Part 2 : Marks averaging problemDownload
59Lecture 15 : Array Part-1 : Part 3 : Histogram computationDownload
60Lecture 15 : Array Part-1 : Part 4 : Marks display variationDownload
61Lecture 15 : Array Part-1 : Part 5 : Polynomial multiplicationDownload
62Lecture 15 : Array Part-1 : Part 6 : Queues in dispatching taxisDownload
63Lecture 15 : Array Part-1 : Part 7 : More efficient Queues in dispatching taxisDownload
64Lecture 15 : Array Part-1 : Part 8 : Disk intersectionDownload
65Lecture 15 : Array Part-1 : Part 9 : Arrays of graphical objects and conclusionDownload
66Lecture 16 : Array Part-2 : Part 1 : IntroductionDownload
67Lecture 16 : Array Part-2 : Part 2 : Interpretation of aname[index]Download
68Lecture 16 : Array Part-2 : Part 3 : Arrays and function callsDownload
69Lecture 16 : Array Part-2 : Part 4 : A function to sort an arrayDownload
70Lecture 17 : More on Arrays : Part 1 : Textual dataDownload
71Lecture 17 : More on Arrays : Part 2 : Functions on character stringsDownload
72Lecture 17 : More on Arrays : Part 3 : Two dimensional arraysDownload
73Lecture 17 : More on Arrays : Part 4 : Command Line ArgumentsDownload
74Lecture 18 : Arrays and recursion : Part 1 : Binary Search IntroductionDownload
75Lecture 18 : Arrays and recursion : Part 2 : Binary search analysisDownload
76Lecture 18 : Arrays and recursion : Part 3 : Mergesort overviewDownload
77Lecture 18 : Arrays and recursion : Part 4 : Merge functionDownload
78Lecture 18 : Arrays and recursion : Part 5 : Mergesort conclusionDownload
79Lecture 19 : Structures : Part 1 : Definition and instantiationDownload
80Lecture 19 : Structures : Part 2 : Operations on structuresDownload
81Lecture 19 : Structures : Part 3 : An example programDownload
82Lecture 19 : Structures : Part 4 : Pointers and lecture conclusionDownload
83Lecture 20 : Structures Part 2 : Part 1 : Introduction to Member functionsDownload
84Lecture 20 : Structures Part 2 : Part 2 : Vectors from PhysicsDownload
85Lecture 20 : Structures Part 2 : Part 3 : Taxi dispatchDownload
86Lecture 21 : Classes : Part 1 : IntroductionDownload
87Lecture 21 : Classes : Part 2 : ConstructorsDownload
88Lecture 21 : Classes : Part 3 : Operator overloadingDownload
89Lecture 21 : Classes : Part 4 : Access controlDownload
90Lecture 21 : Classes : Part 5 : Classes for graphics and input outputDownload
91Lecture 21 : Classes : Part 6 : General remarksDownload
92Lecture 22 : Representing variable length entities: Part 1 : IntroductionDownload
93Lecture 22 : Representing variable length entities: Part 2 : Heap memory basicsDownload
94Lecture 22 : Representing variable length entities: Part 3 : Pitfalls of using heap memoryDownload
95Lecture 22 : Representing variable length entities: Part 4 : Automating memory managementDownload
96Lecture 22 : Representing variable length entities: Part 5 : Implementing a class with automated memory management 1Download
97Lecture 22 : Representing variable length entities: Part 6 : Implementing a class with automated memory management 2Download
98Lecture 22 : Representing variable length entities: Part 7 : Using the implemented class and conclusionDownload
99Lecture 23 : The Standard Library: Part 1 : Class stringDownload
100Lecture 23 : The Standard Library: Part 2 : Class vectorDownload
101Lecture 23 : The Standard Library: Part 3 : Classes map and unordered_mapDownload
102Lecture 23 : The Standard Library: Part 4 : IteratorsDownload
103Lecture 24 : Data structure based programming : Part 1 : IntroductionDownload
104Lecture 24 : Data structure based programming : Part 2 : Set and pair classesDownload
105Lecture 24 : Data structure based programming : Part 3 : Implementation of standard library data structuresDownload
106Lecture 24 : Data structure based programming : Part 4 : Composing data structuresDownload
107Lecture 24 : Data structure based programming : Part 5 : typedef and lecture conclusionDownload
108Lecture 25 : Medium size programs : Part 1 : The new marks display programDownload
109Lecture 25 : Medium size programs : Part 2 : Manual algorithm for new marks displayDownload
110Lecture 25 : Medium size programs : Part 3 : RSMTAB and rest of the programDownload
111Lecture 25 : Medium size programs : Part 4 : Sophisticated solutions to marks displayDownload
112Lecture 26 : A graphical editor and solver for circuits : Part 1 : OutlineDownload
113Lecture 26 : A graphical editor and solver for circuits : Part 2 : Main program and organizationDownload
114Lecture 26 : A graphical editor and solver for circuits : Part 3 : Mathematical representation of the circuitDownload
115Lecture 26 : A graphical editor and solver for circuits Part 4 : Extensions and concluding remarksDownload
116Lecture 27 : Cosmological simulation : Part 1 : Introduction and First order Euler methodDownload
117Lecture 27 : Cosmological simulation : Part 2 : Second order Euler methodDownload
118Lecture 27 : Cosmological simulation : Part 3 : The programDownload
119Lecture 27 : Cosmological simulation : Part 4 : Concluding remarksDownload

Sl.No Chapter Name English
1Lecture 1 Part 1: IntroductionPDF unavailable
2Lecture 1 Part 2 : IntroductionPDF unavailable
3Lecture 1 Part 3 : IntroductionPDF unavailable
4Lecture 1 Part 4 : IntroductionPDF unavailable
5Lecture 2 Part 1 : Problem Solving using ComputerPDF unavailable
6Lecture 2 Part 2 : Problem Solving using ComputerPDF unavailable
7Lecture 2 Part 3 : Problem Solving using ComputerPDF unavailable
8Lecture 2 Part 4 : Problem Solving using ComputerPDF unavailable
9Lecture 2 Part 5 : Problem Solving using ComputerPDF unavailable
10Lecture 3 Part 1 : Basic Elements of ProgramPDF unavailable
11Lecture 3 Part 2 : Basic Elements of ProgramPDF unavailable
12Lecture 3 Part 3 : Basic Elements of ProgramPDF unavailable
13Lecture 3 Part 4 : Basic Elements of ProgramPDF unavailable
14Lecture 4 Part 1 : Program DesignPDF unavailable
15Lecture 4 Part 2 : Program DesignPDF unavailable
16Lecture 4 Part 3 : Program DesignPDF unavailable
17Lecture 5 : Simple cpp GraphicsPDF unavailable
18Lecture 6 Part 1 : Conditional ExecutionPDF unavailable
19Lecture 6 Part 2 : Most general form of ifPDF unavailable
20Lecture 6 Part 3 : More general form of conditionsPDF unavailable
21Lecture 6 Part 4 : A somewhat large program examplePDF unavailable
22Lecture 6 Part 5 : Switch statement and logical dataPDF unavailable
23Lecture 7 Part 1 : LoopsPDF unavailable
24Lecture 7 Part 2 : Mark averagingPDF unavailable
25Lecture 7 Part 3 : The break and continue statementsPDF unavailable
26Lecture 7 Part 4 : The for statementPDF unavailable
27Lecture 7 Part 5 : Euclid's algorithm for GCDPDF unavailable
28Lecture 7 Part 6 : Correctness proof for GCDPDF unavailable
29Lecture 8 : Computing Mathematical Functions Part 1 : Taylor seriesPDF unavailable
30Lecture 8 : Computing Mathematical Functions Part 2 : Numerical integrationPDF unavailable
31Lecture 8 : Computing Mathematical Functions Part 3 : Bisection MethodPDF unavailable
32Lecture 8 : Computing Mathematical Functions Part 4 : Newton Raphson MethodPDF unavailable
33Lecture 9 : Loops in various applications Part 1 : Loops in various applications brute force algorithmsPDF unavailable
34Lecture 9 : Loops in various applications Part 2 : Finding Pythagorean TriplesPDF unavailable
35Lecture 9 : Loops in various applications Part 3 : Modelling a system: bargainingPDF unavailable
36Lecture 9 : Loops in various applications Part 4 : Simulating a water tankPDF unavailable
37Lecture 9 : Loops in various applications Part 5 : Arithmetic on very large numbersPDF unavailable
38Lecture 10 : Functions Part 1 : BasicsPDF unavailable
39Lecture 10 : Functions Part 2 : ExamplesPDF unavailable
40Lecture 10 : Functions Part 3 : Reference parametersPDF unavailable
41Lecture 10 : Functions Part 4 : PointersPDF unavailable
42Lecture 10 : Functions Part 5 : Graphics Objects and Lecture conclusionPDF unavailable
43Lecture 11 : Recursion Part 1 : IntroductionPDF unavailable
44Lecture 11 : Recursion Part 2 : Recursive objects, Tree drawingPDF unavailable
45Lecture 11 : Recursion Part 3 : How to think about recursionPDF unavailable
46Lecture 12 : Virahanka Numbers Part 1 : IntroductionPDF unavailable
47Lecture 12 : Virahanka Numbers Part 2 : Recursive ProgramPDF unavailable
48Lecture 12 : Virahanka Numbers Part 3 : Iterative Program and ConclusionPDF unavailable
49Lecture 13 : Program Organization and Functions Part 1 : IntroductionPDF unavailable
50Lecture 13 : Program Organization and Functions Part 2 : Splitting into filesPDF unavailable
51Lecture 13 : Program Organization and Functions Part 3 : NamespacesPDF unavailable
52Lecture 13 : Program Organization and Functions Part 4 : How to use C++ without simplecppPDF unavailable
53Lecture 14 : Advanced Features of Functions Part 1 : Introduction and passing one function to anotherPDF unavailable
54Lecture 14 : Advanced Features of Functions Part 2 : Lambda expressionsPDF unavailable
55Lecture 14 : Advanced Features of Functions Part 3 : Default values to parametersPDF unavailable
56Lecture 14 : Advanced Features of Functions Part 4 : Function overloading and lecture conclusionPDF unavailable
57Lecture 15 : Array Part-1 : Part 1 : IntroductionPDF unavailable
58Lecture 15 : Array Part-1 : Part 2 : Marks averaging problemPDF unavailable
59Lecture 15 : Array Part-1 : Part 3 : Histogram computationPDF unavailable
60Lecture 15 : Array Part-1 : Part 4 : Marks display variationPDF unavailable
61Lecture 15 : Array Part-1 : Part 5 : Polynomial multiplicationPDF unavailable
62Lecture 15 : Array Part-1 : Part 6 : Queues in dispatching taxisPDF unavailable
63Lecture 15 : Array Part-1 : Part 7 : More efficient Queues in dispatching taxisPDF unavailable
64Lecture 15 : Array Part-1 : Part 8 : Disk intersectionPDF unavailable
65Lecture 15 : Array Part-1 : Part 9 : Arrays of graphical objects and conclusionPDF unavailable
66Lecture 16 : Array Part-2 : Part 1 : IntroductionPDF unavailable
67Lecture 16 : Array Part-2 : Part 2 : Interpretation of aname[index]PDF unavailable
68Lecture 16 : Array Part-2 : Part 3 : Arrays and function callsPDF unavailable
69Lecture 16 : Array Part-2 : Part 4 : A function to sort an arrayPDF unavailable
70Lecture 17 : More on Arrays : Part 1 : Textual dataPDF unavailable
71Lecture 17 : More on Arrays : Part 2 : Functions on character stringsPDF unavailable
72Lecture 17 : More on Arrays : Part 3 : Two dimensional arraysPDF unavailable
73Lecture 17 : More on Arrays : Part 4 : Command Line ArgumentsPDF unavailable
74Lecture 18 : Arrays and recursion : Part 1 : Binary Search IntroductionPDF unavailable
75Lecture 18 : Arrays and recursion : Part 2 : Binary search analysisPDF unavailable
76Lecture 18 : Arrays and recursion : Part 3 : Mergesort overviewPDF unavailable
77Lecture 18 : Arrays and recursion : Part 4 : Merge functionPDF unavailable
78Lecture 18 : Arrays and recursion : Part 5 : Mergesort conclusionPDF unavailable
79Lecture 19 : Structures : Part 1 : Definition and instantiationPDF unavailable
80Lecture 19 : Structures : Part 2 : Operations on structuresPDF unavailable
81Lecture 19 : Structures : Part 3 : An example programPDF unavailable
82Lecture 19 : Structures : Part 4 : Pointers and lecture conclusionPDF unavailable
83Lecture 20 : Structures Part 2 : Part 1 : Introduction to Member functionsPDF unavailable
84Lecture 20 : Structures Part 2 : Part 2 : Vectors from PhysicsPDF unavailable
85Lecture 20 : Structures Part 2 : Part 3 : Taxi dispatchPDF unavailable
86Lecture 21 : Classes : Part 1 : IntroductionPDF unavailable
87Lecture 21 : Classes : Part 2 : ConstructorsPDF unavailable
88Lecture 21 : Classes : Part 3 : Operator overloadingPDF unavailable
89Lecture 21 : Classes : Part 4 : Access controlPDF unavailable
90Lecture 21 : Classes : Part 5 : Classes for graphics and input outputPDF unavailable
91Lecture 21 : Classes : Part 6 : General remarksPDF unavailable
92Lecture 22 : Representing variable length entities: Part 1 : IntroductionPDF unavailable
93Lecture 22 : Representing variable length entities: Part 2 : Heap memory basicsPDF unavailable
94Lecture 22 : Representing variable length entities: Part 3 : Pitfalls of using heap memoryPDF unavailable
95Lecture 22 : Representing variable length entities: Part 4 : Automating memory managementPDF unavailable
96Lecture 22 : Representing variable length entities: Part 5 : Implementing a class with automated memory management 1PDF unavailable
97Lecture 22 : Representing variable length entities: Part 6 : Implementing a class with automated memory management 2PDF unavailable
98Lecture 22 : Representing variable length entities: Part 7 : Using the implemented class and conclusionPDF unavailable
99Lecture 23 : The Standard Library: Part 1 : Class stringPDF unavailable
100Lecture 23 : The Standard Library: Part 2 : Class vectorPDF unavailable
101Lecture 23 : The Standard Library: Part 3 : Classes map and unordered_mapPDF unavailable
102Lecture 23 : The Standard Library: Part 4 : IteratorsPDF unavailable
103Lecture 24 : Data structure based programming : Part 1 : IntroductionPDF unavailable
104Lecture 24 : Data structure based programming : Part 2 : Set and pair classesPDF unavailable
105Lecture 24 : Data structure based programming : Part 3 : Implementation of standard library data structuresPDF unavailable
106Lecture 24 : Data structure based programming : Part 4 : Composing data structuresPDF unavailable
107Lecture 24 : Data structure based programming : Part 5 : typedef and lecture conclusionPDF unavailable
108Lecture 25 : Medium size programs : Part 1 : The new marks display programPDF unavailable
109Lecture 25 : Medium size programs : Part 2 : Manual algorithm for new marks displayPDF unavailable
110Lecture 25 : Medium size programs : Part 3 : RSMTAB and rest of the programPDF unavailable
111Lecture 25 : Medium size programs : Part 4 : Sophisticated solutions to marks displayPDF unavailable
112Lecture 26 : A graphical editor and solver for circuits : Part 1 : OutlinePDF unavailable
113Lecture 26 : A graphical editor and solver for circuits : Part 2 : Main program and organizationPDF unavailable
114Lecture 26 : A graphical editor and solver for circuits : Part 3 : Mathematical representation of the circuitPDF unavailable
115Lecture 26 : A graphical editor and solver for circuits Part 4 : Extensions and concluding remarksPDF unavailable
116Lecture 27 : Cosmological simulation : Part 1 : Introduction and First order Euler methodPDF unavailable
117Lecture 27 : Cosmological simulation : Part 2 : Second order Euler methodPDF unavailable
118Lecture 27 : Cosmological simulation : Part 3 : The programPDF unavailable
119Lecture 27 : Cosmological simulation : Part 4 : Concluding remarksPDF unavailable


Sl.No Language Book link
1EnglishNot Available
2BengaliNot Available
3GujaratiNot Available
4HindiNot Available
5KannadaNot Available
6MalayalamNot Available
7MarathiNot Available
8TamilNot Available
9TeluguNot Available