Lecture Notes

This is a two-semester course. This is an artificial demarcation. Feel free to study these course materials in any order you wish.

"NOTES" are pdf files for printing and reading offline. "LECTURES" presentation slides.

FIRST C++ COURSE IN SEQUENCE

TOPIC

NOTES

LECTURE

Introduction to programming and C++


Intro to Programming

PDF

Intro to C++ Programming

PDF

Variables (Objects) and Data Types (Classes)

PDF

Data Types, continued

PDF

Arithmetic and other operations

PDF

More on Data Storage [Optional]

Controlling Execution


Selection

PDF

Iteration

PDF

Playing Computer to Debug


Looping 2.0


Control Break Processing


Input / Output Files



Producing a Simple Report


Using I/O Files ++


What Makes a 'Good' Program?



Writing a 'Good' Program


More on Program Design


Functions



Intro to Functions


Functions and Data


Arrays



Intro to Arrays


Intro to Object Oriented Programming



Structured Programming

PDF


Data, Program, and Control Concepts


Structs

PDF


Objects and Classes

Principles of Object-oriented Programming

PDF

Separate Compilation - Arrays, Classes


SECOND C++ COURSE IN SEQUENCE

TOPIC

NOTES

LECTURE

Arrays 2.0



Multidimensional Arrays


Searching and Sorting


Data Structures



Static Structures / Static Implementation


Arrays, Records, Stacks, Queues

PDF


Pointers

Data Structures - Linked Implementation


Stacks, Queues, Linked lists, Multilinked lists

PDF


Nonlinear Data Structures: Trees, Graphs


Strings


Advanced O-O Programming



Operator overloading, friend functions, this, etc.


Inheritance


Abstract Classes and Virtual Functions


Templates


Programming Paradigms



Intro to Programming Paradigms