Software Developer

ABOUT THE PROGRAM

Today’s computers are powerful tools capable of accomplishing sophisticated tasks, but not without the assistance of skilled developers. Software systems are increasingly ubiquitous in all aspects of our lives. Failures in these systems can be costly in terms of money, time, and business reputation. Some programming failures can even result in personal injury or death. Effective software design, development and testing is integral to mitigating harm caused by failures and providing confidence in systems.

    • Secure Agile Programmer Track 1: Programmer

    • Secure Agile Programmer Track 2: Secure Programmer

    • Secure Agile Programmer Track 3: Defensive Programmer

    • Secure Agile Programmer Track 4: Agile Secure Programmer

    • Journeyman Developer Track 1: Apprentice Developer

    • Journeyman Developer Track 2: Senior Developer

    • Journeyman Developer Track 3: Lead Developer

    • Journeyman Developer Track 4: Journeyman Developer

    • API Developer Track 1: Programmer

    • API Developer Track 2: Programming Analyst

    • API Developer Track 3: Web Services & Systems Programmer

    • API Developer Track 4: API Developer

    • Software Architect Track 1: Developer

    • Software Architect Track 2: Database Developer

    • Software Architect Track 3: Full Stack Developer

    • Software Architect Track 4: Software Architect

This online training program is designed for professional application developers or programmers, with at least 2 years experience, who want to learn the latest recommended techniques for designing, developing and testing high quality software.

This program is self-paced. Self-paced programs create a unique learning experience that allows students to learn independently and at a pace that best suits them.


Program & Tuition Info

Students may choose to enroll in one or both parts of the program.

PART 1: JOURNEYMAN DEVELOPER

Tuition: $1,597

Duration: 78 Hours Lecture + 64 Hours Virtual Practice Lab

Students will have full access to the program for one year.

Includes mentoring, e-books, and virtual practice labs.

Prerequisites: HS diploma/GED, basic computer programming skills and familiarity with the internet

PART 2: Software Architect

Tuition: $1,597

Duration: 105 Hours + 61 Hours Virtual Practice Lab

Students will have full access to the program for one year.

Includes mentoring, e-books, and virtual practice labs.

Prerequisites: HS diploma/GED, Journeyman Developer skills

To learn more about ETI’s tuition and financial aid options, click here.


Course Outline:

Journeyman developer

    • Mentoring

    • Intro to Programming Standards

    • Software Design Techniques

    • Software Modeling Techniques

    • Coding Practices

    • Software Testing

    • Final Exam: Programmer

    • Mentoring

    • Security Concepts

    • Vulnerabilities

    • Encryption

    • Attacks

    • Resiliency Coding

    • Final Exam: Secure Programmer

    • Mentoring

    • Defensive Concepts

    • Defensive Techniques

    • Cryptography

    • Advanced Concepts

    • Code Samples

    • Secure Testing

    • Final Exam: Defensive Programmer

    • Mentoring

    • Agile Concepts

    • Agile Techniques

    • Agile Modeling

    • Testing

    • Final Exam: Secure Agile Programmer

    • Mentoring

    • Java Programming: Introduction

    • Java Programming: Working with Primitive Data Types

    • Java Programming: Arithmetic & Logical Operations

    • Java Programming: Working with Strings & Wrapper Objects

    • Java Programming: Conditional Evaluation

    • Java Programming: Iterative Evaluation

    • Java SE 13: Understanding Classes & Objects in Java

    • Java SE 13: Constructors & Other Methods

    • Java SE 13: More Operations on Member Variables & Methods

    • Java SE 13: Semantics of Method Invocation & Nested Classes

    • Java SE 13: Understanding Exception Handling in Java

    • Java SE 13: Correctly Using Try-Catch-Finally Blocks

    • Java SE 13: Try-with-resources & Custom Exceptions

    • Java SE 13: Byte & Character Streams in Java

    • Java SE 13: Streams for Primitive Types, Objects, & Buffered IO

    • Java SE 13: Working with Files & Directories

    • Java SE 13: Final Exam: Apprentice Developer

    • Mentoring

    • Java OOP: Understanding Inheritance & Polymorphism in Java

    • Java OOP: Multi-level Inheritance

    • Java OOP: Multi-level Inheritance

    • Java OOP: Run-time & Compile-time Polymorphism

    • Java OOP: Understanding Overriding & Hiding in Inheritance

    • Java OOP: the Semantics of the Final & Abstract Keywords

    • Java OOP: Access Modifiers for Regulating Access

    • Java OOP: Interfaces & Anonymous Classes

    • Git & GitHub: Introduction

    • Git & GitHub: Working with Git Repositories

    • Git & GitHub: Using GitHub for Source Code Management

    • Final Exam: Senior Developer

    • Mentoring

    • Advanced Features in Java: Getting Started with Java Collections

    • Advanced Features in Java: Working with Lists in Java

    • Advanced Features in Java: List Algorithms & Implementations

    • Advanced Features in Java: Working with Sets in Java

    • Advanced Features in Java: Working with Maps in Java

    • Advanced Features in Java: Using the Java Stream API with Collections

    • Advanced Features in Java: Using Built-in Annotations

    • Advanced Features in Java: Using Custom Annotations

    • Advanced Features in Java: Using Generic Type Parameters

    • Advanced Features in Java: Wildcards & Type Capture

    • Data Structures & Algorithms in Java: Introduction

    • Data Structures & Algorithms in Java: Working with Singly Linked Lists

    • Data Structures & Algorithms in Java: Doubly & Circular Linked Lists

    • Data Structures & Algorithms in Java: Working with Stacks

    • Data Structures & Algorithms in Java: Working with Queues

    • Final Exam: Lead Developer

    • Mentoring

    • Mobile App Development: an Introduction to Android Development

    • Mobile App Development: Building a Basic Android App

    • Mobile App Development: Defining the UI for an Android App

    • Mobile App Development: Coding the Behavior of an Android App

    • Mobile App Development: Authentication in an Android App

    • Mobile App Development: Testing an Android App

    • Final Exam: Journeyman Developer

Software Architect

    • Patterns in Programming: API Design Patterns

    • Patterns in Programming: Patterns in API Programming

    • Reusable APIs: Reusable API Codes

    • Refactor APIs: Refactoring API Code

    • Agile & TDD Best Practices for APIs: Test-driven Development Strategy

    • Agile & TDD Best Practices for APIs: Test-driven Development Design Patterns

    • Agile & TDD Best Practices for APIs: SOLID Design Principles

    • Agile & TDD Best Practices for APIs: API Microservices Using TDD

    • API Development: Introduction to APIs

    • API Development: Framework Security

    • Final Exam: Programmer

    • Human-centered Software Design

    • Software Requirements Planning

    • Effective RAD: Rapid Application Development

    • Effective RAD: Agile Rapid Application Development

    • Automated Testing: Design Patterns

    • Pen Testing for Software Development: The Penetration Testing Process

    • Pen Testing for Software Development: Penetration Testing SDLC, Team Structure, & Web Services

    • API Design: API Development

    • API Design: API Strategy & Design

    • API Design: RESTful APIs

    • Final Exam: Programming Analyst

    • API CI/CD Best Practices: API Continuous Integration/Continuous Deployment

    • API Strategy Design & Implementation: API Strategy Best Practices

    • API Clean & Secure Coding: Clean Coding

    • API Clean & Secure Coding: Secure Coding

    • API Management: Strategy & Monitoring

    • API Management: Elasticsearch API Analytics

    • API Error Handling: Best Practices

    • Final Exam: Web Services & Systems Programmer

    • REST & SOAP Web Services

    • Rest API Data Models

    • Web API Technologies

    • Client-side Web Service Consumption

    • REST API Semantics

    • HTML5 & Hypermedia

    • URIs & Cashing

    • Web API Security

    • Firebase Backend as a Service

    • Cloud API Management

    • Tools

    • Final Exam: API Developer

    • Advanced Data Structures & Algorithms in Java: Working with Binary Trees

    • Advanced Data Structures & Algorithms in Java: Solving Binary Tree Problems

    • Advanced Data Structures & Algorithms in Java: Working with Binary Search Trees

    • Advanced Data Structures & Algorithms in Java: Sorting & Searching Algorithms

    • Advanced Data Structures & Algorithms in Java: Working with the Binary Heap

    • Advanced Data Structures & Algorithms in Java: Getting Started with Graphs

    • Advanced Data Structures & Algorithms in Java: Working with Graph Algorithms

    • Multithreading & Concurrency in Java: Introduction to Concurrent Programming

    • Multithreading & Concurrency in Java: Spawning & Launching Threads

    • Multithreading & Concurrency in Java: Thread Synchronization & Locks

    • Multithreading & Concurrency in Java: Concurrency & the Producer-consumer Problem

    • Multithreading & Concurrency in Java: Objects for Concurrent Programming

    • Multithreading & Concurrency in Java: Scaling a Multithread Application

    • Final Exam: Developer

    • JDBC: an Introduction to Java Database Connectivity

    • JDBC: Executing Statements

    • JDBC: Working with ResultSets & Queries Batches

    • JDBC: RowSets

    • JDBC: Advanced Topics

    • Java Persistence API: Getting Started with JPA & Hibernate

    • Java Persistence API: Configuring Fields & Performing CRUD Operations

    • Java Persistence API: Mapping & Configuring Relationships

    • Java Persistence API: Embedding Collections & Managing Cascade Operations

    • Java Persistence API: Executing Queries & Managing the Entity Lifecycle

    • Final Exam: Database Developer

    • The Spring Web MVC Framework: Getting Started

    • The Spring Web MVC Framework: Handling Requests & Errors

    • The Spring Web MVC Framework: Working with Forms & Files

    • The Spring Web MVC Framework: Building Web Applications & REST APIs

    • Spring Boot Microservices: Getting Started

    • Spring Boot Microservices: Asynchronous Methods, Schedulers, & Forms

    • Spring Boot Microservices: Building RESTful API Services

    • Spring Boot Microservices: Advanced Microservices & Securing Web Applications

    • Final Exam: Full Stack Developer

    • The Redis In-memory Data Store: an Introduction to Redis

    • The Redis In-memory Data Store: Data Structures

    • The Redis In-memory Data Store: Messaging & Streaming

    • The Redis In-memory Data Store: Working with Redis Clients

    • The Redis In-memory Data Store: Administering a Redis Server

    • Final Exam: Software Architect