Flatiron SoftwareEngineeringImmersive Syllabus
Flatiron SoftwareEngineeringImmersive Syllabus
Software
t
Engineering
Immersive
3 Overview
4 The Power of Learning Ruby and JavaScript
5 Curriculum Overview
6 Full Stack Web Development
7 The Full Stack Journey: An In-Depth Look
9 What Makes a Software Engineer?
10 How We Learn
11 Contact Us
2
Overview
Being a software engineer requires more than knowing how to code or build a web app. Over 15 challenging
weeks on Flatiron School’s campus, students learn to think, and build, like software engineers. In each
three-week curriculum module, students develop key skills through interactive labs, lectures, and close
collaboration, showcasing progress through Portfolio Projects. While the bulk of the material covered occurs
within the Ruby and JavaScript ecosystems, we carefully design our curriculum to prepare students to launch
software engineering careers, independent of any specific language or technology.
By the completion of the program, students have done much more than simply build technical skills: they have
maintained technical blogs to show they can credibly talk tech; they have become a part of the tech community;
and they have established a portfolio of personally-relevant, functional web applications to show employers as
they enter the job-search phase with the support of our Career Services team.
Proven Results
Flatiron School has helped over 1,500 students get jobs as software engineers;
we back up our 97% employment rate with an independently-verified Job
Outcomes Report.
3
The power of learning
Ruby and JavaScript
WHY DO WE TEACH THESE LANGUAGES TO ASPIRING DEVELOPERS?
MASTERY-BASED PROGRESS
Our program is broken into five three-week curriculum modules. Each module concludes with a comprehensive
project meant to bring together students’ competencies and demonstrate them in their portfolios. Students
work in teams and directly with instructors to ensure they’ve mastered key concepts before progressing. If
students need additional support, they receive additional direct mentorship, and, if necessary, they’ll have the
opportunity to repeat a module at no extra cost.
LIFELONG LEARNING
Graduates join an active network of successful software engineers. For Flatiron alumni, engaging with our
community doesn’t stop at graduation—and nor do opportunities to learn. Students enjoy lifetime access to our
Career Services team and extensive employer network as they approach future career changes.
5
CURRICULUM OVERVIEW
6
CURRICULUM OVERVIEW
Ruby Git
Students learn fundamental concepts in programming
Students begin exploring version control using git
including repls, methods, loops, variables, variable
commands including with cloning, branching, merging,
scope, conditionals, blocks and iterators, case
rolling back commits, forking, and submitting pull
statements, arrays, scope, hashes, regular expressions,
requests.
iterators, enumerables, data structures, nesting, and
more. Topics build in complexity and provide the
foundation for the rest of the course.
Object Relational Mapping & SQL
ORM (Object Relational Mapping) allows programmers
We help students embrace error messages as clues
to query and manipulate data from a database using an
and gain a fundamental appreciation for failure as the
object-oriented paradigm. Students learn to write and
only way to learn and progress. Students gain
manipulate data using the Ruby language.
experience in debugging with various gems and tools
designed to track down issues in code.
They gain an appreciation for the structure of a
database, how to map out tables, and the difference
between the various table relationships. Students learn
HTML & CSS how to wireframe database structures, as well as how
Students master the basic building blocks of how the to link their applications to a database. They also cover
web is rendered and become fluent in the language that SQL, domain modeling, relational database theory,
makes the web beautiful. They additionally learn how to schema architecture, and the Object Relational Model,
conceive of and build UIs for web apps by writing including the ActiveRecord pattern.
well-structured HTML and CSS , as well as using SASS
to create efficient and organized front-ends.
Rack
This unit is designed to give students an understanding
of HTTP and how the Internet works, as implemented
Object Orientation through the Ruby web interface of Rack. Students build
Students gain experience with Object-Oriented their own HTTP servers and learn how the request /
Programming and understand how it allows response model of the web works. Their servers listen
programmers to bundle code and create reusable to HTTP requests and respond with well-formed HTML
objects and methods, which allows for increasing responses. Students learn to understand the web with
complexity in software. the few abstractions provided by the tool set.
7
THE FULL STACK JOURNEY: AN IN-DEPTH LOOK | Continued
Sinatra React
Sinatra is a Domain Specific Language (DSL) written in Using plain JavaScript with large web applications
Ruby for building web applications on top of Rack. This quickly becomes unruly. Initially created by Facebook,
framework provides students with exposure to design React is the premier JavaScript framework for building
patterns in web applications. The topics covered in this fast web user interfaces. This unit starts with the
unit include architectural patterns such as REST fundamentals of components. Students learn how to
(Representational State Transfer), MVC build the basics of React before they are taught how to
(Model-View-Controller), HTML Forms, ERB (Embedded use React itself. After building a minimal React,
Ruby) and template rendering, and application students conquer the complexities of React and then
environments. quickly move into learning about state management
with Redux. After completing this unit, your applications
will effortlessly consume APIs, render data quickly, and
Rails scale as application complexity increases.
With a foundation in the Ruby language as well as the
architecture of the World Wide Web, students utilize
Rails to build complex, functional web applications
from the ground up. They learn the file structure of
Rails, how to set up their own databases, how to draw
routes and create Rails forms, gain an understanding of
the asset pipeline, and bring it together by integrating
front-end design skills.
JavaScript
JavaScript powers the user experience of the web.
Students learn the basics of JavaScript syntax, its
functional architecture, and different approaches to the
object model. Students then learn the Document Object
Model (DOM) JavaScript API provided by the browser
to dynamically interact with HTML. Students use native
“vanilla” JavaScript (versus a library). Students then
explore the popular JavaScript frameworks React and
Redux.
8
What makes
a Software
Engineer?
While the linear progression of our curriculum is
focused on building technical skills, our aim is to
teach students how to become software
engineers—which is distinct from simply knowing
how to code. Students engage in a number of
activities that hone their communication and
collaboration skills and immerse themselves in the
technical community, helping build the foundation
needed to grow as software engineers in the
future.
PORTFOLIO PROJECTS
At the conclusion of each program module, students build advanced Portfolio Projects to demonstrate both
the technical skills they’ve gained in the module and their creativity. Previous projects have won prestigious
tech awards, become MVPs for startups, and been presented at the White House. Portfolio Projects represent
an opportunity for students to explore specific technologies that interest them while building a portfolio of fully
functional web applications to impress employers.
ROBUST BLOG
All Flatiron students maintain technical blogs to show they can not only write code, but also communicate how
that code works – an essential skill for software engineers.
TECHNICAL PRESENTATION
Students build their credibility as engineers and immerse themselves in the technical community by attending
– and challenging themselves to present – at technical Meetups and conferences.
9
HOW
WE
LEARN.
Open curriculum
All of Flatiron School’s courses are
powered by Learn.co, the world’s most Our industry-tested curriculum has given over
sophisticated platform for teaching and 1,500 Flatiron graduates the skills to become
learning code. software engineers and thrive in their careers. And
because our curriculum is open-source, it stays
more current than any other. Students are
encouraged to suggest changes directly from our
online platform, and receive public credit for doing
so. We continually improve our coursework in
reaction to feedback and real-world changes, and
our edits are supplemented by hundreds of student
10
Contact Us
For more information, please check out our website at
www.flatironschool.com or contact us at
admissions@flatironschool.com
11