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