home > training > JAVA200: Java Programming – An In-Depth Introduction

2 Student Comments

Java Programming - An In-Depth Introduction Training Course



  • 5 Days
  • ​Promotional and package discounts may apply
  • Replay™ Class Recordings Included

Interested in scheduling a date for this course?
Request A Date
  • This field is for validation purposes and should be left unchanged.

Course Description

This course provides a strong foundation to understand what is possible in Java, through lecture and hands-on experience in designing and creating solutions using Java best practices.

The Java platform, language, tools, and runtime environment will be taught and used to create object-oriented solutions to realistic problems. An overview of potential architectures, with demonstrations of desktop, web apps and Android applications helps give context.

Syntax is taught while students create simple applications to create, read, update and delete data in memory and write to files and databases. Students learn how to leverage core Java SE classes such as those in important packages: java.lang, java.util, java.time, java.sql. Common pitfalls are taught to be avoided, and common misconceptions about memory and object are explained. The use of interfaces and anonymous inner classes is taught – along with Java 1.8 lambda expressions for functional programming. Approaches to Object Oriented design is taught to help students design custom classes and interfaces. Design patterns are emphasized throughout the course. Practice with JUnit for Test Driven Development is also covered.

Finally, the course demonstrates moving beyond Intro to Java, with overviews of multi-threaded programming, Streams API, dependency management with Maven projects, Java 1.9 features, web applications and architecture, and a short introduction to REST-based architecture using Spring Boot.


Module 1: Getting Started with Java

  • Environment setup and the Java Virtual Machine
  • Possible Architectures and project demonstrations
  • Compiling and Executing new Code
  • Working with Primitives and Objects
  • Memory and Garbage collection
  • Printing in Unicode
  • Conditional Statements
  • Using Arrays
  • Creating Projects in Eclipse*
  • Creating jar files and documentation


Module 2: Working with Classes and Objects

  • Exploring the JavaDocs
  • Leveraging Existing Classes
  • Using Classes with Static Methods
  • Creating Instances of Objects
  • Understanding Method Signatures
  • Common Java Usage Pattern
  • Memory and Garbage Collection
  • Object References and Casting
  • String
  • Date and Calendar
  • java.time package of Java 8
  • Arrays of objects
  • Handling Runtime Exceptions


Module 3: Writing Custom Java Classes

  • Member Variables
  • Constructors
  • Getters and Setters
  • Implementing Behavior in Methods
  • Inheritance
  • Abstract Classes
  • Interfaces, including changes in Java 1.8 and 1.9


Module 4: JUnit and Test-Driven Development

  • Considering a TDD Approach
  • How to Use JUnit
  • Writing Test Logic
  • Types of Assertions
  • Using Test Fixtures


Module 5: Collections Framework

  • How to Work with the Collections Framework
  • Lists, Sets, Maps
  • Sorting Collections
  • Implementing Comparators
  • Using Inner Classes
  • Using Lambda expressions


Module 6: Persisting and Accessing Data

  • Working with Files and Other Types of Input/Output
  • File & Directory Information
  • Reading from Files
  • Writing to Files
  • The DAO Pattern
  • Dealing with Checked Exceptions with IO
  • Serialization and cloning objects


Module 7: Working with Databases

  • Working with Databases
  • Connecting to a Database
  • Executing a SQL Statement
  • Parsing results of a SQL Statement
  • Working effectively and Securely with Databases
  • Preventing SQL Injection Attacks
  • Taking Advantage of Connection Pools
  • Managing Transactions


Module 8: Going Beyond Intro to Java (Overview of topics)

  • Multithreading and concurrency
  • Streams API
  • Using Maven for dependencies
  • Java 1.9 Features
  • Java Enterprise Edition (Java EE)
  • Web Projects, web servers, application servers
  • Servlets, Request, Response, & Session Classes
  • JSPs, JSFs
  • Overview of Rest APIs and Spring Boot

Developers with programming experience, who already understand the fundamental concepts of programming, such as variables, memory, loops but are new to Java.


There are no prerequisite for this course, but experience with object-oriented programming will be very helpful.

What You Will Learn

After successfully completing this course, students will be able to:

  • Develop object-oriented applications
  • Persist data to files and databases
  • Design and implement classes
  • Throw and handle exceptions correctly
  • Leverage interfaces for extensibility
  • Use JUnit for testing
  • Process data with arrays and Collections API
  • Understand at high-level Java EE and Spring
Student Comments (2)
Comments about the Physical Environment
"The laptop provided by the training company was good. The training slides were good as well."
April 5, 2019 | JAVA200 Student
Comments about the Instructor
"Very knowledgable!"
February 3, 2017 | JAVA200 Student