This post contains lecture notes of “Introduction to C++” course which is taught at MIT OpenCourseWare. OCW is a free and open publication of material from thousands of MIT courses, covering the entire MIT curriculum. There’s no signup, no enrollment, and no start or end dates.

This is introductory course to the C++ programming language. Anyone with little or no programming experience can equally take this course. However, someone with prior programming experience will still learn C++ specific constructs and concepts.

Important topics of this course are:

  • Basic C++ programming constructs
  • Manipulation of data types i.e. arrays, strings, and pointers using C++
  • Isolate and fix common errors in C++ programs
  • C++ Memory Management including proper allocation/deallocation procedures
  • Object Oriented Approach using C++
  • Writing C++ programs

This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month.

# Topic Description Notes
1 Introduction An introduction to C++ and hello world program, basic language features and variables.

  Introduction - C++ Lecture Notes (111.9 KiB, 14,004 hits)

2 Flow of control Description of Control structures and Nested Control Structures.

  Flow of control - C++ Lecture Notes (127.6 KiB, 6,632 hits)

3 Functions Basic use of functions, declaration, arguments, return values and function overloading.

  Functions - C++ Lecture Notes (459.7 KiB, 6,792 hits)

4 Arrays and Strings Basic use of arrays and strings.

  Arrays and Strings - C++ Lecture Notes (105.5 KiB, 5,511 hits)

5 Pointers Pointers and their Behavior, declaration and syntax.

  Pointers - C++ Lecture Notes (136.9 KiB, 5,128 hits)

6 Classes Class declaration, instances, accessing fields, passing as parameters and constructors.

  Classes - C++ Lecture Notes (503.4 KiB, 6,626 hits)

7 Object-Oriented Programming The Basic Ideas of OOP, Encapsulation, Inheritance, Polymorphism and Multiple Inheritance.

  Object-Oriented Programming - C++ Lecture Notes (147.0 KiB, 7,744 hits)

8 Memory Management Memory management, Allocation and Deallocation, new and delete operators.

  Memory Management - C++ Lecture Notes (513.5 KiB, 8,153 hits)

9 Advanced topics I Templates, Standard Template Library and Operator Overloading.

  Advanced topics I - C++ Lecture Notes (111.7 KiB, 7,497 hits)

10 Advanced topics II File handling, References, Exceptions, Preprocessor Macros and Casting.

  Advanced topics II - C++ Lecture Notes (218.3 KiB, 10,276 hits)