Professional Documents
Culture Documents
Software
Engineering
Become a Full Stack Software Engineer in just 15 weeks.
Table of Contents
Course Overview 02
Curriculum 03
Phase 1: Front End Development 04
Contact Us 13
flatironschool.com
Why Software Engineering?
The demand for Software Engineers remains at an all-time high. In fact, The Bureau of
Labor & Statistics projections indicate a 25% national growth for Software Engineering
roles from 2021 to 2031, which is faster than the average for all occupations.
Flatiron School’s Software Engineering course takes a holistic approach towards learning,
teaching students fundamental principles and problem-solving techniques as well as the
latest technologies. Our course features hands-on, collaborative experiences, whether
that is through pair programming, code reviews using AI chatbots, or coding challenges.
Our Software Engineering graduates have raved about the structure, support, and
camaraderie throughout the course. They've also landed jobs at some amazing
companies – Walmart, Google, Meta, AirBnB, and Pinterest, to name a few.
Graduates leave with the foundations needed to tackle any relevant technology, making
them well-prepared for a variety of career paths. Here are a few of the most common:
SOFTWARE ENGINEER | Average salaries: $102,726 FULL STACK DEVELOPER | Average salaries: $104,803
Also called Software Developer, Software Engineers Also called Full Stack Engineer, Full Stack
are responsible for learning the codebase, working on Developers use both front end and back end
small bug fixes, and participating in paired programming languages to design, develop and
programming with mid-level to senior developers to maintain full-fledged and functioning platforms
level up their programming skills. (salary from with databases and servers.
ZipRecruiter, as of May 2023) (salary from ZipRecruiter, as of May 2023)
FRONT END DEVELOPER | Average salaries: $97,313 BACK END DEVELOPER | Average salaries: $103,394
Also called Front End Engineer, Front End Developers Also called Back End Engineer, they are
are responsible for developing new user-facing responsible for server-side web/mobile
features while building reusable code and optimizing application logic and integration of user-facing
page load times within web/mobile applications. features through APIs.
(salary from ZipRecruiter, as of May 2023) (salary from ZipRecruiter, as of May 2023)
Includes graduates from all disciplines at Flatiron School, Designation Labs, or SecureSet Academy who were hired from 2012 - 2023 |1
Course Overview
Our mission is to teach you more than simply knowing how to code. That's
why our Software Engineering course is more extensive than the average
school, covering foundational concepts and problem-solving techniques,
emerging technologies, and both front end and back end development.
Students will have a basic understanding of HTML, CSS and JavaScript by completing
prep. During prep, students will get accustomed to the Canvas platform, set up their
computing environment and level set their knowledge of the basics of the
programming languages that will prepare them for day 1.
GIT
Students begin exploring version control using git commands including forking and
branching, merging, rolling back commits, and submitting pull requests. Finally, you’ll
learn the basics of JavaScript, before diving into Phase 1.
flatironschool.com |2
PHASE 1
PHASE 2
PHASE 3
PHASE 4
PHASE 5
Cumulative Project
After completing the four phases, each with their own group project, students work with
instructors to come up with solo project concepts and spend dedicated time building a
truly sophisticated application on their own. Students receive plenty of instructor
feedback along the way, while diving deep into various advanced technologies needed to
bring their concepts to life. Students have the opportunity to share or present their final
individual project.
flatironschool.com | 32
PHASE 1 Functions In JavaScript
Students learn how to write functions in JavaScript, along with more advanced topics,
Front End including arrow functions and function expressions, functions as first-class objects, and
callback functions.
Development
Variable Scope
Students will learn about variable scope and the scope chain. This is knowledge that is
crucial to understanding how to successfully debug their code when a variable contains an
unexpected value.
JavaScript Events
Students learn the different types of JavaScript events while exploring how
to set up event listeners to respond to user actions such as mouse clicks,
key presses, and submission of forms. They also learn how to set up callback functions
that will be executed when an event is triggered.
flatironschool.com |4
AI Assisted Debugging
Students will learn how to debug issues faster with AI models specifically trained on code
debugging, such as Phind.
Prompt Engineering
Learn to clarify misconceptions using AI chatbots. Discover examples of successful
correspondence with chatbots.
Client-Side Routing
Students learn how client-side routing works within React and how to use it to
mimic the navigation behavior of multi-page applications without sacrificing speed.
flatironschool.com |5
PHASE 3 Python Fundamentals
Students begin learning the back end programming language, Python, building on
Back End the programming concepts they learned from JavaScript. Students will learn how
Python syntax differs from JavaScript and how to construct conditional statements
Development and loops in Python.
flatironschool.com |6
Topics In Object-Orientation - Object Inheritance
In this module, students learn how to use inheritance and modules to refactor out
redundancies and write more efficient code. They will learn how to use inheritance
to write families of classes that have both shared and unique attributes and
behaviors. They will also learn how to use modules to bundle methods that can then
be used by any number of classes. Students will learn how they can use these
techniques to write code that is DRYer (Don’t Repeat Yourself), lighter, more
intuitive, and scalable.
AI Model Integration
Once students understand Python basics, they will learn to integrate AI features into
their apps. They will learn to summarize content, make inferences based on
user-provided content, or generate new content based on analysis.
Using SQLAlchemy
Students learn everything they need to know to use one of the most popular
object-relational mappers: SQLAlchemy. Students understand how they can use
SQLAlchemy to create clean, efficient code that is easier to read, write, and
maintain, with queries that are more intuitive and efficient.. Additionally, students
are introduced to Alembic, a migrations manager that allows them to automate
database editing tasks from the terminal.
SQLAlchemy Relationships
In the final module of Phase 3, students learn how they can use SQLAlchemy
methods to create relationships between the models in their application, as well as
how those relationships can help them create more sophisticated queries with
simple, clean code.
flatironschool.com |7
Using SQLAlchemy
Students learn everything they need to know to use one of the most popular
object-relational mappers: SQLAlchemy. Students understand how they can use
SQLAlchemy to create clean, efficient code that is easier to read, write, and
maintain, with queries that are more intuitive and efficient.. Additionally,
students are introduced to Alembic, a migrations manager that allows them to
automate database editing tasks from the terminal.
SQLAlchemy Relationships
In the final module of Phase 3, students learn how they can use SQLAlchemy
methods to create relationships between the models in their application, as well
as how those relationships can help them create more sophisticated queries
with simple, clean code.
flatironschool.com |8
CRUD with Flask
In the CRUD with Flask module, students learn to build out CRUD actions (Create,
Read, Update, Delete) in the back end using the 5 common RESTful routes and
their corresponding actions in Flask. They also learn how to properly format a
response with a JSON body and HTTP status codes.
Validations
Students learn the common methods for implementing validations on models
using SQLAlchemy to ensure that no bad data ends up in the database. During
this module, students write both basic validations using SQLAlchemy constraints
as well as custom validations. They also implement error handling by writing
code to send error messages in response to HTTP errors, pinpointing how to fix
the request.
Serialization
In the Serialization module, students learn how to use Active Model
Serializer to customize the JSON that is returned from the back end. By using
SQLAlchemy Association macros in combination with Serializer, students are able
to maintain very fine control over the JSON their application returns with a
minimum of code.
Authentication
Students learn the fundamentals of cookies, how to configure it for Flask in API
mode, and how to leverage cookies and sessions to log users into an
application. In addition, students build out a full authentication and
authorization flow using sessions and cookies in Flask, including login, keeping
users logged in, logout, and restricting access to secure information. Students
will also learn how to use external resources to handle user passwords safely
and securely.
Deploying
In this module, students learn the fundamentals of packaging and deploying
applications using WSGIs and online deployment platforms to deploy a full stack
Flask-React application.
flatironschool.com |9
PHASE 5 In Phase 5, the final phase of the course, students begin working on their
capstone project. The capstone is a solo-project that allows students to create
Cumulative an application of their choice leveraging the technologies that they have
Project learned throughout the course. Students work with instructors to come up with
project concepts and spend dedicated time to build truly sophisticated
applications on their own.
While building out the application, students will receive plenty of instructor
feedback and dive deeper into various advanced technologies to bring the
concept to life.
During Phase 5, students have access to bonus materials and are encouraged
to work on the provided algorithm practice challenges to prepare for live
coding assessments that are often part of technical interviews.
flatironschool.com | 10
Pace & Schedule
At Flatiron School, we know that how you choose to study is as integral to your
success as what you’re learning. Paired with our online learning platform,
Canvas, and individualized support, all students have access to a personalized
learning experience.
You’ll start the program with a cohort of students, all learning together in a
live lecture format.
FULL-TIME LIVE
Length 15 weeks
flatironschool.com | 11
Why Flatiron School?
Here at Flatiron School our ultimate goal is to prepare students to be successful in
any job market. That's why our curriculum is regularly reviewed by hiring
managers and incorporates the latest emerging technologies, such as how to
leverage AI chatbots as well as other AI and ML tools.
After graduation we provide all the ingredients for an effective job search,
including 180 days of 1-on-1 career coaching.
Includes graduates from all disciplines at Flatiron School, Designation Labs, or SecureSet Academy who were hired from 2012 - 2023
flatironschool.com | 12
Let’s stay in touch.
Education should be the best investment you make — and at Flatiron School, we’re committed to
helping you learn the skills change your future. Online and on our New York or Denver campuses,
we provide the skills, community, and immersive, outcomes-driven curriculum you need to
launch a career in Cybersecurity, Software Engineering, Data Science, or UX / UI Product Design.
Start your application Join us for a seminar or Have a question about our
for one of our immersive info session to see what program that we haven’t
bootcamps and change student life is like at answered? Our admissions
your life today. Flatiron School. team is here to help.
This Syllabus includes summary descriptions and other information related to this Flatiron School program. For a detailed description, please consult the current
Flatiron School student catalog, available at https://www.flatironschool.com/regulatory-information, and the enrollment agreement you sign in connection with
your program.