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.

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

  Introduction - C++ Lecture Notes (111.9 KiB, 34,901 hits)

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

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

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

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

4Arrays and StringsBasic use of arrays and strings.

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

5PointersPointers and their Behavior, declaration and syntax.

  Pointers - C++ Lecture Notes (136.9 KiB, 11,721 hits)

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

  Classes - C++ Lecture Notes (503.4 KiB, 13,786 hits)

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

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

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

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

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

  Advanced topics I - C++ Lecture Notes (111.7 KiB, 12,695 hits)

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

  Advanced topics II - C++ Lecture Notes (218.3 KiB, 18,552 hits)

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

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