First Mile Navigating Curriculum Learn


The Online Software Engineering Program and our education platform were launched in 2015, built around three core ideas:

  • Real tools - to ensure you are prepared for software engineering roles by using the tools and workflows that developers use on the job;
  • Open curriculum – to ensure what we’re teaching you is always relevant by integrating real-time feedback from instructors and our community; and
  • Community – to make sure that while you are learning online, you’re not alone.

Learn is designed for people who are passionate, curious, self-driven, and absolutely serious about learning to code.

Most people on Learn have already been exploring code by using the amazing and plentiful resources all around the Internet. However, in developing the content on Learn, we designed it for beginners. If for any reason you find it overwhelming at first, ask for help. (Asking for help is a skill of any good programmer, so don’t be shy to practice this now!)

Learn will demand that you be patient, resilient, resourceful, and gritty. Isn't that the kind of person you want to be? We think that's the kind of person you already are. The curriculum you'll encounter is rigorous. We don't dumb anything down because we believe in your infinite capacity to learn.


A curriculum "track" is a collection of many lessons, organized into topics. Clicking on the name of the track will open Track Navigation, which allows you to view topics and move between lessons. As a student in the Online Software Engineering Program, you’ll be starting with the Online Software Engineering - First Mile track and then finishing the program on the Online Software Engineering - Structured track.


The individual pieces of curriculum on Learn are called "lessons." Before we go any further, let's get a little more familiar with how lessons work.

Later lessons build off the earlier ones, so it is strongly advised that you complete each lesson before you advance to the next one. Use the navigation to go back and review earlier content if needed.

Lessons you've completed will be filled in with a green circle, and your current lesson will be orange. You can always view your total lessons completed on your profile page.

There are two types of lessons on Learn: READMEs and Labs.


    READMEs are lessons that only have instructional content. They are designed to teach you something without challenging you to practice or implement the concept directly. READMEs provide context and exposition on a topic by breaking concepts down. READMEs are how you learn enough to solve a lab.

  • Labs

    Labs are lessons with a coding challenge you must complete. A lab will require you to write code and submit a solution. All labs include a README that you will see on Learn. The lab README will describe the objectives, overview, and instructions for the code you must write. You should definitely read the lab README. If you're confused at any point, always go back to the README.

As you can probably tell already, Learn is a big fan of the written word. Some READMEs have videos, but the majority of the content on Learn is text. We believe that with all the details and syntax involved in code – and since being a professional programmer is basically reading and writing text all day – the best way to learn to code is through reading and writing code, not by relying too heavily on watching videos.

Some READMEs also contain brief interactive elements such as quizzes or little in-browser coding challenges.

Once you've completed a lesson, you should click the "I'm Done" button on the right- hand side of your screen. The "Next Lesson" button will light up, allowing you to proceed. Clicking “I’m Done” also marks that lesson as complete so you receive credit for it.

The Learn IDE

When you first start learning to code, the amount of setup you have to do to get your computer ready to really make something can be frustrating. To counter this, we created the Learn IDE. If you haven't already done so, you should activate the IDE in Browser now. The IDE uses a popular programmers’ text editor (Atom) and also provides you with a terminal window for running commands, just as you would as a professional developer. However, instead of having to configure your local computer to allow you to program, it runs your commands on a remote computer so you can jump right into the programming - rather than spending hours configuring your computer. Bear in mind, using the IDE does mean that you will have to be connected to the Internet while you program, but it's a much easier way to get started.

Once you've completed your first portfolio project review, you'll switch to using a local environment. There are a lot of parts to a development environment, and the set up is different for different operating systems - this guide points to the right instructions for each system.

Technology Requirements

To get started in the Online Software Engineering bootcamp, we do not require students to use a specific type of computer. The Learn IDE allows access to a full development environment within your web browser. If you’re considering purchasing a new computer, we do recommend a Mac. The majority of web developers use Macs at work, and it’s the most likely operating system you’ll encounter in your career. Any Mac laptop from the past five years in good condition will work well. Windows and Linux operating systems are also suitable. Chromebooks and tablets are not suitable for the program.

We recommend using Google Chrome as your web browser for web development. It has great development tools and available add-ons. is also best viewed in Chrome. You can download Chrome here:

Unlock your future in tech
Learn to code.

Learn about Flatiron School's Mission

With a new take on education that falls somewhere between self-taught prodigy and four-year computer science degree, the Flatiron School promises to turn students with little programming experience into developers.

In the six months since the Manhattan coding school was acquired by WeWork, it has spawned locations in Washington, D.C., Brooklyn, and London. Now, WeWork is opening a fourth Flatiron School location, this time in Houston.

Adam Enbar, Flatiron School's cofounder, believes now is the time to grow. "How the world is changing has impacted working and learning in very similar ways. We think education fundamentally is about one thing: enabling people to pursue a better life."

Learn. Love. Code.
Students come to Flatiron School to change their lives. Join our driven community of career-changers and master the skills you need to become a software engineer or a data scientist.
Find Us