English French German Italian Portuguese Russian Spanish

logo_old

  • Java Training

    javaInterSource offers live instructor-led courses on all important Java-related technologies, including Apache Struts, Enterprise Java Beans (EJB), J2SE Desktop Java Enterprise Edition (Java EE), Java Fundamentals, Java Web Services, JavaServer Faces, JBoss, Java Server Pages (JSP), and Spring.

    Please refer to our detailed course outlines below.

  • About Java

    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode (class file) that can run on any Java Virtual Machine (JVM) regardless of computer architecture

    Java is general-purpose, concurrent, class-based, and object-oriented, and is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere". Java is considered by many as one of the most influential programming languages of the 20th century, and widely used from application software to web application.

    Read More

  • Course Details Java

    Classes are offered at client sites, at our Geneva training center, and via a live web conference. For detailed course outlines and scheduled classes, please see below.

    To book training, navigate to the course you need, then:

    • For scheduled online classes, register from the choices indicated.
    • If you need an alternative date, time or location, or if you want a live classroom course, click on “request an offer for this course,” to complete the form.

Intermediate Java Programming

 PDF PrintEmail

Course duration

  • 5 Days

Course Outline

This course teaches programming in the Java language -- i.e. the Java Standard Edition platform. It is intended for students with previous Java experience or training, who already know the fundamentals of the Java architecture and basic procedural programming. This course provides in-depth coverage of object-oriented concepts and how to apply them to Java software design and development. We then move from these basic skills into key parts of the Java SE Core API, including collections, logging, streams, and object serialization. A final chapter introduces automated unit-testing practices using JUnit.

This revision of the course targets the Java 7 language and Core API. See our course catalog for training explicitly geared to earlier versions of Java, going back as far as J2SE 1.4.2. To read more about different versions of Java and for help deciding on which version of this course to use, see "Java Versions and Terminology Demystified".)

Students come to Java from a wide range of backgrounds, and this course is designed to be as flexible as possible over the upper end of that range. Specifically:

  • Chiefly, learn to program effectively in the Java language.
  • Understand the Java software architecture, and the design decisions which make Java software portable, efficient, secure and robust.
  • Learn how to configure a simple Java development environment.
  • Know the grammar, data types and flow control constructs of the Java language for simple procedural programming.
  • Understand Java as a purely object-oriented language, and implement software as systems of classes.
  • Implement and use inheritance and polymorphism, including interfaces and abstract classes.
  • Design appropriate exception handling into Java methods, and use the logging API appropriately.
  • Understand the structure of streams in Java, and learn how to use streams to manage file I/O.
  • Learn how to use Java Serialization to internalize and externalize potentially complex graphs of objects.
  • Build unit tests for Java classes using JUnit.
  • Students must be able to write, compile, test, and debug simple Java programs, using structured programming techniques, strong data types, and flow-control constructs such as conditionals and loops.
  1. Review of Java Fundamentals
    1. The Java Architecture
    2. Forms for Java Software
    3. Three Platforms
    4. The Java Language
    5. Numeric Types
    6. Characters and Booleans
    7. Enumerations
    8. Object References
    9. Strings and Arrays
    10. Conditional Constructs
    11. Looping Constructs
    12. Varargs
  2. Object-Oriented Software
    1. Complex Systems
    2. Abstraction
    3. Classes and Objects
    4. Responsibilities and Collaborators
    5. UML
    6. Relationships
    7. Visibility
  3. Classes and Objects
    1. Java Classes
    2. Constructors and Garbage Collection
    3. Naming Conventions and JavaBeans
    4. Relationships Between Classes
    5. Using this
    6. Visibility
    7. Packages and Imports
    8. Overloading Methods and Constructors
    9. JARs
  4. Inheritance and Polymorphism in Java
    1. UML Specialization
    2. Extending Classes
    3. Using Derived Classes
    4. Type Identification
    5. Compile-Time and Run-Time Type
    6. Polymorphism
    7. Overriding Methods
    8. The @Override Annotation
    9. Superclass Reference
  5. Using Classes Effectively
    1. Class Loading
    2. Static Members
    3. Statics and Non-Statics
    4. Static Initializers
    5. Static Imports
    6. Prohibiting Inheritance
    7. Costs of Object Creation
    8. Strings and StringBuffers
    9. Controlling Object Creation
    10. Understanding Enumerated Types
    11. Stateful and Behavioral Enumerations
  6. Interfaces and Abstract Classes
    1. Separating Interface and Implementation
    2. UML Interfaces and Realization
    3. Defining Interfaces
    4. Implementing and Extending Interfaces
    5. Abstract Classes
  7. Collections
    1. Dynamic Collections vs. Arrays
    2. UML Parameterized Type
    3. Generics
    4. Using Generics
    5. The Collections API
    6. The Collection<E> and List<E> Interfaces
    7. The ArrayList<E> and LinkedList<E> Classes
    8. Looping Over Collections: Iterable<E>
    9. Collecting Primitive Values: Auto-Boxing
    10. Using Wildcards with Generic Types
    11. Iterators and the Iterator<E> Interface
    12. Maps and the Map<K,V> Interface
    13. Sorted Collections
    14. The SortedSet<E> and SortedMap<K,V> Interfaces
    15. The Collections Class Utility
    16. Algorithms
    17. Conversion Utilities
  8. Exception Handling
    1. Reporting and Trapping Errors
    2. Exception Handling
    3. Throwing Exceptions
    4. Declaring Exceptions per Method
    5. Catching Exceptions
    6. The finally Block
    7. Catch-and-Release
    8. Chaining Exceptions
    9. try-with-resources
  9. Inner Classes
    1. Passing Behavior
    2. Inner Classes in GUI Programming
    3. Named Inner Classes
    4. Outer Object Reference
    5. Static Inner Classes
    6. Anonymous Inner Classes
  10. The Java Streams Model
    1. Delegation-Based Stream Model
    2. InputStream and OutputStream
    3. Media-Based Streams
    4. Filtering Streams
    5. Readers and Writers
  11. Working with Files
    1. File Class
    2. Modeling Files and Directories
    3. File Streams
    4. Random-Access Files
  12. Advanced Stream Techniques
    1. Buffering
    2. Data Streams
    3. Push-Back Parsing
    4. Byte-Array Streams and String Readers and Writers
  13. Java Serialization
    1. The Challenge of Object Serialization
    2. Serialization API
    3. Serializable Interface
    4. ObjectInputStream and ObjectOutputStream
    5. The Serialization Engine
    6. Transient Fields
    7. readObject and writeObject
    8. Externalizable Interface
  14. Automated Unit Testing with JUnit
    1. Automated Testing
    2. JUnit and Related Tools
    3. The @Test Annotation
    4. The Assert Class Utility
    5. Test Runners
    6. Lifecycle Methods

InterSource Geneva, a premier Information Technology training firm, offers over 400 different courses on server, database and programming technologies, as well as end-user classes for the most popular office, graphics and design applications. We serve clients in Switzerland (Geneva, Lausanne, Bern, Basel, Zurich) and throughout Europe (France, Germany, Austria, Finland, Sweden, England, Netherlands, Spain, etc.).


InterSource offers custom, private courses at client sites, standard public courses in our Geneva classroom, and online training via live Web conference. Training is offered in English and many other languages (Francais, Deutsch, Espanol, Italiano.)


For an overall view of our offerings, please visit us at www.intersource.ch.