Project Shift Curriculum

Our curriculum is based on Aaron and Sean's years of teaching, hiring engineers, a consistent feedback loop from our local hiring partners and a deep conviction that Computer Science Degrees and Coding Bootcamps can both be doing more. As you'll see in the journey below, we dive deep into advanced Computer Science concepts, though the JavaScript ecosystem is our primary learning tool for the course.

BEFORE THE COURSE - Pre-work

Day 1 at Project Shift begins with intermediate/advanced programming concepts. Therefore, we heavily emphasize our pre-work where you'll learn HTML, CSS, JavaScript fundamentals, Git/Github, the Command Line and other tools. So that you're not alone in this, we offer accepted students a weekly time to gather with instructors and get pre-work help before the course begins.


WEEK 1 - Programming Foundations

With Project Shift you'll learn programming - not just a specific language or framework. During the first week, we'll lay the groundwork for Computer Science by exploring CPU's, how memory is allocated and ultimately how every programming language is compiled down to machine language. From there, we'll explore several different programming languages to understand commonalities. By the end of this week you'll know how to read code is most any language.


WEEK 2 - The Web and Networks

One of the environments we'll program in is the Web, but the Web begins with networks (as the internet is merely a network of networks). After tearing the internet apart, we'll put it back together with interactive, responsive web pages.


WEEK 3 - Design Patterns

More than likely, every problem you face in programming has already been solved by a common, reusable pattern. Some of these patterns are larger paradigms such as Object Oriented Programming and Functional programming, or more specific solutions such as MVC, Singleton, Module, Observer, and more. Mastering these underlying patterns will enable you to indefinitely adapt to new technologies and become a lynchpin of any engineering team.


WEEK 4 - MV and Node.js

For the front-end MV/MVV/MVC will emerge as the prominent design pattern for the last 10+ years of web development. Along with creating our own framework based on this pattern, we'll learn a brand-new environment for programming on the server-side, NodeJS.


WEEK 5 - Databases and DB Theory

Like most everything else in programming, the profusion of databases represents different types of data, use cases for handling that data, and solutions for efficiently working with that data. We'll dive into both SQL and NoSQL databases, and we'll even have you explore a couple on your own.


WEEK 6 - React and Redux

By now, this will be easy as you've already learned the deep "why" behind React/Redux, the patterns that React/Redux utilizes and the overarching problems that modern applications present that React/Redux was created to solve.


HACKATHON #1!

At this point in the course you'll already be able to build full-stack web applications. You'll partner up with 1 or 2 others in your cohort and spend the weekend hacking away your most robust software project to date!


WEEK 7 - Server Side Design

We'll have already built a web-server with NodeJS, but in this week you'll take a deep dive into building scalable API's utilizing the 6 guiding restrains of REST (Representational state transfer).


WEEK 8 - Operations Strategies

Building off week 7, you will deploy your applications using a variety of tools while you learn the constraints of running servers that process small, medium and large amounts of data. We'll even jump into the Serverless Paradigm with AWS Lambda.


WEEK 9 - Complexity and Algorithm Design

Though at this point you will have already worked with different algorithms and complexity, we'll look at how to index documents, create search engines and explore the performance of popular algorithms as well as build our own.


WEEK 10 - Software Development Workflows

Software Engineers don't code in a vacuum. Exploring different development methodologies (such as, Agile), we'll work in teams to efficiently build, test, debug, deploy and maintain applications.


WEEK 11 - Mentor-Guided Projects

You'll already have many projects under your belt, but this week will be all about gaining experience and putting together all that you've learned to solve common business problems that your instructors will throw at you.


HACKATHON #2!

It will blow your mind how much better this project is compared to your week 6 hackathon product. This hackathon will be the start of your capstone project and will springboard you into an MVC.


WEEK 12 - Capstone Project and Electives

Though you have many repos in your github, you'll have an entire week+ to build one final, tested, deployed beautiful piece of software that you'll show the world. You'll also have access to instructor-guided electives should you choose to learn entirely new topics for your final project (such as AI, Unity, Mobile, etc).


DEMO NIGHT!

We'll invite the who's who of the RDU tech scene to come watch you pitch your final projects while you network with potential employers over drinks.


Career Assistance

From here on out you're a part of the small Project Shift Alumni Network, where we'll provide career assistance after graduation. In addition we'll open up continued office hours and space for you to work as you interview and comb through offers.