Opleiding: Java Programming
The course Java Programming Fundamentals covers the fundamentals of programming in Java based on version 8 of the Java platform.Java Syntax
By means of successive exercises in a case study, participants learn to program with the variables, data types, operators and control flow constructions of the Java language.
Classes and Objects
The course then discusses object oriented concepts such as class, object, encapsulation, inheritance and polymorphism. Attention is paid to errors and exception handling and it is discussed how Java software is organized in packages.
Multiple Threads
Also the split of a program into different subtasks with threads and the synchronization of these threads is the subject in the course.
Generics
Parameterized types, generics, and their use in the Collection Framework are also part of the course program. Optional modules, if time permits it, are access to databases with JDBC and Java Beans.
OCA Certification
This course is a good preparation for the Java 8 OCA , Oracle Certified Associate, exam. In combination with the Advanced Java Programming course this course also prepares for the Java 8 OCP, Oracle Certified Professional, exam.
Audience Course Java Programming
The course Java Programming Fundamentals is intended for developers who want to learn Java Programming and other persons who want to understand Java code.
Prerequisites Course Java Programming
Basic knowledge of and experience with programming is recommended. Principles of Object Oriented Programming using Java are explained. Prior knowledge of this is beneficial but not necessary for the understanding.
Realization Training Java Programming
The theory is treated on the basis of presentations and is interspersed with exercises. Demos are used to clarify the theory. The course uses Java 8. The course material is in English. The course times are from 9.30 up and to 16.30.
Certification Java Programming
Participants receive an official certificate Java Programming Fundamentals after successful completion of the course.
Modules
Module 1 : Basic Concepts
- Java Overview
- Language Editions
- Java Platform
- Java Community Process
- Application Types
- Compiling and Running
- Compiler and Interpreter
- Application Structure
- Garbage Collection
Module 2 : Language Syntax
- Types of Variables
- Primitive Data Types
- Block Statements
- if else Statements
- switch Statement
- for and while Loop
- break and continue
- Arrays and Strings
- Formatted Output
Module 3 : Classes and Objects
- Class Definition
- Encapsulation
- Access Modifiers
- Constructors
- Fields and Methods
- static Modifier
- this Keyword
- Parameter Passing
- Method Overloading
Module 4 : Inheritance
- extends Keyword
- Overriding Methods
- Hiding Attributes
- Calling Base Constructors
- Polymorphism
- Abstract Classes
- Interfaces
- Default Methods
- Type Casting
- Implicit and Explicit Casting
- Cloning Objects
Module 5 : Exception Handling
- Error and Exceptions
- Checked and Unchecked
- Multiple Catch Clauses
- finally Clause
- try with Resources
- Common Exceptions
- Throwing and Rethrowing
- User Defined Exceptions
- Chained Exceptions
- Stack Traces
- Assertions
Module 6 : Packages
- Standard Java Packages
- java.lang Package
- Packages and Directories
- Importing Classes
- Full Class Names
- Using Packages
- CLASSPATH
- import static
- Packages and Visibility
- Packaging in JAR
- Runnable JARS
Module 7 : Threads
- Java Thread Model
- Thread Class
- Runnable interface
- Extending Thread
- Implementing Runnable
- Daemon Threads
- Thread Life Cycle States
- Sleeping and Yielding Control
- Using join and interrupt
- Thread Priorities
Module 8 : Synchronization
- Synchronization Mechanisms
- synchronized Modifier
- Blocking on a Monitor
- Mutual Exclusion in Java
- synchronized Block
- Locking and Statics
- Deadlock
- Condition Synchronization
- Using wait and notify
- while Loop and notifyall
Module 9 : Special Classes
- Inner Classes
- Types of Inner Classes
- Anonymous Inner Classes
- Static Inner Classes
- Lambdas
- Functional Interfaces
- Enumerations
- Enums as Constant Objects
- Enums are Classes
- Enum Methods and Fields
Module 10 : Utility Classes
- Object Class
- Wrapper Classes
- Autoboxing and Unboxing
- Overriding equals
- Math Class
- Date and LocalDate
- Regular Expressions
- Scanner and System Class
- Localizing Dates and Numbers
Module 11 : Collection Framework
- Framework Branches
- Collection and Map Interface
- Iterator Interface
- List Interface
- ArrayList and LinkedList Class
- Set and SortedSet
- Comparable Interface
- Comparator Interface
- map, filter and foreach Method
Module 12 : Generics
- Need and Benefits of Generics
- Generics in Collections
- Type Erasure
- Bounded Type Parameter
- Generics and Subtyping
- Wildcards
- Bounded Wildcards
- Raw Types
- Generic Methods
Module 13 : Stream I/O
- I/O Basics and Classes
- Byte and Character Streams
- Data Sink Streams
- Processing Streams
- Buffered Streams
- Data Conversion Streams
- Serialization
- Object Streams
Optional Module : JDBC
- JDBC Overall Architecture
- JDBC Drivers and URL's
- Class forName
- Making Connections
- Executing a Statement
- Retrieving Results
- Transactions
- Prepared Statements
Optional Module : Java Beans
- Software Components
- Java Beans
- Properties
- Getters and Setters
- Bean Component Model
- Bean Event Pattern
- Event Firing
- Event Listener Interface

