The calendar below provides information on the course's lectures (L), recitation (R) and project presentation (P) sessions.

L1 Administrative & Introduction
Makefile Primer
GNU Makefile Documentation
CVS Documentation
PS 0 Out
R1 Course Goals & Content, References & Recitations; Compilation; Debugging; Makefiles; Concurrent Versions System (CVS); Introduction to C++; Data Types; Variable Declarations and Definitions; Operators; Expressions and Statements; Input/Output Operators; Preprocessor Directives; Header Files; Control Structures
L2 Overview of C++ and Object Oriented Design PS 0 In
PS 1 Out
L3 Classes and Objects
R2 Functions: Declarations, Definitions, and Invocations; Inline Functions; Function Overloading; Recursion; Scope and Extent of Variables; References; Pointers; Function Call by Value, References and Pointers; Pointers to Functions; 1-D Arrays; Strings as Arrays of Char; Arrays of Pointers; 2-D and Higher Dimensions Arrays; Return by Reference Functions; Dynamic Memory Allocation; The Size of Operator; Data Structures; Introduction to Classes and Objects
L4 Dynamic Management of Objects PS 1 In
PS 2 Out
L5 Operator Overloading
R3 Classes and Objects; Classes: Member Variables & Member Functions; Classes: Constructors & Destructor; Constructor Header Initialization; Copy Constructors; Member Variables & Functions Protection: Private, Protected & Public; Static Class Data and Class Functions; Class Scope; Pointers to Class Members; Operator Overloading; Friend Functions; Type Conversions
L6 Inheritance PS 2 In
PS 3 Out
L7 Linked Lists, Static Class Members
R4 Inheritance: Public, Protected and Private Derivation; Multiple Inheritance; Inheritance: Constructors and Destructors; Inheritance: Redefining Member Functions; Virtual Functions and Polymorphism; Abstract Classes; File Streams; Namespaces; Assertions; C++ Standard Library String Class; Other Topics
L8 Quiz Review PS 3 In
Quiz I: C++ PS 4 Out
R5 Function Templates; Class Templates; Sorting and Searching Algorithms; Insertion Sort; Selection Sort; Shellsort; Quicksort; Linear Search; Binary Search
L9 Templates, Sorting & Searching Algorithms
R6 Introduction to Java; Compiling and Running a Java Application and a Java Applet; Data Types; Variables, Declarations, Initializations, Assignments; Operators, Precedence, Associativity, Type Conversions, and Mixed Expressions; Control Structures; Comments; Arrays; Classes and Objects; Constructors; Initializers; Member Data and Functions; Function Overloading
L10 Programming in Java®
Shape Example
PS 4 In
PS 5 Out
L11 Java® Basics (contd.)
R7 Sun Java Studio Standard 5; Inheritance; Controlling Access to Class Members; Strings; Packages; Interfaces; Nested Classes and Interfaces; Garbage Collection; Applets
L12 Graphical Programs PS 5 In
PS 6 Out
L13 Applets and Applications
R8 Exceptions; Threads; I/O; Introduction to Java GUI and Swing
L14 Custom Graphics
L15 File I/O PS 6 In
PS 7 Out
R9 The JComponent Class; Top-Level Containers; Intermediate Swing Containers; Atomic Components
L16 Quiz Review Project Proposal Due
Quiz II: Sorting, Searching and Java®
L17 Multithreading
Working with Images
L18 Physical Simulations PS 7 In
L19 Source Code Management Using CVS
L20 Java® Remote Method Invokation Framework
L21 Java Beans, Java® 3D
P1 Project Presentation I
P2 Project Presentation II
P3 Project Presentation III