Curriculum

Viking's curriculum takes you deep to ensure that you get the tools you need to launch a sustainable career in software.

Our coursework is divided into the parts you see below which, together, take you from complete beginner to professional grade developer. It is more than what is covered in a typical accelerated program or several years of full time school. Both the
Immersive Program
or the
Flex Program
use this curriculum*.

We emphasize building
complete engineers, so you'll learn skills across the entire web development stack plus gain an understanding of your role on a development team and in a product-based organization.

This path is designed to help you master the fundamentals and build the engineering instincts you'll need to confidently tackle any future skill, job interview, or development challenge.

Viking was tough. The curriculum will test the very limits of what you think you
can accomplish and kick it even further.

Andrew Baik

Explore the Curriculum

Click on the panels below to see what each stage of the curriculum covers. We emphasize fundamentals over flash, so while we cover some of the most modern and relevant tools in web development today, our emphasis is on
giving you the base from which you can learn
any
new technology that comes along.

The panels below show what each stage of the curriculum covers. We emphasize fundamentals over flash, so while we cover some of the most modern and relevant tools in web development today, our emphasis is on giving you
the base from which you can learn
any
new technology that comes along.

The Viking Prep Work is publicly available (you can start it
here) and contains several mini-courses which get you up to speed on the fundamentals of web development and what life is like for a developer.

Key Topics:

• Web Development Basics

• Web Design Basics

• Software Engineering Basics

Key Projects:

• Git Calisthenics

• UX Teardowns

• Agile Stories for an E-Commerce App

FREE

Advanced Prep Work

~370 Points

Our advanced prep covers all you need to get started as an engineer, venturing into both markup with HTML/CSS and coding with JavaScript. You will learn how to combine coding principles with markup using SASS and how to rapidly prototype professional
websites with Bootstrap.

These challenging courses are designed to provide you with the strong fundamentals you need to get started with our advanced core curriculum.

Key Topics:

• How the program will work

• Markup with HTML, CSS, Bootstrap and SASS

• JavaScript Programming

• Getting Hired (Part I)

Key Projects:

• Rebuilding Facebook

• The Danebook Frontend

• The Spotify Music Player

• Tower of Hanoi

Databases

~100 Points

Since data is the foundation of every major web application, we take a data-first approach to teaching. You start by studying data modeling and theory before diving into SQL and NoSQL databases.

You will work with data sets both large and small in your quest to master the challenges of structuring, organizing and querying with today's modern database tools

Key Topics:

• Database Theory

• Data Modeling

• SQL

• NoSQL

Key Projects:

• Real world data modeling

• The SQL calisthenics

• NoSQL calisthenics

JavaScript/Node

~400 Points

The JavaScript/Node Back End section covers everything you need to become a confident back-end engineer using JavaScript, NodeJS and Express.

We kick things off with a deep dive into the event-driven world of Node before moving things online with ExpressJS. Everything comes together when you pick up authentication systems and build a series of full-featured JavaScript applications.

Key Topics:

• NodeJS

• Express

• JavaScript Testing

• Authentication and Security

• File Uploads and Email

Key Projects:

• A Github commit feed

• A dynamic realtime chat system

• An affiliate referral ponzi scheme

• A full-featured E-Commerce app

The Front End

~500 Points

Our Front End portion of the course will give you all the tools you need to work as a front-end engineer who is fully confident with JavaScript and modern production techniques.

You will learn how to make web applications snappy using AJAX and how to apply strong code organization principles to the Wild West of JavaScript. In the last portion, you will learn how to use modern JavaScript frameworks like React to build robust
and lightning fast single-page applications.

Key Topics:

• The DOM / BOM Model

• Frontend Data Modeling

• JavaScript Atop an API

• Single Page Apps with React/Redux

Key Projects:

• Snake

• The AJAX Puppy Shelter

• Fideligard Stock Portfolio Simulator

• Full Stack Project Manager

Final Projects

~100 Points

You finally have what it takes to really impress employers by building something ambitious and complex, using all you've learned so far. This is your chance to apply these skills in the framework of working on a real engineering team.

For these projects, all students are required to work in groups (regardless of program). You will start by putting on your Product Manager hat and pitch your idea, produce mockups and break down user stories. You will then transition back into
"engineering mode" and do poker planning, prioritize your backlog and finally plan out two full sprints.

From there, you will have regular team SCRUM meetings and code reviews. This culminates in a demo presented to your "client", the whole Viking community.

Key Topics:

• Agile story writing

• Sprint planning

• Collaborating on your project

• Marketing your project effectively

Key Projects:

• The Final Project

• Your Final Project Demo

Hiring + Algorithms

~200 Points

Starting day 1, we'll show you how to hustle onto the radar of companies and to stand out despite an unconventional resume.

Once you’re ready, we’ll dive deep into Data Structures and Algorithms, providing you with the understanding you need to make good engineering decisions and to pass technical interviews.

Finally, you'll learn how to present well during your interviews and, with an offer in hand, how to maximize your outcome and compensation. We'll present you with study materials, interview scripts and take-home projects based on the actual
experiences of our alumni.

Key Topics:

• The Personal Narrative

• Networking for Engineers

• Nailing the Interview

• Core Data Structures

• Search and Sorting Algorithms

• Salary Negotiation

Key Projects:

• The Three Job Challenge

• The DOM Parser Project

• Algorithmic problems and take-home projects

• Interview Practice Scripts

A Sampling of Projects

The projects you build as a part of our curriculum vary in size, scope and content. Some are designed to help you firm up your understanding (since building cures all problems!) while others are created with an eye towards your
portfolio. You will also have ample opportunity to create projects of your own along the way as well, especially during our collaborative final projects.

The E-Commerce Store

Our e-commerce store will require you to set up an advanced data model to support users who want to shop for items, login, and check out using the Stripe API. You will also build out the query-heavy admin infrastructure which allows store owners
to see transaction statistics and to manage system data.

What if you could pull stock data from an API, make trades to construct your portfolio, and see how it performs over time, all as part of a lightning-fast single-page app? Our stock portfolio simulator will require you to work with complex and
dynamic data relationships on the front end to make this possible.

Our project management tool will integrate everything you learned during the course into an application which allows users to manage their workflow by logging in, setting up tasks, assigning tasks to other users, changing task status, and viewing
the activity of their team.

Our full-featured social network will require you to map out complex data relationships between more than a dozen models while you allow users to post, comment, upload photos, "friend" each other, "like" polymorphically, and track login status...
all while putting together a buttery-smooth user interface.