Unlock your potential with 'Getting Started with Programming, OO & Java Basics for Non-Developers', a comprehensive course designed for beginners eager to explore Java 21's cutting-edge features and dive into the world of software development.
Write and execute Java programs using modern IDEs and gain a basic understanding of coding mechanics.
Apply object-oriented programming principles to design and structure professional-grade applications.
Utilize Java's core features to manage data, handle errors, and build efficient programs.
Understand and adopt best practices for clean and maintainable Java coding.
Learning to program opens up a world of possibilities, whether you are looking to build applications, improve your problem-solving skills, or just understand how software works. Getting Started with Programming, OO, and Java 21 Basics for Non-Developers is a hands-on, expert-led course designed to make coding approachable, even if you have never written a line of code before. You will learn how programs work, how to think like a developer, and how to write and organize Java code in a way that makes sense. With plenty of hands-on practice, you will gain confidence using Java 21’s latest features, working with IDEs, and understanding key concepts like variables, loops, methods, and object-oriented programming. This course is built for technically-minded beginners who want real coding experience in a structured, supportive environment. Over five days, you will write your own Java programs, explore core programming concepts, and see firsthand how to build applications from the ground up. You will also work with essential Java tools, handle errors, and learn best practices for writing clean, efficient code. With expert guidance and a focus on hands-on learning, you will walk away with practical skills that you can use immediately. Whether you are starting your journey into development, working with technical teams, or just curious about how programming works, this course will give you the foundation you need to get started. Becoming a modern software developer is like learning a new language; it requires study, practice, and dedication well beyond this course to apply your new skills effectively. While this five day program won't transform you into an experienced developer, it will lay a solid foundation in coding basics using Java, while teaching you to think like a programmer. Although this course is technical in nature, our instructors will guide you every step of the way, providing a supportive environment for you to explore, ask questions, and prepare for your next learning milestones.
No upcoming dates. Please check back later.
Explain what a program is
Explain why there are different types of languages
Explain what a compiler is
Explain what an interpreter is
Lab: Matching Terms
Understand what the entry and exit points of an application are
Explain what variables are
Explain what programming instructions are
Explain what errors and exceptions are
Understand what programming algorithms are
Explain the purpose of the software development life cycle
Explain what each phase is for
Explain the difference between the software development life cycle and a methodology
Understand the difference between a class and an object
Deconstruct an object into attributes and operations
Map an object to a class
Define inheritance
Lab: Designing an Application
Introduce the Java Platform
Explore the Java Standard Edition
Discuss the lifecycle of a Java Program
Explain the responsibilities of the JVM
Executing Java programs
Garbage Collection
Documentation and Code Reuse
Explain the JDK’s file structure
Use the command line compiler to compile a Java class
Use the command line Java interpreter to run a Java application class
Lab: Exploring MemoryViewer
Introduce the IntelliJ IDE
The Basics of the IntelliJ interface
IntelliJ Projects and Modules
Creating and running Java applications
Tutorial: Working with IntelliJ 2023.2 (Community Edition)
Write a Java class that does not explicitly extend another class
Define instance variables for a Java class
Create object instances
Primitives vs Object References
Implement a main method to create an instance of the defined class
Java keywords and reserved words
Lab: Create a Simple Class
Write a class with accessor methods to read and write instance variables
Write a constructor to initialize an instance with data
Write a constructor that calls other constructors of the class to benefit from code reuse
Use the this keyword to distinguish local variables from instance variables
Lab: Create a Class with Methods
Real-World Objects
Classes and Objects
Object Behavior
Methods and Messages
Lab: Define and use a New Java class
Encapsulation
Inheritance
Method Overriding
Polymorphism
Lab: Define and use Another Java Class
Arithmetic operators
Operators to increment and decrement numbers
Comparison operators
Logical operators
Return type of comparison and logical operators
Use for loops
Switch Expressions
Switch Expressions and yield
Lab: Looping (optional)
Lab: Language Statements
Lab: Switch Expressions
Create an instance of the String class
Test if two strings are equal
Perform a case-insensitive equality test
Contrast String, StringBuffer, and StringBuilder
Compact Strings
Text Blocks
Unicode support
Lab: Fun with Strings
Lab: Using StringBuffers and StringBuilders
Discuss Block Scoping Rules
Distinguish between instance variables and method variables within a method
Explain the difference between the terms field and variable
List the default values for instance variables
Final and Static fields and methods
Lab: Field Test
Constructing a class that extends another class
Implementing equals and toString
Writing constructors that pass initialization data to parent constructor
Using instanceof to verify type of an object reference
Pattern matching for instanceof
Overriding subclass methods
Safely casting references to a more refined type
Lab: Creating Subclasses
Declaring an array reference
Allocating an array
Initializing the entries in an array
Writing methods with a variable number of arguments
Lab: Creating an Array
Format a String using the formatter syntax
Apply text formatting
Use String.format and System.out.printf
Lab: Textblocks
Data objects in Java
Introduce records as carrier of immutable data
Defining records
The Canonical constructor
Compact constructors
Lab: Records
Use the package keyword to define a class within a specific package
Discuss levels of accessibility/visibility
Using the import keyword to declare references to classes in a specific package
Using the standard type naming conventions
Visibility in the Java Modular System
Correctly executing a Java application class
The Java Modular System
Defining Modules
Introduce the wrapper classes
Explain Autoboxing and Unboxing
Converting String representations of primitive numbers into their primitive types
Defining Enumerations
Using static imports
Deprecating classes and methods
Lab: Enumerations
The Date and Calendar classes
Introduce the new Date/Time API
LocalDate, LocalDateTime, etc.
Formatting Dates
Working with time zones
Manipulate date/time values
Write a subclass with a method that overrides a method in the superclass
Group objects by their common supertype
Utilize polymorphism
Cast a supertype reference to a valid subtype reference
Use the final keyword on methods and classes to prevent overriding
Lab: Salaries - Polymorphism
Define supertype contracts using abstract classes
Implement concrete classes based on abstract classes
Define supertype contracts using interfaces
Implement concrete classes based on interfaces
Explain advantage of interfaces over abstract classes
Explain advantage of abstract classes over interfaces
Lab: Interfaces
Introduce the Exception architecture
Defining a try/catch blocks
Checked vs Unchecked exceptions
Lab: Exceptions
Defining your own application exceptions
Automatic closure of resources
Suppressed exceptions
Handling multiple exceptions in one catch
Enhanced try-with-resources
Helpful NullPointerException(s)
Lab: Exceptional
Lab: Helpful Nullpointers
Explain the steps involved in building applications
Define the build process
Introduce build scripts
Explain the standard folder layout
Resolving project dependencies
Tutorial: Importing code Using Maven
Generics and Subtyping
Bounded Wildcards
Generic Methods
Legacy Calls To Generics
When Generics Should Be Used
Lab: DynamicArray
Lab: Adding Generics to Dynamic Array
Provide an overview of the Collection API
Review the different collection implementations (Set, List and Queue)
Explore how generics are used with collections
Examine iterators for working with collections
Lab: Create a simple Game using Collections
Your team deserves training as unique as they are.
Let us tailor the course to your needs at no extra cost.
Trusted by Engineers at:
and more...
Aaron Steele
Casey Pense
Chris Tsantiris
Javier Martin
Justin Gilley
Kathy Le
Kelson Smith
Oussama Azzam
Pascal Rodmacq
Randall Granier
Aaron Steele
Casey Pense
Chris Tsantiris
Javier Martin
Justin Gilley
Kathy Le
Kelson Smith
Oussama Azzam
Pascal Rodmacq
Randall Granier