Overview
Build full-stack web applications with server-side Node.js and modern, client-side, front-end libraries and frameworks, including React. Throughout this intensive course, you will study data structures and algorithms, professional software development techniques, and established industry best practices as you advance your skills in full-stack JavaScript.
This course includes career development curriculum to get you ready for your job search, plus job search assistance after graduation. Daytime and Nights & Weekend tracks are each 400 hours total. Course hours include lecture, lab, and coworking.
Outcomes
By the end of this course, you will:
-
-
Build and contribute to a server-side and client-side application, each using an architecture/framework that promotes maintainability, scalability, and collaboration. These skills will be fully demonstrated during project week during their team development of a prototype, adhering to industry best practices and patterns.
-
Apply Computer Science fundamentals in analyzing the trade-offs between competing solutions when choosing algorithms; JavaScript coding patterns and practices; and byte formats that do not degrade the performance or Node browser functionality of their applications.
-
Be given a series of career development workshops and the web development knowledge, experience, habits, and practices learned in this course, students will create an online brand, network, and resume; and will demonstrate aptitude in personal and technical interviews of varying formats, in order to conduct a successful job search and obtain a job as a Full-Stack JavaScript or Front-End Web Developer.
Prerequisites
-
-
Students with previous experience can test out of this requirement in their application. If you'd like to test straight into this course, please make sure you have experience with all of the topics listed on the Code 201 and Code 301 course pages.
-
-
All students are expected to complete the prework for this course before the first day of class.
Topics
Concepts
-
Structural Design Patterns
-
Async Design Patterns
-
Client / Server architecture
-
TCP and HTTP
-
NoSQL Databases
-
RESTful API
-
Authentication / Authorization
-
Data Modeling
-
Test-Driven Development
-
Behavior-Driven Development
-
Unit, Integration, and End-to-End Testing
-
Object-Oriented Programming
-
Functional Programming
-
Code Readability and Maintainability
-
Version Control
-
Continuous Integration and Deployment
-
Debugging
-
Web Sockets
-
Event-Drive Applications
-
Asyncronous Programming
-
UI Component Frameworks Programming
-
UML
Data Structures and Algorithms
-
Linked Lists
-
Stacks/Queues
-
Trees
-
Binary Search Trees
-
Sorting Algorithms
-
Hash Maps
-
Daily Whiteboard Interview Practice
-
Graphs
Languages
-
Advanced Server-Side and Client-Side JavaScript
-
Advanced HTML, CSS, and CSS Preprocessing
Environments and Tools
-
Unix
-
Git
-
GitHub
-
Node.js
-
ESLint
-
MongoDB
-
Heroku
-
Travis CI
-
ES6
-
React
-
Webpack
-
SCSS
-
JSDoc
-
Swagger
-
Jest
-
Redux
-
React-Native
-
Socket.IO
-
Express
-
AWS
-
S3
-
Lambda
-
API Gateways
-
Cloudfront)
-
Industry Readiness Training
Changing careers or building a business is about more than learning a new skill. In tandem with your software development education, you will receive powerful career-building, exposure to entrepreneurship and strategic training so you can confidently start your job search or begin building your own startup as soon as (or even before!) you graduate.
Our Career and entrepreneurship Transition Services provide training, mentoring, leadership, and introductions to industry partners to help you become a more well-rounded software developer, prospective founder and a leader in your field. These services, which start in Code 201 and continue after Code 401 graduation, involve a series of events, workshops, startup immersions and assignments that help you think holistically about your new career and take actionable steps towards success. Learn More »
Material Requirements
You are required to supply your own laptop that meets the below requirements. Chromebooks are not suitable for this course, since you can’t directly control installed software. Most students use Macs. You are responsible for the upkeep and maintenance of your computer throughout the course. The course pre-work will have specific instructions for configuring your computer to be ready for the first day of class.
-
64-bit Operating System, like macOS or Windows 10.
-
Fully up to date, with the latest version of the operating system and all security updates installed.
-
At least 50GB of free space on the hard drive.
-
At least 8GB of RAM. 16GB RAM strongly preferred.
-
Free of viruses, and in general working order.
By the first day of class, you will need:
-
The latest version of Google Chrome
-
The Visual Studio Code editor
-
A GitHub account
-
The latest version of Node.js
-
Xcode from the Mac App Store with the command line tools
Stacked Modules
Concepts in each of our courses are taught using stacked modules, where a new concept is introduced in each class session, building upon what came before it. This is a challenging style that requires persistence, practice, and collaboration, but allows more concepts to be introduced over the length of the course. This method helps students learn and retain more information in a short period of time. Learn more about stacked modules »
Homework Policy
In order to pass the class, students must attain at least 90% of available points.
Professionalism
Punctuality, participation in discussions, completion of assignments, and demonstration of professional courtesy to others are required, in accordance with our Code of Conduct. Attendance will be taken at the beginning of every class. Passing requires at least 90% attendance. Students should always contact the instructors ahead of time if they are unable to attend all or part of published class / lab hours.
Course Details
Length:
Daytime: 10-weeks
Evenings & Weekends: 20-weeks
Tuesday – Friday
5:30 – 8:30 p.m; Saturday, 9:00 a.m. – 6:00 p.m.
Tuition: $12,500 BDS