SW 410 Seminar in Java Technologies

 

 

This course will explore new Java technologies in a structured manner. Students will present their findings and be expected to make substantial contributions to the set of examples available for these new technologies.

3 Credit Hours, Pre-req: SW 409

 

Textbook: Java for Programmers, by D. Lyon. Copies are available from the SOE office for $26.

Computer Usage: Students MUST have access to a computer with a Java compiler. Metrowerks CodeWarrior Academic Pro for Windows 95, 98, NT is strongly suggested and will be used in class. E-mail access is required. Metrowerks is available in the book store. E-mail access is required.

Course Notes: Handouts/diskettes/e-mail, web page

When: Friday, 6:30 PM

Where: MC 204

Who: Prof. Lyon

Phone (203)641-6293

Fax (203)877-4187

Web: http://www.DocJava.com

Office Hours: TBA

Pre-req by Topic:

 

 

Topics: There will be a review of the above and the amount of coverage for the following topics may vary.

 

 

Additional topics of exploration may include:

Java Mail, JMS, Container Management,

Session Management, Entity API, JSP Tags,

Introspection, Java Beans Management, WML, XSLT, Java 3D,

JAI, CORBA/IDL, RMI, Advanced GUI's, Multi-media

programming (Java Sound API, JMF, QT4J, etc.) and

other advanced topics.

 

Educational Objective: To improve student communication skills.

Outcome: Students will write and present materials in a lecture format on

a regular basis.

 

Educational Objective: To prepare students for life-long learning.

Outcome: Student will teach themselves and others about cutting

edge technologies.

 

Educational Objective: To help students make sense of the large

and growing number of Java technologies.

Outcome: Students will perform exercises based on each presentation

to make sure that they understand the technologies.

 

 

The students are broken up into teams. Teams lecture every

other week.

For home work, each person must write a 2 page report

about any aspect of some other teams project.

 

For example:

Cryptography in Java

- Cyphers (product cyphers, transposition cyphers, streams, etc.)

JavaTM Cryptography Extension (JCE)

JavaTM Secure Socket Extension (JSSE)

JavaTM Authentication and Authorization Service (JAAS)

 

Compression in Java

- Block codes, hamming codes, hamming distances, gzip, etc.

 

Computer Graphics in Java

- Homogenious coordinate transforms, Java 2D, Java 3D, etc.

 

Image Processing in Java

- JAI (Java advance imaging) filters, transforms, etc.

 

Voice synthesis in Java

- Java telephony API, Voice Synthesis API

 

Signal Processing in Java

- Java sound API, filtering in 1D, transforms in 1D, etc.

 

Distributed Processing in Java

- RMI, parallel programming,

 

Multimedia Processing in Java

- JMF, image sequence transmission, image sequence storage, compression

algorithms. Rate distortion.

 

Embedded Systems Programming in Java

- JINI, look-up spaces, discovery process, proxy services

 

XML Programming in Java

- JAXP extensions, XSLT Programming, generating XML with DOM

 

Visual Programming in Java

- Building a BEAN based visual programming language

JAVABEANSTM ACTIVATION FRAMEWORK (JAF)

 

Bean communication in Java

- INFOBUS, component software development, techniques

for exchange of data

 

Automated Documentation in Java

- JavaHelp, means for creating wizards, making user friendly programs.

 

Messaging in Java

- using the Java Messaging System, JMS, setting up JMS

 

Mail in Java

- Using the Java Mail API, comparing with native SMTP protocols

 

Parsing in Java

- Writing a parser in Java, using javacc, lex and yacc equivalents,

bnf to parser

conversions

 

Introspection in Java

- beyond the reflection api, listing various method type and reverse

engineering

specifications in the code.

 

Native method interfacing in Java

- JNI, automatic code generation. Calling C or C++ code.

overhead analysis

 

Naming discovery in Java

- JNDI, compare and contrast with JINI. Multi-cast protocols and their

role in the discovery process.

 

People select their topics