GlobalMentor Comprehensive Software Development Course
The goal of this course is to bring the student, as quickly as possible, to such a level of competence as to be able to work on real-life projects on a team in a real world setting.
Building on decades of experience, the course goes deep into day-to-day programming topics: from the most basic and established ideas, to more advanced and contemporary trends. It forgoes needless theoretical minutiae, yet explains theoretical concepts that are essential for all software developers. It is hands on, guiding the student throughout the lessons to iteratively build a real-life application. The course is conversational yet not verbose. Most subjects are sufficiently comprehensive with sources extensively cited that they can be used as a handy reference.
Fundamentals
-
Introduction
-
Procedural Programming
-
Object-Oriented Programming
-
Computer Science
- Algorithms
- Git Undo
- Graphs
- Eclipse
- Trees
- Hash Tables
- Generics
- Sorting
- Class Classes
- Matching (upcoming)
Software Engineering
-
Patterns
- Iterators
- Strategy Pattern
- Collections
- Maps
- Value Objects
- Enums
- Time
- Guava Collection Utilities
- Command-Line Interface
- Repository Pattern
- Listeners (upcoming)
- Model-View-Controller (upcoming)
-
Functional Programming
-
I/O
-
Modularization
- Business Logic
- Logging
- Dependency Injection
- Test Doubles
- Threads
- Synchronization
- Concurrency
- Futures (upcoming)
- Maven Modules
- Java Modules (upcoming)
Distributed Systems
-
Internet
- Internet Protocols
- JSON
- Servlets
- Linux Server
- Security (upcoming)
- REST
- JAX-RS
- SURF
- JAX-RS Client
- Integration Tests
-
Relational Databases
- Relational Databases
- SQL
- Relational Algebra
- JDBC
- SQL DML
- SQL Subqueries
- Flyway
- Transactions (upcoming)
- jOOQ (upcoming)
- Hibernate (upcoming)
-
World Wide Web
- HTML
- CSS
- CSS Layout
- JSP
- HTML Forms
- Dynamic HTML (upcoming)
- CSS Frameworks (upcoming)
- Authentication (upcoming)
- Vue.js (upcoming)
- Guise Framework (upcoming)