COURSE CONTENT FOR
COSI 223: INTERNET & JAVA PROGRAMMING
Text:
        
Cay S. Horstmann, Big Java, Third Edition. John Wiley & Sons, Inc., 2008.  ISBN 978-0-470-10554-2

Class meeting time:    Tues/Thurs 9:30 AM - 10:50 AM, GOH 114

Weeks Chapters Topics
1 1 Introduction
a. Install Compiler
b. Display "Hello World!"
c. Beginning codes
d. Dialog View for "Hello Word"
e. Get an image from URL
f. Get Input by dialog window
g. Format the output
h. Get Input from Keyboard
2 2 Using Objects
a. Types and Variables
b. The Assignment Operator
c. Objects, Classes, and Methods
d. Method Parameters and Return Values
e. Constructing an Object
f. Accessor and Mutator Methods
g. Test Program
h. Package
i. Object Reference
j. Empty Frame
k. Rectangle Component
l. Rectangle Applet
m. Ellipse Component
n. Line Segment
o. Draw a Face
p. Rolling a Die
3 3 Implementing Classes
a. Tally Example
b. Levels of Abstraction

c. Specifying the Public Interface of a Class
d.
Commenting the Public Interface
e. Instance Fields,Constructors, Methods
f. BankAccount.java
g. BankAccountTester.java, unit testing
h. Categories of Variables
i.
Implicit and Explicit Method Parameters,
       this (the implicit parameter)
j. Shape Classes:  Car  Flag
4 4 Fundamental Data Types
a. Integer Data Type (int)
b. Primitive Data Types

c. Decimal Data Type (double)
d. Constants

e. Increment
f. The MATH class
g. String  
h. static methods   Example
i. Reading Input
5 5 Decisions
a. The if and if/else statements
b. Nested if statements
c. ternary operator
d. Comparing Values

e. Need "else" or not?
f. The Dangling else Problem
g. switch statement
h. Example of Earthquake
i. Example of Tax Return
j. Example of Middle of a String
k. Boolean Data Type
l. Test Coverage
6 6 Iteration
a. while loops
b. for loops

c. Nested loops - Triangle example
d. Processing Sentinel Values
e. Random Numbers and Simulations
7 7 Arrays and Arrays Lists
a. Arrays

b. Array Lists
c. Wrappers
d. Auto-boxing
e. The Enhanced for Loop
f. Simple Array Algorithms
g. Two-Dimensional Arrays
h. Copying Arrays
i. Print an Array
j. Input Redirection

k. Read Data Files
8   Review and Test I
9 8 Designing Classes
a. Choosing Classes
b. Cohesion & Coupling
c.
Accessors, Mutators and Immutable Classes
d. Side Effects
e. Inner Classes
f. Precondition & Postcondition

g. Static Methods
h. Static Fields

i. Scope
j. Packages
10 9 Interfaces and Polymorphism
a.
Using Interfaces for Code Reuse
b. Converting Between Class and Interface Types
c. Polymorphism
d. Using Interfaces for Callbacks
e. Events, Event Sources, and Event Listeners
f. Using Inner Classes for Listeners
g. Building Applications with Buttons
11 10 Inheritance
a. An Introduction to Inheritance

b. Inheritance Hierarchies
c. Inheriting Instance Fields and Methods
d. Subclass Construction
e. Converting Between Subclass and Superclass Types
f. Polymorphism
g. Access Control
h. Object: The Cosmic Superclass
12 11 Input / Output and Exception Handling
13 12 Object-Oriented Design
14   Review and Test II
15    Comprehensive Final Exam