Full Stack Web Development Course Syllabus: Viking Code School
Full Stack Web Development Course Syllabus: Viking Code School
Full Stack Web Development Course Syllabus: Viking Code School
Viking Code School
Full Stack Web Development
Course Syllabus
Foreword
The Viking Code School has everything you need to go from complete beginner to professional
web developer. Our content covers everything from what a developer is to negotiating the
starting salary for your new job as a software engineer.
Though this curriculum covers the full breadth and depth of materials that you will need in order
to call yourself a “Full Stack Web Developer”, it is not designed to be a one-size- ts-all approach.
Unlike other programs which hold your hand or trim away the hard stu , we dive head rst into
the inner workings of software engineering. That means you will have to build more than 80
projects completely from scratch and wrestle with tricky concepts. That takes dedication and grit
but the reward is well worth it.
Luckily, you aren’t alone in this journey. The curriculum is really just the path -- your teammates,
instructors and mentors provide the support you need to nd your way over (or around) obstacles
and to get you back on track when you get lost. We’ve designed our two programs -- the
Immersive Program and the Flex Program -- to allow you to dial in exactly the level of support you
need to t this material into your life and your budget.
This curriculum has been forged by the experiences of thousands of students like yourself and
the only thing that is certain is that it will continue to change in order to keep pace with the skills
that will land you the rst job of your new career.
The following sections detail what is covered in our curriculum. Information on joining our
programs is available at the very end so you can take the plunge as soon as you’re ready.
Knowledge Path
Your journey begins with the most comprehensive Prep Work available from any school in the
world. In our Basic Prep, you will learn everything you need in order to begin your journey as an
engineer. Our Advanced Prep dives deeply into the fundamentals of Markup (HTML, CSS, SASS
and Bootstrap), Coding with JavaScript and how to lay groundwork for getting-hired. Best of all,
it's completely free!
Our Core Curriculum covers everything you need to complete your journey to a job. Regardless
of whether you take our Flex Program or Immersive Program, you will have access to the same
high-quality path and support. The Core Curriculum covers the fundamentals of Data, Back End
Engineering, Front End Engineering, and Getting Hired.
Contents subject to change P
age 2 of 11
Contents subject to change P
age 3 of 11
Prep Courses
The Prep Work is available completely free to anyone who would like to try it. Viking has the
most comprehensive prep work in the world so it is NOT trivial! This work is required before you
begin our core curriculum (regardless of whether you’re doing so via the Immersive Program or
the Flex Program), so it’s an invaluable resource both for getting your feet wet as a new
developer and for preparing to enter one of the rigorous Viking programs.
Contents subject to change P
age 4 of 11
Contents subject to change P
age 5 of 11
Core Curriculum
Our core curriculum is designed to take you from “advanced beginner” to employable full-stack
engineer. That means we have a LOT of ground to cover (roughly 1200 hours of it!).
The course is broken into the 4 key sections shown below: Databases, Back End, Front End and
Hiring. To be truly full-stack, we expect that you will be employable as either a front-end
developer or a back-end developer and we prepare you accordingly. This why our program
covers more ground than any other.
Databases
Data is the core of every major web application and you have to be uent in its modeling, storage
and retrieval in order to be an e ective engineer. During the Databases portion of the course,
you will learn everything you need in order to break down a website into its core data model and
then implement that model yourself.
Data Modeling
● Data Relationships
● Designing a Data Model
● Relational Databases
● Alternative Databases
● Data Normalization
● Entity Relationship Modeling (ERM)
SQL
● Working with Database Schemas
● Create-Read-Update-Destroy (CRUD)
● Joins
● Aggregate Functions and Groups
● Sub Queries
NoSQL
● Serialization
● Modeling NoSQL data
Contents subject to change P
age 6 of 11
● Document Databases (MongoDB)
● NoSQL Best Practices
NodeJS
● Server-Side JavaScript
● NPM
● JavaScript Build Processes
● Event Loop and Emitters
● File System Interaction
● Modules
Express + APIs
● HTTP in Depth
● Calling APIs
● Reading API documentation
● Basic API Authentication
● OAuth 2.0
● API-Based Sign-In with SDKs
● API-Based Sign-In with Omniauth
● Uploading to Amazon S3
● ExpressJS
● Cookie and Session Persistence
● Deploying JavaScript Applications
Contents subject to change P
age 7 of 11
● Cookie-Based Authentication
● JSON Web Tokens
● Hacking Attack Vectors
Testing
● Overview of Software Testing
● Unit Testing
● Integration Testing
● Factories
● JavaScript Testing Frameworks
Front End Engineering
The Front End Engineering portion of the course uses the JavaScript language to carry you
through designing modern dynamic web applications. You will learn everything from how to
retrieve data using lightweight AJAX requests to constructing production-scale single-page apps
using the ReactJS framework.
The JavaScript Programming Fundamentals prep course is a prerequisite for this section.
React + Redux
● AJAX
● Overview of Frontend Frameworks
● Frontend Data Modeling
● Templating Frameworks
● JSX
● The React Environment
● Components and State
● Props
● Routing
● Redux
● Webpack
Frontend Design
Contents subject to change P
age 8 of 11
● Frontend Data Modeling
● Best Practices
● Build Tools and Work ows
Frontend Testing
● Jest
● Snapshot Testing
● DOM Testing
Getting Hired
Getting yourself job-ready begins long before you’ve covered the full curriculum and that's why
you began the journey in the Prep Work phase. Our core Hiring materials pick up where the prep
work left o , preparing you for the active portion of the job search process. That means turning
your vapor trail into real human connections, breaking through the phone screen, nailing the
technical interview, and negotiating your job o ers.
Part of your preparation to be a strong engineer and a strong technical interviewer is an in-depth
coverage of data structures and algorithms. In this section, you will gain an in-depth
understanding of these crucial topics as well as get access to our library of take-home
challenges, interview scripts, and actual challenge questions received by Viking alumni.
The most important part of your portfolio is your Final Project. This is a full end-to-end
engineering project that you will build from idea to mockup to deployed app with a team of other
students (regardless of which program you enroll with). This gives you a chance to practice a full
engineering work ow with our expert support along the way.
Contents subject to change P
age 9 of 11
Final Projects
● Applied Agile Development
● Working on a Real Engineering Team
● Choosing a Great Final Project
● Planning an Agile Sprint
● Live Demo to the Viking Community
Continued on the next page...
Contents subject to change P
age 10 of 11
Contents subject to change P
age 11 of 11