SYLLABUS OF RECORD
Interactive Internet
Programming with Java
I. Course Description
COSC 304 Interactive Internet Programming with Java 3c-0l-3sh
Prerequisites: COSC 110 or
equivalent
An introduction to interactive Internet programming using Java.
The focus is on writing platform independent multimedia applications that are
useable across the Internet. Uses a
write once, run anywhere approach while providing adequate security. Covers event based processing, multithreading,
MIME file handling, exception handling, sandbox security, networking and
component architectures.
II. Course Objectives
Students will:
1. Learn to program multithreaded applets to add functionality and
interactivity to Web sites.
2. Discuss system and file security issues.
3. Explore event based processing models using the abstract
windowing toolkit.
4. Develop and test reliable Internet programs involving exception
handling
5. Develop skill for managing packages and interfaces for networking
and telephony
III. Course Outline
A. Introduction to Object-Oriented Programming &Environment: 4
hours
· Overview of the language
and environment.
Installation of the Java
Development Kit,
an Integrated
Development Environment and the code examples for the labs.
Thinking in Objects:
creating classes, attributes and methods:
The API documentation
· How to Compile, Link and
run simple programs and applets
B. Introduction to Java Basics. Review of programming constructs. 8
hours
· Review of arithmetic
operators, if statements, case
statements and loops.
· Similarities and
differences relative to C++ statements.
· Coverage of basics of inheritance and working with
objects.
· Creating a simple class.
· Working with methods
(functions). Syntax involved.
· Developing constructors.
· Use and need for
overloading.
· Distinction between
overloading and overriding.
C. Working with Java Applets, parameters, threads and sound. 5
hours
· Passing parameters to
Applets;
· Use of threads to deal
with parallel processors:
· Development of the
start, stop, init, run, destroy methods
· Cover loading and
manipulation of graphics files for animations.
· Techniques for reducing
flicker; the use of double buffering
· Manipulating sound
files, combining them with graphics
D. Managing simple events and interactivity: 4
hours
· The Event model.
· Dealing with mouse and
keyboard events.
· Using a listener.
E. Creating User Interfaces with the AWT: 6
hours
· Overview of the
AWT(Abstract Windowing Toolkit):
· Components: Buttons, checkboxes, pull down lists,
combos.
· Containers: Canvas,
panels, Frames, Windows, Dialog boxes
· Layouts: managing components in containers.
· Handling interactions
and events in multiple windows with Listeners.
F. The I/O Model- Streams and Pipes: 6
hours
· The I/O model and its 56
pipes.
· Security issues with
file access.
· Opening files across the
internet.
· Use of compression
through jar files.
· Network classes -client
server connections. E.g. Chat
G. Overview of Advanced Developments: Possible topics 6
hours
· Exception handling
· Java Beans: Component
architecture model.
· Telephony
· JDBC (Java Data Base
Connection)
· Swing set: standardized
set of interface components
H. In-class
Examinations 3
hours
IV. Evaluation Methods
1. Classroom and lab
activities -30%. There will be weekly graded projects involving hands-on
programming in Java in the lab or developing algorithms and pseudocode in the
classroom. The points earned in these activities cannot be made up if the
student misses the class. Outside class readings are required in association
with these activities.
2. Homework:
30%. Students will have 5-6 programming
assignments to complete outside of class time.
3. Quizzes and exams.
40%. Students will be evaluated on their understanding of the concepts
presented using short essay questions on the readings and class material. There will be several quizzes (collectively
counting 10%), a mid-term exam (15%) and a final exam (15%).
4. Grading Scale. The
standard grading scale will be used.
90%+ =A; 80-89%=B; 70-79%=C; 60-69%=D; <60%=F.