Project Shift Curriculum
BEFORE THE COURSE - Pre-work
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.
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.
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).
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.
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.