Intermediate Java Programming

Course ID

06160

Course Description

This course goes in depth in many of the topics covered in the Java Fundamentals class. It also introduces Collections, JDBC, Networking, several Systems Programming topics, Test Driven Development, JUnit, AgitarOne and ANT. This course is taught using IBM's Rational Software Architect (RSA).

Prerequisites

  • A working knowledge of the Java language.
  • Completion of a class in Java Fundamentals and Object Oriented Programming.
  • A strong understanding of Object-Oriented development.

Audience

Java programmers and system architects who want an in-depth working knowledge of the Java language, its APIs, and its idiosyncrasies.

Course Content

    Collections and Arrays
  • Overview
  • The Old Collections
  • New Collections
  • Collection Hierarchy
  • The Collection Interface
  • The Iterator
  • The List Interface
  • The ArrayList Class
  • The LinkedList Class
  • The Map Interface
  • The HashMap Class
  • The SortedMap Interface
  • The Comparable Interface
  • Comparable & Comparator Examples
  • The TreeMap Class
  • Set and SortedSet

    I/O Streams
  • Overview
  • The File Class
  • Byte Streams
  • 2
  • Data Streams
  • Conversion Streams
  • Readers and Writers
  • Text Streams
  • Object Streams
  • Other Streams

    JDBC
  • Overview
  • Basic Steps
  • ResultSets
  • MetaData
  • Statements
  • Prepared Statements
  • Exceptions
  • Transactions
  • Connection Pools

    Threads
  • Overview
  • Thread States
  • Synchronization
  • Runnable Interface
  • Interrupting Threads
  • Thread Cooperation

    Networking
  • Overview
  • Protocols
  • The TCP/IP Protocol Suite
  • TCP Streams
  • Sockets
  • ServerSockets
  • MultiThreaded Servers
  • Datagrams

    System Programming
  • The System Class
  • Creating Processes
  • Shutdown
  • Security
  • Other APIs

    Test Driven Development (TDD)
  • Objectives
  • Why use TDD?
  • Benefits of TDD
  • How TDD Helps you Build Software (Better, Faster and Cheaper)

    Writing JUnit Tests
  • Overview of JUnit
  • When to Test
  • What to do when the Test Fails
  • 3
  • Test Cases
  • Assertions
  • Test Fixtures
  • Test Suites
  • JUnit Best Practices
  • Properties of Good Tests
  • Data-Driven Testing Approaches

    Mock Objects
  • Overview
  • What are Mock Objects?
  • When to Use Them
  • When to Avoid Them
  • How to Use them Effectively
  • Creating Mocks
  • Test Helpers

    Refactoring
  • Overview
  • Why and When to Refactor
  • Writing Code that Responds to Change
  • Examples of Quick and Valuable Refactoring
  • Code Reviews with Refactoring

    Introducing AgitarOne
  • Objectives
  • Why Use AgitarOne Instead of Simple JUnit Tests?
  • Making Developer Testing Easy
  • Generating JUnit Tests
  • Enforcing Code Rules
  • Agitating Code for Exploratory Testing
  • Managing Developer Testing In Your Project
  • Automated Continuous Integration and Regression Testing

    AgitarOne Quick Start
  • Objectives
  • Setting Up the Project
  • Generating and Running a JUnit Test
  • Enforcing Code Rules
  • Agitating Code
  • Generating a Dashboard

    Running an Agitation
  • Objectives
  • Creating Your Classes
  • Agitating Your Code
  • Reviewing the Results
  • Defining Class-Level Assertions
  • Testing the Assertions
  • Reviewing the Results for the Constructor
  • Reaching Full Agitation

    ANT Overview
  • Objectives
  • Core Ant Concepts
  • Invoking Ant
  • Build Files
  • Projects
  • Targets
  • Tasks
  • Properties
  • Filesets
  • Working with Paths
  • Java Applications in JARs, Running JUnit
  • Javac Task
  • JUnit Task

For More Information

For training inquiries, call 850-308-1376

or email us at eramos@gbsi.com

Course Details

Duration - 5 days
Price - $2995.00 USD


(Discounts may apply. Call for more information.)

Course Actions

Acceletrain Collaborative Learning Environment (formerly know as VILT) places industry certified and expert instructors, peers, learners and multi-media components into a "borderless classroom", and interactive learning environment that can span multiple physical locations. VILT combines the benefits of the traditional brick-and-mortar classroom with innovative learning techniques and the cost savings of internet-based training.