Topics (Days) |
Textbook Readings and Online Notes |
Online Lectures |
Course and Java Introduction (1) |
- Zybook: 1.2, 1.7, 2.9, 2.12, 2.15, 2.21, 7.7, 19.4
- C++ versus Java
- Java Basics
|
Intro Lecture (start from 1:00) |
Java Basics (2)
- Java's Memory Management Model
- Java's Runtime System
- Types, Variables, and Classes in Java
|
- Zybook
Day 1: 3.12, 3.13, 3.15, 4.10, 4.11, 5.2, 5.9, 5.10, 8.1-8.5
Day 2: 6.1, 6.8, 6.17, 6.18, 6.20, 7.2-7.5, 7.9-7.12, 7.19
- C++ versus Java
- Java Basics
- Jar Files
- Garbage Collection
|
Also review parameter passing at the bottom of the Java Basics notes. They
are pretty basic so there is no lecture over them.
Day 1
- YourFirstJavaProgram (6:45)
- VariablesTypesScoping (6:42)
- Strings (4:27)
- Arrays (9:36)
- Classes (19:43)
- Lecture 1/26/21 (start at 5:30)
Day 2
- Enumerated Types (15:02)
- Garbage Collection
- Lecture 2/28/21 (start at 1:45)
|
Java I/O (1)
|
- Zybook: Chapter 9 and 6.12
- Brad's Cliff Notes
- SkewSymmetric Problem,
Solution with
Command Line Args, and
Solution with
Standard IO.
|
- ConsoleInput (16:02)
- ConsoleOutput (8:37)
- FileIO (13:58)
- Lecture 2/2/21 (start at 1:10)
|
Java Collections Library (1)
| - Zybook: 7.13, 7.15, Chapter 15
- Word Count Problem
|
|
Inheritance (2)
|
- Zybook: Day 1--Chapter 10, Day 2--Chapter 11
- Java's Inheritance System
- Different Types of Inheritance in Other Languages
- Implementation Issues
|
Day 1:
- Inheritance (43:03)
- Lecture 2/9 (start at 1:00)
Day 2:
- Java Inheritance (18:33)
- Interfaces (12:47)
- Lecture 2/11 (start at 0:30)
Day 3:
- C++-Classes-Inheritance (24:50)
- Multiple-Mixin-Inheritance-Composition (25:51)
- Inheritance Implementation (16:10)
|
Module Mechanisms (1)
|
- Modules in C and C++
- Java Modules (Packages)
- Sun's Java Package Tutorial
|
- Modules-C-C++ (18:37)
- Packages-Java (20:06)
|
Polymorphism, Generic Functions and Data Structures (2) |
- Zybook: Day 2--Chapter 14
- Generics in C, C++, and Java
- Example search using Java's generic data structures
|
Day 1:
- Generics C (4:11)
- Generics C++ (18:42)
- Lecture 2/18 (start at 0:30)
Day 2:
- Generics Java (32:02)
- Lecture 2/23 (start at 0:30)
|
Exception Handling (1) |
- Zybook: Chapter 13
- Exception Handling
- Lecture 2/25
|
- C++ Exception Handling (20:44)
- Exception Handling C++ SafeArray Example (17:31)
- Java Exception Handling (27:05)
- C Exception Handling Watch from 29:45-1:02:50
|
Intro to Event-Based Programming (1) |
- Event Programming Introduction
- Overview of GUI's and Event Handling
- Zybook 16.1
- Java GUI overview
- Java Swing
- HelloWorld program with marked regions
|
- Lecture 3/2 (start at 0:20)
- EventProgramming (34:15)
|
Widgets and Message Dialogs (1) |
- widgets
- Zybook 16.2, 16.4-16.7, 16.9, 16.11
- Java Swing Components
|
Lecture 3/4 (start at 0:35)
|
Layout algorithms for widgets (1) |
|
Lecture 3/11 (start at 0:30)
|
Custom Painting and Event Handling (1) |
Review Zybook 16.1 and then read Custom Painting |
Lecture 3/16
|
The MVC Model (1) |
- Setting up an MVC Application
- Sample Code for an MVC Application
|
Lecture 3/18
|
Python (3) |
My notes are a terse summary of the Python tutorial.
|
|
Concurrency (4)
|
- My Concurrency Slides
- Oracle's Concurrency in Java Tutorial
- My Sockets Slides
- Oracles' Java Sockets Tutorial
- My High Level Java Concurrency Slides
|
|
Functional Languages (4)
|
- functional programming
- scheme
- other functional issues
|
- Lecture 4/15: Functional Language Intro
Intro Slides
- Day 2:
- Day 3:
- Day 4:
|