How This Mini-Course Will Look

This is what to expect from the lessons, assignments and projects in this mini-course

Scroll down...





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.

How We'll Do it

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.

What You'll Build

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.

A Note on Terminology: "Coders", "Programmers", "Developers", and "Engineers"

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.

Refresher: The Road Beyond

This is the last Basic Prep mini-course but the beginning of a bigger journey. Here's a reminder of how it looks:

  1. Basic Prep: The mini-courses in the Basic Prep are just the beginning. They are designed to give you critical context before you get your hands dirty with code.
  2. Advanced Prep: Our Advanced Prep courses provide hundreds of hours of material which will take you deep into the fundamentals of programming, whether that's markup using HTML, CSS, SASS and Bootstrap or the Ruby language or JavaScript. These are only available in our free student portal.
  3. Core Programs: Once you've completed the Advanced Prep, our Core Curriculum bridges the long gap between "pretty good at the basics" and "getting paid to code". Our Immersive Program takes the most efficient path, putting you into an intense multi-month bootcamp where you pair program virtually with other students every day. For those who are located internationally or can't quit the day job, our Flex Program allows you to take the same curriculum on your own time and with exactly the level of support you want.

Let's Get Engineering

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!

Sign up to track your progress for free

There are ( ) additional resources for this lesson. Check them out!

There are no additional resources for this lesson just yet!

Sorry, comments aren't active just yet!

Next Lesson: A Brief History of Software Engineering