Topics (Days) |
Textbook Readings |
Online Notes |
Course and Java Introduction (1) |
Scott Ch 1.1-1.3 |
- C++ versus Java
- Java Basics
|
Java Basics (2)
- Java's Memory Management Model
- Java's Runtime System
- Types, Variables, and Classes in Java
|
- Scott 3.1-3.5 -- Names, Scopes, and Bindings
- Scott 6.5-6.5.3 -- Loops
- Scott 8.3 -- Parameter Passing
|
- C++ versus Java
- Java Basics
- Jar Files
optional:
- Introductory
Java Tutorial. Skip the link to "The Java Technology Phenomenon"
unless you want to be bored out of your mind. The "Hello World"
Application is good because it tells you how to download NetBeans
and run a sample application.
- Language
Basics. Any of the tutorials are good except for the one on
Generics, which we will cover later in the course.
|
Java I/O (1)
| none |
- Brad's Cliff Notes
- Java I/O-- pay particular attention to Java's Scanner class
|
Inheritance (3)
| Scott: Chapter 9
|
- Java's Inheritance System
- Different Types of Inheritance in Other Languages
- Implementation Issues
|
Module Mechanisms (1)
| Scott 3.3.4-3.3.5 -- Modules and Module Classes
|
- Modules in C and C++
- Java Modules (Packages)
- Sun's Java Package Tutorial
|
Polymorphism, Generic Functions and Data Structures (2) |
- Scott 3.5.3, 7.1.2 -- Polymorphism
- Scott 8.4 -- Generic Subroutines and Modules
|
- Generics in C, C++, and Java
- Tutorial on Java Generics
- Example search using Java's generic data structures
- Example using a Java Scanner
|
Exception Handling (2) |
Scott: 8.5 -- Exception Handling |
- Exception Handling in Java
- Exception Handling Tutorial
|
Intro to Event-Based Programming and the Model View Controller (MVC)
Design Pattern (1) |
Scott: 8.7 -- Events |
- Overview of GUI's and Event Handling
- Java GUI overview
- Java Swing
- HelloWorld program with marked regions
|
Widgets and Message Dialogs (1) |
none |
- widgets
- Java Swing Components
|
Layout algorithms for widgets (1) |
none |
Java Layout Managers |
Custom Painting and Event Handling (1) |
none |
Custom Painting |
Names, Scopes, and Binding (2) |
Scott: 3.1-3.3, 3.5, 3.6 |
- names, scopes, and binding
- Garbage Collection
|
Data Types and Type Checking (1)
| Scott: 7.1-7.2, 7.4, 7.7
| types |
Concurrency (4)
| Scott--12
| Concurrency in Java
|
Functional Languages (4)
| Scott--10
|
- functional programming
- scheme
- other functional issues
|