Application Development & Programming Training Icon

Introduction to Programming & Coding | Java Basics for Non-Developers


5 Days Classroom Session   |  
5 Days Live Online
Classroom Registration
Individual:
$2495.00
Private Onsite Package

This course can be tailored to your needs for private, onsite delivery at your location.

Request a Private Onsite Price Quote

Professional Credits

IIBA (CDU)

ASPE is an IIBA Endorsed Education Provider of business analysis training. Select Project Delivery courses offer IIBA continuing development units (CDU) in accordance with IIBA standards.

PMI (PDU)

Select courses offer Leadership (PDU-L), Strategic (PDU-S) and Technical PMI professional development units that vary according to certification. Technical PDUs are available in the following types: ACP, PBA, PfMP, PMP/PgMP, RMP, and SP.

Certification
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 basic level, using sound coding skills and best practices for OO development.  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 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 Java programmer using modern coding skills and technologies. 

Working within an engaging, hands-on learning environment led by our highly-experienced coding mentors, students will learn how to:

  • Fundamental elements of programming
  • Interactive Development Environment (IDE) concepts
  • Classes, objects and methods
  • Declaring and instantiating a Java object
  • Using conditional and looping constructs
  • Declaring and instantiating arrays
  • Using and creating interfaces
  • Defining classes using inheritance
  • Exception handling
  • Formatting output with class Formatter
  • Using strings, characters and regular expressions
  • GUI programming concepts
Upcoming Dates and Locations
All Live Online times are listed in Eastern Time Guaranteed To Run

There aren’t any public sessions currently scheduled for this course, but if you fill out the form below, we can tell you about how we can bring this course to you!

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
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
Pre-Requisites

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
0
1