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.