Learn · NPTEL

Course106101208126 lectures

An Introduction to Programming Through C++

Prof. Abhiram Ranade · IIT Bombay

Start with lecture 1 At NPTEL

Lectures

Week 1

  1. Lecture 1 Part 1: Introduction Video
  2. Lecture 1 Part 2 : Introduction Video
  3. Lecture 1 Part 3 : Introduction Video
  4. Lecture 1 Part 4 : Introduction Video
  5. Lecture 2 Part 1 : Problem Solving using Computer Video
  6. Lecture 2 Part 2 : Problem Solving using Computer Video
  7. Lecture 2 Part 3 : Problem Solving using Computer Video
  8. Lecture 2 Part 4 : Problem Solving using Computer Video
  9. Lecture 2 Part 5 : Problem Solving using Computer Video

Week 2

  1. Lecture 3 Part 1 : Basic Elements of Program Video
  2. Lecture 3 Part 2 : Basic Elements of Program Video
  3. Lecture 3 Part 3 : Basic Elements of Program Video
  4. Lecture 3 Part 4 : Basic Elements of Program Video
  5. Lecture 4 Part 1 : Program Design Video
  6. Lecture 4 Part 2 : Program Design Video
  7. Lecture 4 Part 3 : Program Design Video
  8. Lecture 5 : Simple cpp Graphics Video

Week 3

  1. Lecture 6 Part 1 : Conditional Execution Video
  2. Lecture 6 Part 2 : Most general form of if Video
  3. Lecture 6 Part 3 : More general form of conditions Video
  4. Lecture 6 Part 4 : A somewhat large program example Video
  5. Lecture 6 Part 5 : Switch statement and logical data Video
  6. Lecture 7 Part 1 : Loops Video
  7. Lecture 7 Part 2 : Mark averaging Video
  8. Lecture 7 Part 3 : The break and continue statements Video
  9. Lecture 7 Part 4 : The for statement Video
  10. Lecture 7 Part 5 : Euclid's algorithm for GCD Video
  11. Lecture 7 Part 6 : Correctness proof for GCD Video

Week 4

  1. Lecture 8 : Computing Mathematical Functions Part 1 : Taylor series Video
  2. Lecture 8 : Computing Mathematical Functions Part 2 : Numerical integration Video
  3. Lecture 8 : Computing Mathematical Functions Part 3 : Bisection Method Video
  4. Lecture 8 : Computing Mathematical Functions Part 4 : Newton Raphson Method Video
  5. Lecture 9 : Loops in various applications Part 1 : Loops in various applications brute force algorithms Video
  6. Lecture 9 : Loops in various applications Part 2 : Finding Pythagorean Triples Video
  7. Lecture 9 : Loops in various applications Part 3 : Modelling a system: bargaining Video
  8. Lecture 9 : Loops in various applications Part 4 : Simulating a water tank Video
  9. Lecture 9 : Loops in various applications Part 5 : Arithmetic on very large numbers Video

Week 5

  1. Lecture 10 : Functions Part 1 : Basics Video
  2. Lecture 10 : Functions Part 2 : Examples Video
  3. Lecture 10 : Functions Part 3 : Reference parameters Video
  4. Lecture 10 : Functions Part 4 : Pointers Video
  5. Lecture 10 : Functions Part 5 : Graphics Objects and Lecture conclusion Video
  6. Lecture 11 : Recursion Part 1 : Introduction Video
  7. Lecture 11 : Recursion Part 2 : Recursive objects, Tree drawing Video
  8. Lecture 11 : Recursion Part 3 : How to think about recursion Video

Week 6

  1. Lecture 12 : Virahanka Numbers Part 1 : Introduction Video
  2. Lecture 12 : Virahanka Numbers Part 2 : Recursive Program Video
  3. Lecture 12 : Virahanka Numbers Part 3 : Iterative Program and Conclusion Video
  4. Lecture 13 : Program Organization and Functions Part 1 : Introduction Video
  5. Lecture 13 : Program Organization and Functions Part 2 : Splitting into files Video
  6. Lecture 13 : Program Organization and Functions Part 3 : Namespaces Video
  7. Lecture 13 : Program Organization and Functions Part 4 : How to use C++ without simplecpp Video
  8. Lecture 14 : Advanced Features of Functions Part 1 : Introduction and passing one function to another Video
  9. Lecture 14 : Advanced Features of Functions Part 2 : Lambda expressions Video
  10. Lecture 14 : Advanced Features of Functions Part 3 : Default values to parameters Video
  11. Lecture 14 : Advanced Features of Functions Part 4 : Function overloading and lecture conclusion Video

Week 7

  1. Lecture 15 : Array Part-1 : Part 1 : Introduction Video
  2. Lecture 15 : Array Part-1 : Part 2 : Marks averaging problem Video
  3. Lecture 15 : Array Part-1 : Part 3 : Histogram computation Video
  4. Lecture 15 : Array Part-1 : Part 4 : Marks display variation Video
  5. Lecture 15 : Array Part-1 : Part 5 : Polynomial multiplication Video
  6. Lecture 15 : Array Part-1 : Part 6 : Queues in dispatching taxis Video
  7. Lecture 15 : Array Part-1 : Part 7 : More efficient Queues in dispatching taxis Video
  8. Lecture 15 : Array Part-1 : Part 8 : Disk intersection Video
  9. Lecture 15 : Array Part-1 : Part 9 : Arrays of graphical objects and conclusion Video
  10. Lecture 16 : Array Part-2 : Part 1 : Introduction Video
  11. Lecture 16 : Array Part-2 : Part 2 : Interpretation of aname[index] Video
  12. Lecture 16 : Array Part-2 : Part 3 : Arrays and function calls Video
  13. Lecture 16 : Array Part-2 : Part 4 : A function to sort an array Video

Week 8

  1. Lecture 17 : More on Arrays : Part 1 : Textual data Video
  2. Lecture 17 : More on Arrays : Part 2 : Functions on character strings Video
  3. Lecture 17 : More on Arrays : Part 3 : Two dimensional arrays Video
  4. Lecture 17 : More on Arrays : Part 4 : Command Line Arguments Video
  5. Lecture 18 : Arrays and recursion : Part 1 : Binary Search Introduction Video
  6. Lecture 18 : Arrays and recursion : Part 2 : Binary search analysis Video
  7. Lecture 18 : Arrays and recursion : Part 3 : Mergesort overview Video
  8. Lecture 18 : Arrays and recursion : Part 4 : Merge function Video
  9. Lecture 18 : Arrays and recursion : Part 5 : Mergesort conclusion Video

Week 9

  1. Lecture 19 : Structures : Part 1 : Definition and instantiation Video
  2. Lecture 19 : Structures : Part 2 : Operations on structures Video
  3. Lecture 19 : Structures : Part 3 : An example program Video
  4. Lecture 19 : Structures : Part 4 : Pointers and lecture conclusion Video
  5. Lecture 20 : Structures Part 2 : Part 1 : Introduction to Member functions Video
  6. Lecture 20 : Structures Part 2 : Part 2 : Vectors from Physics Video
  7. Lecture 20 : Structures Part 2 : Part 3 : Taxi dispatch Video
  8. Lecture 21 : Classes : Part 1 : Introduction Video
  9. Lecture 21 : Classes : Part 2 : Constructors Video
  10. Lecture 21 : Classes : Part 3 : Operator overloading Video
  11. Lecture 21 : Classes : Part 4 : Access control Video
  12. Lecture 21 : Classes : Part 5 : Classes for graphics and input output Video
  13. Lecture 21 : Classes : Part 6 : General remarks Video

Week 10

  1. Lecture 22 : Representing variable length entities: Part 1 : Introduction Video
  2. Lecture 22 : Representing variable length entities: Part 2 : Heap memory basics Video
  3. Lecture 22 : Representing variable length entities: Part 3 : Pitfalls of using heap memory Video
  4. Lecture 22 : Representing variable length entities: Part 4 : Automating memory management Video
  5. Lecture 22 : Representing variable length entities: Part 5 : Implementing a class with automated memory management 1 Video
  6. Lecture 22 : Representing variable length entities: Part 6 : Implementing a class with automated memory management 2 Video
  7. Lecture 22 : Representing variable length entities: Part 7 : Using the implemented class and conclusion Video
  8. Lecture 23 : The Standard Library: Part 1 : Class string Video
  9. Lecture 23 : The Standard Library: Part 2 : Class vector Video
  10. Lecture 23 : The Standard Library: Part 3 : Classes map and unordered_map Video
  11. Lecture 23 : The Standard Library: Part 4 : Iterators Video
  12. Lecture 23 : The Standard Library: Part 5 : Iterators Video

Week 11

  1. Lecture 24 : Data structure based programming : Part 1 : Introduction Video
  2. Lecture 24 : Data structure based programming : Part 2 : Set and pair classes Video
  3. Lecture 24 : Data structure based programming : Part 3 : Implementation of standard library data structures Video
  4. Lecture 24 : Data structure based programming : Part 4 : Composing data structures Video
  5. Lecture 24 : Data structure based programming : Part 5 : typedef and lecture conclusion Video
  6. Lecture 25 : Medium size programs : Part 1 : The new marks display program Video
  7. Lecture 25 : Medium size programs : Part 2 : Manual algorithm for new marks display Video
  8. Lecture 25 : Medium size programs : Part 3 : RSMTAB and rest of the program Video
  9. Lecture 25 : Medium size programs : Part 4 : Sophisticated solutions to marks display Video

Week 12

  1. Lecture 26 : A graphical editor and solver for circuits : Part 1 : Outline Video
  2. Lecture 26 : A graphical editor and solver for circuits : Part 2 : Main program and organization Video
  3. Lecture 26 : A graphical editor and solver for circuits : Part 3 : Mathematical representation of the circuit Video
  4. Lecture 26 : A graphical editor and solver for circuits Part 4 : Extensions and concluding remarks Video
  5. Lecture 27 : Cosmological simulation : Part 1 : Introduction and First order Euler method Video
  6. Lecture 27 : Cosmological simulation : Part 2 : Second order Euler method Video
  7. Lecture 27 : Cosmological simulation : Part 3 : The program Video
  8. Lecture 27 : Cosmological simulation : Part 4 : Concluding remarks Video

Live Session

  1. Live Session 19-04-2021 Video
  2. Live Session 12-03-2020 Video
  3. Live Session 06-09-2019 Video
  4. Live Session 22-10-2019 Video
  5. Live Session 21-03-2022 Video
  6. Live Session 04-07-2022 Video

Syllabus and materials

At NPTEL, as the course publishes them.

Credits and licence

Institution
IIT Bombay
Department
Computer Science and Engineering
Teacher
Prof. Abhiram Ranade
Level
Undergraduate
Language
English
Subjects
Computer science, Engineering
Source
NPTEL
Licence
CC BY-NC-SA, as NPTEL states it. Non-commercial use only. NPTEL's terms
Attribution
NPTEL states: "Distributed under Creative Commons Attribution-ShareAlike / CC BY - NC - SA", beside a BY-NC-SA badge.
Who can watch
NPTEL gives no rating. Invisible Network shows it to Tweens profiles and older, judged from what the source says about it. How courses are placed