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.

#TopicDescriptionNotes
1IntroductionAn introduction to C++ and hello world program, basic language features and variables.

  Introduction - C++ Lecture Notes (111.9 KiB, 35,456 hits)

2Flow of controlDescription of Control structures and Nested Control Structures.

  Flow of control - C++ Lecture Notes (127.6 KiB, 15,897 hits)

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

  Functions - C++ Lecture Notes (459.7 KiB, 15,899 hits)

4Arrays and StringsBasic use of arrays and strings.

  Arrays and Strings - C++ Lecture Notes (105.5 KiB, 13,492 hits)

5PointersPointers and their Behavior, declaration and syntax.

  Pointers - C++ Lecture Notes (136.9 KiB, 12,238 hits)

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

  Classes - C++ Lecture Notes (503.4 KiB, 14,179 hits)

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

  Object-Oriented Programming - C++ Lecture Notes (147.0 KiB, 15,870 hits)

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

  Memory Management - C++ Lecture Notes (513.5 KiB, 14,869 hits)

9Advanced topics ITemplates, Standard Template Library and Operator Overloading.

  Advanced topics I - C++ Lecture Notes (111.7 KiB, 13,131 hits)

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

  Advanced topics II - C++ Lecture Notes (218.3 KiB, 19,068 hits)

Jesse Dunietz, Geza Kovacs, and John Marrero. 6.096 Introduction to C++. January IAP 2011. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.

For more information about using these materials and the Creative Commons license, see our Terms of Use.