CSE 143 Lecture Notes, Winter 2000

Complete lecture slides from Autumn 1999 are also available. Slides from this quarter will be posted sometime after the lecture topic has been completed.  Corrected or amplified versions are sometimes posted after the original version has appeared.

On-line versions of the lecture slides (6 per page) will be available here, in Adobe Acrobat format. On the lab machines Acrobat Reader is automatically started up by Netscape when you follow the link.

On other Macs, PC compatibles, and some versions of Unix Acrobat Reader may be downloaded free directly from Adobe. This web site also includes instructions for setting your web browser to invoke Acrobat Reader automatically.


Introduction
Introduction to C++
Principles of Programming & Software Engineering
Abstract Data Types
Classes
Constructors (example program: bankaccount.h, bankaccount.cpp, main.cpp)
List (Vector) as an array
Stream I/O
Dynamic Memory Allocation (pointer  parameter demo program; fun with pointers video
const
Dynamic Memory and Classes [shallow vs deep copy, assignment, destructors, etc.] 
Class Relationships and Inheritance 
Dynamic Dispatch and Virtual Functions (example program: creature.cpp
Object-Oriented Design 
Scope Rules and Overloading 
Recursion 
Linked lists 
List (Vector) as a linked list 
Stacks 
Queues, Event Lists, and Simulation 
Efficiency and Big-O Notation 
Searching and Sorting 
Trees 
Binary Search Trees 
Tables and Hashing 
Beyond C++

Prof. Tom Anderson's guest lecture on How The Web Really Works


cse143-webmaster@cs.washington.edu