Lecture Notes

CURRENTLY UNDER CONSTRUCTION - IN OTHER WORDS, PAY ATTENTION IN CLASS 😬

This is sometimes 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.

But first, before we study HOW to program you must decided on WHERE your coding will take place. [THE IDE]

If you are using MS Visual Studio here is an instruction guide that is only slightly out of date and is totally usable, even while we wait for the update. PDF

FIRST C++ COURSE IN SEQUENCE

TOPIC

NOTES

LECTURE

Introduction to programming and C++

Intro to Programming

LECTURE || LECTURE || PDF  

Intro to C++ Programming

Variables (Objects) and Data Types  (Classes)

Data Types, continued

Arithmetic and other operations

More on Data Storage [Optional]

Controlling Execution

Selection

Iteration

Flowcharting & Control Constructs

Playing Computer to Debug

Looping 2.0

Input / Output Files

Producing a Simple Report

Using I/O Files ++

What Makes a 'Good' Program?

What Makes a 'Good' Program I

PPT || PDF

What Makes a 'Good' Program II
(More on Program Design)

PPT || PDF

Structured Programming

PPT || PDF

Functions

Intro to Functions

Introduction to Recursion

More About Recursion
(with Input Validation)

Functions and Data

Arrays

Intro to Arrays

Differences Between Python and C++

Intro to Object Oriented Programming

Data, Program, and Control Concepts

Structs

TBD

Control Break Processing

Objects and Classes

Principles of Object-oriented Programming

TBD

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