Course Catalog
Introduction to Programming & Java Coding Basics for Non-Developers (TTCODE101-J)
Code: TTCODE101-J
Duration: 5 Day
$2595 USD

OVERVIEW

Introduction to Programming & Coding | Java Basics for Non-Developers is a skills-focused, hands-on coding course that teaches students the fundamentals of programming object oriented (OO) applications with Java to a very basic level. This course is presented in a way that enables interested students from any background to embrace the fundamentals of coding as well as an introduction to Java, in a gentle paced environment that focuses on coding basics, moving at the comfort level of the attendees.

Students are introduced to the application development cycle, structure of programs, and specific language syntax. The course also contains "Thinking Like a Programmer" sections that provide students insight on how to develop common algorithms. The course covers console and file I/O, string and character manipulation, managing data using collections and fundamental object-oriented programming concepts. Error handling techniques are also emphasized. The course also introduces how to access databases using Java. Comprehensive hands-on exercises are integrated throughout to reinforce learning and develop real competency.

Students will leave this course armed with the required skills to begin their journey as a Java programmer using modern coding skills and technologies. This course provides students with a solid foundation for continued Java programming training and skills development.

DELIVERY FORMAT

This course is available in the following formats:

Virtual Classroom

Duration: 5 Day
Classroom

Duration: 5 Day

CLASS SCHEDULE
Call 800-798-3901 to enroll in this class!

GOALS

Students are introduced to the application development cycle, structure of programs, and specific language syntax. The course introduces important algorithmic constructs, string and character manipulation, dynamic memory allocation, standard I/O, and fundamental object-oriented programming concepts. The course explains the use of inheritance and polymorphism early on so the students can practice extensively in the hands-on labs. Structured programming techniques and error handling are emphasized. The course includes the processing of command line arguments and environment variables, so students will be able to write flexible, user-friendly programs. Students will leave this course armed with the required skills to begin their journey as a programmer using modern coding skills and technologies.

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

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
LABS

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.

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.

WHO SHOULD ATTEND

This course is intended for anyone who is new to software development and wants, or needs, to gain an understanding of the fundamentals of coding and basics of Java and object-oriented programming concepts. This course is for Non-Developers, or anyone who wants to have a basic understanding of and learn how to code Java applications and syntax

Attendees might include:

  • Anyone who wants exposure to basic coding skills, or who wants 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
PREREQUISITES

Before attending this course, students must have:

  • Ability to use computers to start programs, open and save files, navigate application menus and interfaces
  • Ability to understand logical concepts such as comparisons
  • Understand number theory
  • Ability to create, understand, and follow structured directions or step-by-step procedures
  • Ability to understand and apply abstract concepts to concrete examples