נושאים
Introduction to Java:
- The History of Java
- Java’s Key Features
- The Java Virtual Machine.
- The First Application
Basic Syntax:
- Identifiers
- Comments
- Keywords
- The Eight Primitives
- Creating Instances using ‘New’
Expressions:
- Using Operators
- The ‘If-Else’ Statements
- Using ‘While’ Loop
- Selecting with ‘Switch’ statement
- Dealing with Primitive Casts
Using Arrays:
- Creating an Array
- Array Initialization
- Working with Arrays
- Using Multi-dimensional Arrays
-
Java Classes – part 1:
- Classes & Packages
- The ‘import’ Statement
- The Importance of Encapsulation
- Java Constructors
- Access Modifiers (private, default and public)
- Method Overloading
Java Classes – part 2:
- Polymorphism and Inheritance
- The ‘Protected’ Modifier
- Using ‘this’ and ‘super’
- The ‘final’ keyword
- Static Members & Methods
Java Classes – part 3:
- Interfaces & Abstract Classes
- The Complete Construction Process
- The Class ‘Object’
- Nested Classes
- Enums in Java
Basic Design Patterns:
- Basic Concepts of Design Patterns
- The Singleton Design Pattern
- The Factory Design Pattern
Exceptions & Assertions:
- The ‘try-catch-finally’
- Compile-time Exceptions
- Describing Common Exceptions
- Creating Custom Exceptions
- Using Assertions
IDE, Classpath & JARs:
- The ‘Classpath’ in Java
- Creating Archives
- Debugging with the IDE
Working with Common Classes:
- Java.lang.String
- Java.lang.Math
- Java.lang.System
- Java.util.Scanner
- Java.util.Calendar
The Java Collection Framework & Generics:
- Overview on the JCF
- Collection, List, Set and Map
- Understanding the Implementations
- Working with Generics
Java IO:
- Using the File IO
- InputStream/OutputStream
- The Decorator Design Pattern
- Java Serialization
- Readers & Writers
Multi-Threading:
- Introducing Concurrent Programming
- Creating Java Threads
- The ‘synchronized’ Keyword
- Working with wait/notify
Networking:
- Networking Overview
- Working with Sockets
- Create a Client-Server Application