Over the following lessons, we'll take you on a journey through software engineering. We'll start high level but will end by covering specific problem-solving techniques that you'll use to code in the future. The idea is to give you a framework for approaching and solving challenging development problems and then the tools for actually doing so.
The style of this mini-course won't differ substantially from the others. We'll rely on a combination of our own explanations, links to existing resources (who often explain things far better than we could!) and demos to help teach the concepts. As with the previous mini-courses, we want to make sure you're remembering the concepts so we've laid out a series of assignments and a final project which will require you to apply what you've learned.
The course should only take about a week to complete, though obviously that depends significantly on how much time you devote.
In the section on Agile, you'll get a chance to break down one of the projects we'll be building during the intensive program into user stories. You'll manage these stories with the Pivotal Tracker web app.
In the Pseudocoding section, you'll tackle a couple of classic logical problems by using pseudocode and the concepts of modular design that you've learned.
Finally, you'll apply everything you learned to spec out a challenging feature for the web project you broke into stories during the Agile section.
People often talk about "coders", "programmers", and "developers" as if they are somehow different than "software engineers". The implication is that the "programmer" simply produces code while the "software engineer" must actually think and solve complex strategic problems.
This usually doesn't make a whole lot of sense since these "programmers" are implementing the same sorts of problem solving techniques to the same sorts of problems as one might traditionally ascribe to a software engineer. The "developer" at one company is frequently the exact same thing as the "software engineer" at another. In this mini-course, you'll learn software engineering techniques to make you a better developer.
Because of this, we'll use the terms "developer" and "software engineer" pretty interchangeably.
This is the last Basic Prep mini-course but the beginning of a bigger journey. Here's a reminder of how it looks:
Hopefully you're excited to dive in and learn some concepts that self-taught or bootcamp-taught developers rarely see during their early career. Let's begin!