Lecture Materials

Introduction and Course Overview; The Programming Process
notes, syllabus, HelloWorld.java

Procedural Decomposition: Using Methods to Write Better Programs
notes, examples

Primitive Data, Variables, and Expressions
notes, examples

Definite Loops
notes, examples
Star Wars text-based animation
slide show: tracing a for loop
slide show: for loop, example 2

Methods with Parameters and Return Values
notes, examples
slide show: methods and method frames

Using Objects from Existing Classes
notes, examples
slide show: objects, references, and assignment statements

Conditional Execution
notes, examples

Indefinite Loops and Boolean Expressions
notes, examples

File Processing
notes (10/17: updated slides on pages 5, 10, and 11)
examples

Arrays
notes (10/31: updated slide on page 19)
examples

Recursion
notes, examples

Classes as Blueprints: How to Define New Types of Objects
notes, examples

Inheritance and Polymorphism
notes, extra notes on abstract classes and methods, examples

Searching and Sorting: An Introduction to Algorithm Analysis
notes, examples

Tackling an Intractable Problem
notes