Java
Java For Work
Java is one of the the most popular programming languages in the world. With all the legacy Java applications that need to be maintained and new ones created every day, mastery of Java will guarantee you will always be in demand. Take the first step now.
Description
According to Oracle, almost 20 billion devices run Java around the world. Java was the first language for Android. Java runs on microservices, serverless, machine learning pipelines, and so much of the critical infrastructure in modern applications.
Java For Work builds on the foundation of low-level primitives like conditionals and loops with a thorough treatment of object-oriented programming, functional and reactive programming, and software engineering best practices to enable you to build sophisticated Java programs in the real world.
What makes this course different
The typical Java course teaches you how to code in Java but not how to engineer in Java. You go back to work completely unprepared for the challenges you will face when your team expects you to deliver for a real customer.
Java for Work operates from the premise that the greatest asset in professional software engineering isn’t what you know but how fast you can learn. Here you solve unfamiliar problems by consulting your peers like us and Google and Stack Overflow for ideas. Just like every day at work. Skills ignored by other Java courses like testing, error handling, and deployment become second nature. The course concludes with a brief discussion of other languages that build on Java’s legacy like Kotlin and Scala.
When you finish this course, you will be a professional Java engineer.
Course Syllabus
Session 1: Introduction to Java
- History and fundamentals of the language
- Control Structures
- Collections
- Generics
- Coding conventions
Session 2: Combining Object-Oriented and Functional Programming
- Domain Modeling vs. Behavior
- Objects and Methods
- Java Object Hierarchy
- Inheritance, Polymorphism, and Composition
- Functional Interfaces
Session 3: Leveling Up with Java
- Temporal Types
- Records
- Immutable collections
- Serialization with JSON
- Asynchronous Programming with CompletableFuture
- Reactive Programming with Reactive Streams
- Experimentation Using the REPL
Session 4: Professional Java
- Testing
- Error handling
- Database Persistence
- File Processing
- Logging
- Cloud-Native Java
- Serverless
- Architectural Patterns
- Alternative Languages for the JVM
I am self-taught in Java with many years of experience delivering large-scale solutions ranging from microservices to web and mobile and Big Data applications for government and commercial clients. I have multiple Java badges on Stack Overflow, and I was even a Sun Certified Java Programmer when that was still a thing and when I thought certifications really meant something.