CIS 211 Topics and Schedule

This is a tentative outline and schedule of the topics that will be covered in CIS 211.

WEEK 1 - File I/O and exceptions

Subtopics and Other Topics:
Class administration
Overview of the 210/211/212 series
Input/output streams
BufferedReaders
Tokenizer
Exceptions
Throw, try, catch
IOExceptions versus RuntimeExceptions
Reading:
L&L Chapter 8 (excluding the Graphics Track in 8.5 & 8.6)

WEEK 2 - Inheritance

Subtopics and Other Topics:
Benefits of inheritance
Class-hierarchy diagrams
Overriding
Which method gets called
Abstract classes and methods
ArrayList
Casting
Keyboard.java
Reading:
L&L Chapter 7 (excluding the Graphics Track)

WEEK 3 - Accessing the hierarchy

Subtopics and Other Topics:
Constructors that call constructors
Super vs. this
Public vs. private
Reuse
Polymorphism
Packages and the CLASSPATH
Reading:
Setting up the CLASSPATH in Unix or Windows

WEEK 4 - Abstraction mechanisms

Subtopics and Other Topics:
The four benefits of OOP: Data abstraction, Encapsulation, Polymorphism, Inheritance
Assembling classes into a program
Organizing classes
Visibility modifiers
Multiple inheritance
Interfaces
Reading:
Compiling from the command line html
The documentation that explains the relationship between your editor (as in "TexPad") and the compiler. In TextPad, this would be in the online help.
If you are working on a Windows machine, all three: DOS Tutorial 1.1 1.2 2. Don't just read them. Try every command.

WEEK 5 - A tour of the tools

Subtopics and Other Topics:
TextPad
The interaction between TextPad and the SDK
DOS basics
Compiling from the command line
Unix basics
Compiling in Unix
SecureSSH
Reading:
Read the following online materials, and try out every command that is discussed.
Basic Unix Commands html or pdf
Using SSH Secure Shell html
Log onto Unix and read the online manual for chmod by typing "man chmod".
Using SSH on a PC to Transfer Files pdf

WEEK 6 - Midterm week

Subtopics and Other Topics:
Review on Monday
Exam on Wednesday
New topics on Friday:
Applets
Basic basic graphics

WEEK 7 - Event-driven programming

Subtopics and Other Topics:
Midterm turned back on Monday. Common mistakes discussed.
Events, Broadcasters, Listeners
Model-View-Controller
Reading:
L&L: The Graphics Track through the entire book, and Chapter 9

WEEK 8 - GUI Application Frameworks

Subtopics and Other Topics:
Swing
GUI Components
Containers
Panes
Layout managers
Reading:
 The Sun Java Swing Tutorial

WEEK 9 - Testing and Debugging

Subtopics and Other Topics:
Debuggers
Testing and debugging as a scientific pursuit
Reading: 
Chapter 26 "Debugging" from McConnell, S. C. (1993). Code Complete: A Practical Handbook of Software Construction. Microsoft Press.

WEEK 10 - Object-Oriented Programming Concepts

Subtopics and Other Topics:
Design
Organizing classes
UML class diagrams
Patterns
The Observer pattern
Reading: 
Chapter 1 "Introduction" from Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Boston: Addison-Wesley Publishing Company, Inc.

A.Hornof - 3/3/03