IDI Course JAV-03
The Java Language in Depth
for Experienced C++/OOP programmers

Programmers who already have a thorough grasp of the object paradigm and C/C++ enjoy a head start in acquiring a command of Java. Relying on that experience, this course stresses the differences between Java and C++, not just as languages but also as approaches to program structure.

We present a balance between features where Java offers significant advantages over C++ and features where Java is deficient or awkward. We show how to exploit the former and discuss how best to circumvent or minimize the impact of the latter.

Our aim is to develop a mastery of the Java language and related essential library (java.lang.) classes, leaving much of Java's rich repertoire of library classes and specialized techniques for follow-on advanced seminars.

Length:

5 half-day sessions
(4 if students' C++ background is grounded in a thorough understanding of abstract data types and data type taxonomy).

Prerequisites:

Objectives:

Upon successfully completing JAV-03 the participant will be able:

  1. to design, develop, and use high-quality Java classes to implement:
    • elementary data types that occur often in applications, including:
      • for business-oriented participants numeric types such as Money, Date, Percentage, as well as discrete types such as Sex, MaritalStatus, and TelephoneNumber
      • for engineering and scientific programmers Complex, as well as families of related numeric types obeying Ohm's, Newton's, Einstein's, etc. laws.
    • other elementary data types,
    • composite data types ("business objects"), including Person, Account, Product, and Organization, as well as derived specializations of those types,
    • container (or collection) data structures.
  2. to use the compiler and interpreter (JDK/SDK) to build and run command-line programs packaged as families of such classes and pseudo-classes.
  3. to control and exploit Java's reference semantics.
  4. to simplify decision logic through polymorphic methods.
  5. to understand and exploit the most useful Java standard library classes.
  6. to develop simple event-driven programs and web applets with graphical user interfaces.
  7. to convert many C++ components to good Java.

Return to course list
Java shortcuts
IDI home page

Last modified July 13, 2000