Course106101208126 lectures
An Introduction to Programming Through C++
Prof. Abhiram Ranade · IIT Bombay
Lectures
Week 1
- Lecture 1 Part 1: Introduction
- Lecture 1 Part 2 : Introduction
- Lecture 1 Part 3 : Introduction
- Lecture 1 Part 4 : Introduction
- Lecture 2 Part 1 : Problem Solving using Computer
- Lecture 2 Part 2 : Problem Solving using Computer
- Lecture 2 Part 3 : Problem Solving using Computer
- Lecture 2 Part 4 : Problem Solving using Computer
- Lecture 2 Part 5 : Problem Solving using Computer
Week 2
- Lecture 3 Part 1 : Basic Elements of Program
- Lecture 3 Part 2 : Basic Elements of Program
- Lecture 3 Part 3 : Basic Elements of Program
- Lecture 3 Part 4 : Basic Elements of Program
- Lecture 4 Part 1 : Program Design
- Lecture 4 Part 2 : Program Design
- Lecture 4 Part 3 : Program Design
- Lecture 5 : Simple cpp Graphics
Week 3
- Lecture 6 Part 1 : Conditional Execution
- Lecture 6 Part 2 : Most general form of if
- Lecture 6 Part 3 : More general form of conditions
- Lecture 6 Part 4 : A somewhat large program example
- Lecture 6 Part 5 : Switch statement and logical data
- Lecture 7 Part 1 : Loops
- Lecture 7 Part 2 : Mark averaging
- Lecture 7 Part 3 : The break and continue statements
- Lecture 7 Part 4 : The for statement
- Lecture 7 Part 5 : Euclid's algorithm for GCD
- Lecture 7 Part 6 : Correctness proof for GCD
Week 4
- Lecture 8 : Computing Mathematical Functions Part 1 : Taylor series
- Lecture 8 : Computing Mathematical Functions Part 2 : Numerical integration
- Lecture 8 : Computing Mathematical Functions Part 3 : Bisection Method
- Lecture 8 : Computing Mathematical Functions Part 4 : Newton Raphson Method
- Lecture 9 : Loops in various applications Part 1 : Loops in various applications brute force algorithms
- Lecture 9 : Loops in various applications Part 2 : Finding Pythagorean Triples
- Lecture 9 : Loops in various applications Part 3 : Modelling a system: bargaining
- Lecture 9 : Loops in various applications Part 4 : Simulating a water tank
- Lecture 9 : Loops in various applications Part 5 : Arithmetic on very large numbers
Week 5
- Lecture 10 : Functions Part 1 : Basics
- Lecture 10 : Functions Part 2 : Examples
- Lecture 10 : Functions Part 3 : Reference parameters
- Lecture 10 : Functions Part 4 : Pointers
- Lecture 10 : Functions Part 5 : Graphics Objects and Lecture conclusion
- Lecture 11 : Recursion Part 1 : Introduction
- Lecture 11 : Recursion Part 2 : Recursive objects, Tree drawing
- Lecture 11 : Recursion Part 3 : How to think about recursion
Week 6
- Lecture 12 : Virahanka Numbers Part 1 : Introduction
- Lecture 12 : Virahanka Numbers Part 2 : Recursive Program
- Lecture 12 : Virahanka Numbers Part 3 : Iterative Program and Conclusion
- Lecture 13 : Program Organization and Functions Part 1 : Introduction
- Lecture 13 : Program Organization and Functions Part 2 : Splitting into files
- Lecture 13 : Program Organization and Functions Part 3 : Namespaces
- Lecture 13 : Program Organization and Functions Part 4 : How to use C++ without simplecpp
- Lecture 14 : Advanced Features of Functions Part 1 : Introduction and passing one function to another
- Lecture 14 : Advanced Features of Functions Part 2 : Lambda expressions
- Lecture 14 : Advanced Features of Functions Part 3 : Default values to parameters
- Lecture 14 : Advanced Features of Functions Part 4 : Function overloading and lecture conclusion
Week 7
- Lecture 15 : Array Part-1 : Part 1 : Introduction
- Lecture 15 : Array Part-1 : Part 2 : Marks averaging problem
- Lecture 15 : Array Part-1 : Part 3 : Histogram computation
- Lecture 15 : Array Part-1 : Part 4 : Marks display variation
- Lecture 15 : Array Part-1 : Part 5 : Polynomial multiplication
- Lecture 15 : Array Part-1 : Part 6 : Queues in dispatching taxis
- Lecture 15 : Array Part-1 : Part 7 : More efficient Queues in dispatching taxis
- Lecture 15 : Array Part-1 : Part 8 : Disk intersection
- Lecture 15 : Array Part-1 : Part 9 : Arrays of graphical objects and conclusion
- Lecture 16 : Array Part-2 : Part 1 : Introduction
- Lecture 16 : Array Part-2 : Part 2 : Interpretation of aname[index]
- Lecture 16 : Array Part-2 : Part 3 : Arrays and function calls
- Lecture 16 : Array Part-2 : Part 4 : A function to sort an array
Week 8
- Lecture 17 : More on Arrays : Part 1 : Textual data
- Lecture 17 : More on Arrays : Part 2 : Functions on character strings
- Lecture 17 : More on Arrays : Part 3 : Two dimensional arrays
- Lecture 17 : More on Arrays : Part 4 : Command Line Arguments
- Lecture 18 : Arrays and recursion : Part 1 : Binary Search Introduction
- Lecture 18 : Arrays and recursion : Part 2 : Binary search analysis
- Lecture 18 : Arrays and recursion : Part 3 : Mergesort overview
- Lecture 18 : Arrays and recursion : Part 4 : Merge function
- Lecture 18 : Arrays and recursion : Part 5 : Mergesort conclusion
Week 9
- Lecture 19 : Structures : Part 1 : Definition and instantiation
- Lecture 19 : Structures : Part 2 : Operations on structures
- Lecture 19 : Structures : Part 3 : An example program
- Lecture 19 : Structures : Part 4 : Pointers and lecture conclusion
- Lecture 20 : Structures Part 2 : Part 1 : Introduction to Member functions
- Lecture 20 : Structures Part 2 : Part 2 : Vectors from Physics
- Lecture 20 : Structures Part 2 : Part 3 : Taxi dispatch
- Lecture 21 : Classes : Part 1 : Introduction
- Lecture 21 : Classes : Part 2 : Constructors
- Lecture 21 : Classes : Part 3 : Operator overloading
- Lecture 21 : Classes : Part 4 : Access control
- Lecture 21 : Classes : Part 5 : Classes for graphics and input output
- Lecture 21 : Classes : Part 6 : General remarks
Week 10
- Lecture 22 : Representing variable length entities: Part 1 : Introduction
- Lecture 22 : Representing variable length entities: Part 2 : Heap memory basics
- Lecture 22 : Representing variable length entities: Part 3 : Pitfalls of using heap memory
- Lecture 22 : Representing variable length entities: Part 4 : Automating memory management
- Lecture 22 : Representing variable length entities: Part 5 : Implementing a class with automated memory management 1
- Lecture 22 : Representing variable length entities: Part 6 : Implementing a class with automated memory management 2
- Lecture 22 : Representing variable length entities: Part 7 : Using the implemented class and conclusion
- Lecture 23 : The Standard Library: Part 1 : Class string
- Lecture 23 : The Standard Library: Part 2 : Class vector
- Lecture 23 : The Standard Library: Part 3 : Classes map and unordered_map
- Lecture 23 : The Standard Library: Part 4 : Iterators
- Lecture 23 : The Standard Library: Part 5 : Iterators
Week 11
- Lecture 24 : Data structure based programming : Part 1 : Introduction
- Lecture 24 : Data structure based programming : Part 2 : Set and pair classes
- Lecture 24 : Data structure based programming : Part 3 : Implementation of standard library data structures
- Lecture 24 : Data structure based programming : Part 4 : Composing data structures
- Lecture 24 : Data structure based programming : Part 5 : typedef and lecture conclusion
- Lecture 25 : Medium size programs : Part 1 : The new marks display program
- Lecture 25 : Medium size programs : Part 2 : Manual algorithm for new marks display
- Lecture 25 : Medium size programs : Part 3 : RSMTAB and rest of the program
- Lecture 25 : Medium size programs : Part 4 : Sophisticated solutions to marks display
Week 12
- Lecture 26 : A graphical editor and solver for circuits : Part 1 : Outline
- Lecture 26 : A graphical editor and solver for circuits : Part 2 : Main program and organization
- Lecture 26 : A graphical editor and solver for circuits : Part 3 : Mathematical representation of the circuit
- Lecture 26 : A graphical editor and solver for circuits Part 4 : Extensions and concluding remarks
- Lecture 27 : Cosmological simulation : Part 1 : Introduction and First order Euler method
- Lecture 27 : Cosmological simulation : Part 2 : Second order Euler method
- Lecture 27 : Cosmological simulation : Part 3 : The program
- Lecture 27 : Cosmological simulation : Part 4 : Concluding remarks
Live Session
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
More like this
NPTEL101101079
Course
Introduction to Aerospace Engineering - Flight
67 lectures · Source's player
NPTEL101101083
Course
Introduction to Aircraft Design
86 lectures · Source's player
NPTEL101101001
Course
Introduction to Aerospace Propulsion
40 lectures · Video
NPTEL101101002
Course
Jet Aircraft Propulsion
42 lectures · Video
NPTEL101101058
Course
Turbomachinery Aerodynamics
40 lectures · Video
NPTEL101101086
Course
Introduction to Launch Vehicle Analysis and Design
37 lectures · Video
NPTEL101101087
Course
Lighter than Air Systems
132 lectures · Video
NPTEL101101805
Course
Air Transportation: An Overview
51 lectures · Video
NPTEL103101142
Course
Chemical Process Control
48 lectures · Source's player
NPTEL103101215
Course
Hydrogen Energy: Production, Storage, Transportation and Safety
69 lectures · Source's player
NPTEL103101001
Course
Advanced Chemical Reaction Engineering (PG)
41 lectures · Video
NPTEL103101008
Course
Chemical Reaction Engineering II
39 lectures · Video