Take advantage of spring savings with up to 50% off ILT training.

Checkout

Cart () Loading...

    • Quantity:
    • Delivery:
    • Dates:
    • Location:

    $

Contact Sales

Getting Started with Programming, OO and Java Basics for Non-Developers

Learn to Think Like a Programmer: Jumpstart your Java coding skills in this engaging, skill-focused programming course

Getting Started with Programming, OO and Java Basics for Non-Developers is a fast-paced, five day course designed to provide you with a first look at how to code in Java to a very basic level. You’ll gain light hands-on programming experience, while you begin your journey to develop a programmer's mindset.

Throughout the course you'll explore the intricacies of the application development cycle, program structure, and language syntax. You’ll learn and practice core coding skills including fundamental OO concepts, vital programming constructs, string and character manipulation, dynamic memory allocation, standard input/output, and exception handling. You’ll also explore the power of inheritance and polymorphism as you learn to define specialized object implementations. The course also covers processing command line arguments and environment variables, empowering you to set up your own development environment to create flexible, user-friendly programs. With a wealth of hands-on lab exercises, you'll practice and refine your newly acquired skills.

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.

NOTE: Although this course is geared for non-developers, it is helpful for attendees to have a somewhat technical background and to be comfortable working with computers, having the ultimate goal of becoming a Java software developer. This course uses Java 21, which also covers the fundamental concepts and techniques in Java 11 and 17. This course is suited for Java 11, Java 17 and Java 21 skills development. Earlier versions are available. Please inquire for options.

GK# 101065 Vendor# TT2000
Vendor Credits:
No matching courses available.
Start learning as soon as today! Click Add To Cart to continue shopping or Buy Now to check out immediately.
Access Period:
Scheduling a custom training event for your team is fast and easy! Click here to get started.
$
Your Selections:
Location:
Access Period:
No available dates

Who Should Attend?

This course is designed for anyone new to coding and eager to learn how to program using Java. While it's tailored for beginner-level students, please note that it is technical in nature. If you're transitioning from a non-technical role to coding for the first time, feel free to reach out to us for additional guidance or pre-training suggestions that can better prepare you for this course. Our goal is to make your learning experience exciting, challenging, and valuable, without being overwhelmed.

Attendees might include:

  • Technically minded attendees who want or who want to begin the process of becoming an OO application developer
  • Technical team members from non-development roles, re-skilling to move into software and application development roles within an organization
  • Recent college graduates looking to apply their college experience to programming skills in a professional environment, or perhaps needing to learn the best practices and standards for programming within their new organization
  • Technical managers tasked with overseeing programming teams, or development projects, where basic coding knowledge and exposure will be useful in project oversight or communications needs

What You'll Learn

Working in a hands-on learning environment, guided by our expert team, you’ll explore:

  • The basic programming constructs that all programming languages share
  • Fundamental programming concepts, such as variables, data types, loops, and conditional statements.
  • Object-oriented programming principles, including encapsulation, inheritance, and polymorphism.
  • How to handle problems that might occur during the execution of a Java application.
  • How to use Java libraries and APIs for common tasks, such as file I/O, data manipulation, and networking.
  • Implementing exception handling and debugging techniques to ensure robust and reliable code.
  • Utilize industry-standard tools and Integrated Development Environments (IDEs) to efficiently write, test, and deploy Java applications.
  • Best practices for code organization, documentation, and version control to enhance collaboration and maintainability.

Course Outline

Fundamentals of the Program Development Cycle

  • Computer Architecture
  • The Notion of Algorithms
  • Source Code vs. Machine Code
  • Compile-Time vs. Run-Time
  • Software Program Architecture
  • Standalone
  • Client/Server
  • Distributed
  • Web-Enabled
  • IDE (Interactive Development Environment) Concepts

Application Development Fundamentals

  • Structure of a Java Program
  • Memory Concepts
  • Fundamental Data Type Declarations
  • Fundamental I/O Concepts
  • Fundamental Operators
  • Arithmetic Operators
  • Logical Operators
  • Precedence and Associativity
  • Building and Deploying a Java Program

Introduction to Classes and Objects

  • Classes, Objects and Methods
  • Object Instances
  • Declaring and Instantiating a Java Object
  • Declaring Methods
  • set and get Methods
  • Initiating Objects with Constructors
  • Primitive Types vs. Reference Types

Flow Control

  • Conditional Constructs
  • Looping Constructs
  • Counter-Controlled Repetition
  • Sentinel-Controlled Repetition
  • Nested Control Constructs
  • break and continue Statements
  • Structured Programming Best Practices

Writing Methods (Functions)

  • Static vs. Dynamic Allocation
  • Declaring Methods
  • Declaring Methods with Multiple Parameters
  • Method-Call Stack
  • Scope of Declarations
  • Argument Promotion and Casting
  • Designing Methods for Reusability
  • Method Overloading

Arrays

  • Purpose of Arrays
  • Declaring and Instantiating Arrays
  • Passing Arrays to Methods
  • Multidimensional Arrays
  • Variable-Length Argument Lists
  • Using Command-Line Arguments
  • Using Environment Variables

Deeper Into Classes and Objects

  • Controlling Access to Class Members
  • Referencing the Current Object Using this
  • Overloading Constructors
  • Default and No-Argument Constructors
  • Composition of Classes
  • Garbage Collection and Destructors
  • The finalize Method
  • Static Class Members

Defining Classes Using Inheritance

  • Superclasses and Subclasses
  • Advantages of Using Inheritance
  • protected Class Members
  • Constructors in Subclasses

Increasing Convenience by Using Polymorphism

  • Purpose of Polymorphic Behavior
  • The Concept of a Signature
  • Abstract Classes and Methods
  • final Methods and Classes
  • Purpose of Interfaces
  • Using and Creating Interfaces
  • Common Interfaces of the Java API

Files and Streams

  • Concept of a Stream
  • Class File
  • Sequential Access
  • Object Serialization to/from Sequential Access Files
  • Additional java.io Classes

Fundamental Searching and Sorting

  • Introduction to Searching Algorithms
  • Linear Search
  • Binary Search
  • Introduction to Sorting Algorithms
  • Selection Sort
  • Insertion Sort
  • Merge Sort

Fundamental Data Structures

  • Dynamic Memory Allocation
  • Linked Lists
  • Stacks
  • Queues
  • Trees

Exception Handling

  • Types of Exceptions
  • Exception Handling Overview
  • Exception Class Hierarchy
  • Extending Exception Classes
  • When to Throw or Assert Exceptions

Formatted Output

  • printf Syntax
  • Conversion Characters
  • Specifying Field Width and Precision
  • Using Flags to Alter Appearance
  • Printing Literals and Escape Sequences
  • Formatting Output with Class Formatter

Strings, Characters and Regular Expressions

  • Fundamentals of Characters and Strings
  • String Class
  • String Operations
  • StringBuilder Class
  • Character Class
  • StringTokenizer Class
  • Regular Expressions
  • Regular Expression Syntax
  • Pattern Class
  • Matcher Class

Fundamental GUI Programming Concepts

  • Overview of Swing Components
  • Displaying Text and Graphics in a Window
  • Event Handling with Nested Classes
  • GUI Event Types and Listener Interfaces
  • Mouse Event Handling
  • Layout Managers
BUY NOW

Labs Outline

This hands-on course focuses on ‘learning by doing’, combining expert lecture, practical demonstrations and group discussions with plenty of machine-based real-world programming labs and exercises. Student machines are required.

BUY NOW

Prerequisites

  • Basic computer literacy: Familiarity with computer operating systems, file management, and general navigation to ensure a smooth learning experience.
  • Foundational knowledge of IT concepts: Understanding of essential IT terminologies and concepts, such as computer networks, software applications, and data storage.
  • Analytical thinking: Ability to analyze problems and think critically to develop logical solutions, fostering a programmer's mindset.
  • Attention to detail: A keen eye for detail, ensuring the ability to spot errors and maintain code quality throughout the learning process.