The Courses

Photo by Andrew Neel on Unsplash

The Courses

The Courses That Will Turn You Into a Full-Stack Software Developer

The Becoming a Programmer Series

In the previous article, we looked at the components that make up a typical enterprise application. In this article, we will have a look at the courses The Becoming a Programmer Series consists of and how they help you build the typical enterprise application.

The Order of Things

We start with a big-picture overview of IT. This helps us understand where programmers fit into the picture. Then, starting with the source of truth, the database in the back end, we move to the front end. Learning things in this order gets us productive quicker than if we are just randomly selecting areas to study.

Multiple Levels

I grouped the courses into 6 levels, from Level 0 to Level 5. Why do I start with 0? Because programmers always start with zero. It's just a thing we do. The idea is to complete one level at a time. I can not force you to do this, but it will serve you well to follow my advice.

Multiple Tracks

If you have to know one language and one language only, my guess is it has to be JavaScript as you can build front-end and back-end applications with JavaScript.

However, except for data analytics, where Python rules, I think that Java (launched in 1995 by Sun Microsystems) and C# (launched in 2001 by Microsoft), dominate the business world. As a result, I will do each course twice, a Java version and a C# version. Now it is really up to you which version you want to learn. As these languages are so similar and both are used extensively, I suggest you do both.

Both the Java and C# ecosystems are great at what they do. C# has the benefit that it came after Java. I remember when I first saw C#. I said to a friend: "Look, they fixed Java!" But Java caught up over the years and now it's pretty much a personal choice.

Irrespective of whether you are using Java or C# in the back end, you will use JavaScript in the front end. You simply cannot escape JavaScript. It's like that monster under your bed. It never goes away! So, I will do two JavaScript courses, one focused on general programming fundamentals, and one focused on DOM manipulation.

Let's now have a look at the different courses that make up The Becoming a Programmer Series.

The Courses

Level 0 - Becoming a Programmer

  • Becoming a Programmer - The Big Picture

Level 1 - Database Fundamentals

  • Database Design

  • Database Fundamentals with PostgreSQL

  • Database Fundamentals with SQL Server

  • Database Fundamentals with MySQL

Level 1 - Programming Fundamentals

  • Programming Fundamentals

  • Programming Fundamentals with JavaScript

  • Programming Fundamentals with Java

  • Programming Fundamentals with C#

  • Object Oriented Programming with Java

  • Object Oriented Programming with C#

Level 1 - Web Fundamentals

  • Web Fundamentals with HTML

  • Web Fundamentals with CSS

  • Web Fundamentals with JavaScript

  • Web Fundamentals with jQuery

  • Web Fundamentals with Bootstrap

Level 2 - Version Control

  • Version Control with Git

Level 2 - Testing

  • Unit Testing with Java

  • Unit Testing with C#

  • Unit Testing with JavaScript

Level 2 - Console Applications

  • Building Databases with PostgreSQL

  • Building Databases with SQL Server

  • Building Databases with MySQL

  • Building Database Applications with Java

  • Building Database Applications with C#

  • Building Database Applications with JavaScript

  • Building Template-Driven Applications with Java

  • Building Template-Driven Applications with C#

  • Building Mailing Applications with Java

  • Building Mailing Applications with C#

  • Building Scheduler Applications with Java

  • Building Scheduler Applications with C#

  • Building Reporting Applications with Java

  • Building Reporting Applications with C#

Level 3 - Web Applications

  • Building Web Applications with Java & Spring Framework

  • Building Web Applications with Java & Jakarta EE

  • Building Web Applications with C# & ASP.NET Core

Level 3 - API Services - REST

  • Building RESTful API Services with Java & Spring

  • Building RESTful API Services with Java & Jakarta EE

  • Building RESTful API Services with C# & ASP.NET Core

  • Building RESTful API Services with JavaScript & Express

Level 3 - API Services - SOAP

  • Building SOAP APIs with Java & Spring

  • Building SOAP APIs with Java & Jakarta EE

  • Building SOAP APIs with C# & ASP.NET Core

Level 3 - API Services - gRPC

  • Building gRPC APIs with Java & Spring

Level 3 - Messaging Services

  • Building Messaging Services with Java & Spring

  • Building Messaging Services with Java & Jakarta EE

  • Building Messaging Services with C#

Level 3 - API Services - Webhooks

  • Building Webhooks with Java & Spring

  • Building Webhooks with Java & Jakarta EE

  • Building Webhooks with C# & ASP.NET Core

Level 4 - Single Page Applications

  • Building Single Page Applications with Angular

  • Building Single Page Applications with React.js

  • Building Single Page Applications with Vue.js

Level 4 - Mobile Applications

  • Building Mobile Applications for Android Devices with Java

  • Building Mobile Applications for iOS Devices with Swift

  • Building Mobile Applications with React Native

  • Building Mobile Applications with .NET MAUI

Level 4 - Desktop Applications

  • Building Java Desktop Applications with Swing

  • Building Java Desktop Applications with JavaFX

  • Building Java Desktop Applications with .NET MAUI

Level 5 - Security

  • Securing Web Applications with Java & Spring Security

  • Securing Web Applications with Java & Jakarta Security

  • Securing Web Applications with C#

  • JWT for Authentication

  • OAuth for Authorization

In Conclusion

As you can see, there is a lot to cover, because you need to know a lot of stuff about a lot of stuff. My suggestion is to follow the suggested path.

Next, we will have a look at who the suggested audience is for this series. Don't go away!