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, 26,528 hits)

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

  Flow of control - C++ Lecture Notes (127.6 KiB, 11,474 hits)

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

  Functions - C++ Lecture Notes (459.7 KiB, 11,711 hits)

4 Arrays and Strings Basic use of arrays and strings.

  Arrays and Strings - C++ Lecture Notes (105.5 KiB, 9,459 hits)

5 Pointers Pointers and their Behavior, declaration and syntax.

  Pointers - C++ Lecture Notes (136.9 KiB, 8,585 hits)

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

  Classes - C++ Lecture Notes (503.4 KiB, 10,505 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, 11,799 hits)

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

  Memory Management - C++ Lecture Notes (513.5 KiB, 11,019 hits)

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

  Advanced topics I - C++ Lecture Notes (111.7 KiB, 10,081 hits)

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

  Advanced topics II - C++ Lecture Notes (218.3 KiB, 15,549 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.