General overview
Cutting Edge
Fullstack's immersive curriculum will expose you to the latest in modern software development for the Internet. Our curriculum is based on current technology trends and marketplace demand from industry leaders. We cultivate a passion for discovering and learning, a necessary quality in today’s rapidly changing programming landscape. After graduating Fullstack you’ll be an expert in the technologies we teach, and adaptive enough to pick up new ones as trends change over time.
Full-stack JavaScript
Our weapon of choice to teach software engineering is fullstack JavaScript - the most popular and widely supported language in the world. The future of the web is dynamic and real-time JavaScript applications. As users demand ever faster and more seamless user experiences, web applications built with heavy front-end JavaScript are required to cater to those demands. This trend makes expert JavaScript knowledge a high demand skill-set.
Deep Understanding
We also strongly believe that you never master a tool until you've torn it apart and rebuilt it. We've built a curriculum that alternates using and building - by the end of the course you'll have built your own Terminal Shell, Database, Single Page Web Framework and CSS grid system. Don Knuth, a founder of the Computer Science field, said it most eloquently: "Your job here is not to be on top of things, it's to get to the bottom of things."
"Your job here is not to be on top of things, it's to get to the bottom of things."
Donald Knuth
Computer Science
Being a great software engineer means not only being fluent with the latest frameworks and languages, but also having an evolved intuition for writing efficient and beautiful code. Before mastering the higher-level technologies in software development for the web, it is vital to understand the underpinnings of lower-level theory. This is why your journey at Fullstack will start with a deep dive into the fundamentals of Computer Science.

Data Structures
Data Structures are fundamental to CS as they allow developers to work with complex data, while balancing processing power and memory requirements. At Fullstack you will learn the inner wizardry of commonly used data structures like arrays, hash tables, lists, trees and heaps. Beyond learning how to use them, you'll also write them yourself.

Algorithms
Understanding algorithms is an integral part of being a developer. At Fullstack, you'll not only learn to write the whole range of essential CS algorithms like sorting, searching, and encryption, but you'll also know which one to choose at the right time.

Big-O Space & Time Analysis
The spirit of efficiency in CS stems from its early days and continues today. At Fullstack, you will learn to evaluate and optimize an algorithm for its efficiency in terms of both space and time using asymptotic time analysis.
Programming mastery
Being a great developer starts with being a great programmer. In Foundations and on-campus, we drill into core programming concepts to ensure your fluency in reading and writing code. Once you've solidified these areas, you're ready to move beyond the language to focus on front-end vs. back-end development, systems, frameworks and ultimately full-stack applications.
Object-oriented programming
ASYNCHRONOUS PROGRAMMING
RECURSION
REGULAR EXPRESSIONS
Front-end development

React & JavaScript MVC
JavaScript is redefining what it means to be a modern web application. We'll start with using jQuery for simple page changes and move on to study design patterns of "Single Page Web Applications" using React and Redux. You can read more about our recent curriculum change to React here.

HTML5
HTML is the markup language that started it all and is still the backbone of web information. HTML5 adds new contextual tags, semantics and new capabilities to web browsers. While HTML is one of the easier languages to master, it's a critical part of the stack.

CSS3
If HTML is the architect, CSS is the interior designer. Know how CSS decorates HTML and go beyond to create simple but effective designs for your projects. Use tools like SCSS along with Bootstrap to make your sites beautiful and responsive.
Back-end development

Node.js & Express
JavaScript is an incredibly flexible and popular language, quickly becoming the "lingua franca" of the web. Node.js, a platform built on Chrome's JavaScript runtime, allows Javascript to run server-side. This makes JavaScript the only programming language that runs in the front-end and back-end. Node.js and JavaScript based back-end development are becoming the leader in next generation backend web engineering. You will be writing and thinking JavaScript from Day 1 and be an expert by graduation.

Services & APIs
APIs allow us to connect to vast amounts of data and functionality. For example, we will learn about systems of authentication via OAuth and building payment systems using APIs by providers like Stripe and Balanced. Mastering APIs gives you the ability to harness the vast potential of external API services available on the web. This allows students to build incredibly creative and impressive projects while at Fullstack.
Data
SQLite & PostgreSQL
SQL is one of the most popular database languages in use today. Although NoSQL is on the rise, having a strong understanding of SQL is still a vital skill for any software developer. We'll learn the ins and outs of this relational database language so you can comfortably store and manage a web application's data with it.
ORM Tools
Understanding various database languages and knowing how to use them is important... But integrating with a database from a web application can be tedious, especially when building the more complex projects covered at Fullstack. We'll learn how to use JavaScript ORM tools to improve your programming productivity.
Git version control
Text editors
Test-driven development
Shell & systems
Tools & Best Practices
Learn the tools of the developer trade, from version control systems to text editors and the command line. Fullstack also covers test driven development and design patterns, giving students the opportunity to write optimized, scalable code.
The Masters Series
We know that your learning journey doesn't end on the last day at Fullstack. That’s why we’ve created the Masters Series, a collection of workshops and lectures designed to deepen your understanding of key computer science concepts and industry best practices, giving you the tools and confidence you need to keep moving forward in your new career.
Explore the Master Series