Course Details
Java programming
Course description
Java is a general-purpose programming language that is class-based, object-oriented, and designed to have as few implementation dependencies as possible. It is intended to let application developers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C and C++, but it has fewer low-level facilities than either of them. As of 2019, Java was one of the most popular programming languages in use according to GitHub, particularly for client-server web applications, with a reported 9 million developers.
Course Outline
1. Introduction to OOAD for Java Developers
2. Fundamental Programming Structures in Java
Learn the basics of the Java programming language
· The main() method
· Primitive Data Types
· Variables
· Constants
· Assignments
· Initializations
· Operators
· Strings
· Control Flow
· Code Examples & Exercises
3. Classes and Objects in Java
Master the fundamental elements of OOP and related Java features
· Classes & Objects
· OOP Principles
· Instantiation
· Encapsulation
· Specialization
· Instance Variables
· Class Variables
· Constructors
· Instance Methods
· Class Methods
· Method Overloading
· The this keyword
· Passing and returning objects
· Garbage Collection in Java
· Code Examples & Exercises
4. Object Design and Programming with Java
Understand the object-oriented way of programming
· Abstraction
· Inheritance
· Polymorphism
· Method Overriding
· Associations
· Delegation
· Code Examples & Exercises
5. Java Interfaces
Creating high levels of abstraction
· Purpose of Interfaces
· When to use them
· Interface Declaration
· Implementing an Interface
· Interface Inheritance
· Code Examples & Exercises
6. Java Exception Handling
Writing robust, industrial-strength Java code
· Why Exceptions
· Standard Exception Handling Options
· Exception Class Hierarchy
· Checked vs. Unchecked Exceptions
· Catching an Exception: try and catch blocks
· Methods Which Throw Exceptions: the throws clause
· Handling vs. Declaring Exceptions
· System Exceptions vs. Application Exceptions
· Writing Custom Exceptions
· Code Examples & Exercises
7. Java Collections API
Managing collections of objects
· Arrays
· The Java Collections Framework
· Collections Interfaces
· java.util.Collection
· java.util.List
· java.util.Map
· java.util.Set
· Concrete Collections
· java.util.ArrayList
· java.util.HashMap
· java.util.HashSet
· Iterating through Collections
· java.util.Iterator
· Code Examples & Exercises
8. Java Input/Output API (Optional)
Dealing with serialized data and objects
· Streams & Files
· Input & Output Streams
· File Streams
· Object Streams
· Object Serialization
· Readers & Writers
· The Java New I/O (NIO) API
· Code Examples & Exercises
9. Java Programming Best Practices
10. Differences between Java, C++ and C# (Optional)
Connecting with one’s knowledge of another OO language to avoid pitfalls
· Program Structure
· Namespaces
· Comments
· Data Types
· Miscellaneous Differences