- Course Level: Code 401
- Certificate: Advanced Software Development In JavaScript
- Code 102
- Code 201
- Code 301
Students with previous relevant or equivalent experience can test out of this requirement in their application.
Learn to write clean, well-tested, advanced JavaScript code using industry-standard software engineering patterns using NodeJS, Express, Postgres, and React.
- An AWS account
Students will learn to build full-stack applications. The first four weeks focus on building back-end web applications with Node.js. During modules six through nine, students learn to build web apps with modern front-end libraries and frameworks. This course goes in depth into the core competencies of JavaScript, object-oriented programming, and functional programming. Students get hands-on practice in test-driven development with agile tools and best practices.
Upon satisfactory completion of this course, a student should be able to:
- Fundamentals of JavaScript
- Object-Oriented Programming
- Structural Design Patterns
- Async Design Patterns
- Client / Server architecture
- TCP and HTTP
- SQL Databases
- RESTful API
- Authentication / Authorization
- Data Modeling
- Test-Driven Development
- Behavior-Driven Development
- Unit, Integration, and End-to-End Testing
- Functional Programming
- Code Readability and Maintainability
- Version Control
- Continuous Integration and Deployment
- Debugging
- Real-time apps with Socket.io
- Event-Driven Applications
- Asynchronous Programming
- Programming UI Component Frameworks
- Unified Modeling Language
- Domain modeling of real-world concepts using object-oriented programming.
- Configure and perfrom CRUD on PostgreSQL Databases.
- API building using contemporary frameworks and design patterns.
- Writing, publishing, and maintaining software documentation.
- Building User Interfaces using the React Libary.
- Implementing Server Side Message Queueing.
- Installing and configuring UI component libraries.
- Server Side and Client Side JavaScript.
- Installing and developing software with command line utilities.
- Test driven development with integration and unit tests.
- Configure and develop applications deployed to cloud infrastructure.
- Building backend infrastructure using AWS services; Lambda, API Gateway, Dynamo DB, EC2, Elastic Beanstalk, SQS, SNS.
Class # | Topic | Lab |
---|---|---|
01 | Intro to NodeJS | Deploying Node Applications |
02 | Modules and Testing | Node Ecosystem, CI, CD |
03 | Express Web Servers | HTTP Servers and Test Driven Development |
04 | REST API | RESTful CRUD routing and Data Modeling |
05 | Linked Lists, Big O, Resume Workshop | Linked List Implementation |
Class # | Topic | Lab |
---|---|---|
06 | Basic Authentication | Server Side Encryption with Basic Auth Middleware |
07 | Bearer Authentication | Server Side Token Signing and Validation |
08 | Role Based Access Control | Access Control Lists and Authorization Middleware |
09 | Guided Project | Student led MVP using RESTful HTTP Web Services |
10 | Stacks, Queues, Personal Pitch Workshop | Stack, Queue Implementations |
Class # | Topic | Lab |
---|---|---|
11 | Event Driven Programming | Events using Subjects and Observers / Clients |
12 | Network Events | TCP and WebSockets using Socket.io |
13 | Message Queues | Message Management Queue Implementation |
14 | Guided Project | Student led MVP using Networked Event Obervables |
15 | Trees, Job Search Workshop | Tree Implementation |
Class # | Topic | Lab |
---|---|---|
16 | AWS: EC2 and Elastic Beanstalk | Node Apps on Elastic Beanstalk |
17 | AWS: S3 and Lambda | Automated Lambda Services |
18 | AWS: APIs and Dynamo DB | RESTful CRUD via AWS Services |
19 | AWS: Message Queues and Notifications | Event Observables with SNS and SQS |
20 | Project Kickoffs | Team Setup, Ideation, Wireframes, Tooling |
Class # | Deliverables |
---|---|
16 | Wireframes, User Stories, Architecture Plan, DevOps, Documentation, Agreements |
17 | Phase 1 |
18 | MVP |
19 | Final Polish, Presentation Practice |
20 | Live Project Presentations |
Class # | Topic | Lab |
---|---|---|
26 | React - Function Components | Functional vs Object Oriented component implementation |
27 | React - State Hook | Retrieving User input and managing state |
28 | React - Effect Hook and Lifecycle | Fetching live API data |
29 | React - Reducer Hook | Tracking User history |
30 | Hash Tables, Behavioral Interview Workshop | Hash Tables Implementation |
Class # | Topic | Lab |
---|---|---|
31 | React - Context API | Creating a global state using context |
32 | React - Context API | Updating global state through context |
33 | React - Cookies, Local Storage | Login and Auth components |
34 | React - RBAC | Auth API Integration |
35 | Graphs, Technical Interview Workshop | Graph Implementation |
Class # | Topic | Lab |
---|---|---|
36 | React - Redux | Reducers, Actions, and State |
37 | Redux - Combined Reducers | Using multiple reducers in a single store |
38 | Redux - Asynchronous Actions | Integrating APIs into Redux actions |
39 | Redux - Alternatives and Advanced Usage | Opionated Redux Toolkit implementation |
40 | Personal Presentation | Final Exam Prep |
Class # | Topic | Lab |
---|---|---|
41 | React Native | Wireframe and scaffold a mobile application |
42 | React Native | Mobile application - Add interactivity, Polish, Deploy |
43 | Open Source | Research, contribute to OSS |
44 | Ethics | Final Exam |
45 | Project Kickoffs | Team Setup, Ideation, Wireframes, Tooling |
Class # | Deliverables |
---|---|
46 | Wireframes, User Stories, Architecture Plan, DevOps, Documentation, Agreements |
47 | Phase 1 |
48 | MVP |
49 | Final Polish, Presentation Practice |
50 | Live Project Presentations |