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