- 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.
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 perform CRUD on PostgreSQL Databases.
- API building using contemporary frameworks and design patterns.
- Writing, publishing, and maintaining software documentation.
- Building User Interfaces using the React Library.
- 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 | Challenge |
|---|---|---|
| 01 | Intro to NodeJS | Reverse Array |
| 02 | Modules and Testing | insertShiftArray |
| 03 | Express Web Servers | BinarySearch |
| 04 | REST API | Mock Interviews: Sum Rows, nth Fibonacci |
| 05 | Linked Lists, Big O, Resume Workshop | Linked List Implementation |
| Class # | Topic | Challenge |
|---|---|---|
| 06 | Basic Authentication | Linked List Insertion |
| 07 | Bearer Authentication | kth-from-end |
| 08 | Role Based Access Control | Zip |
| 09 | Guided Project | Mock Interviews: Reverse Linked List, IsPalindrome |
| 10 | Stacks, Queues, Personal Pitch Workshop | Stack, Queue Implementations |
| Class # | Topic | Challenge |
|---|---|---|
| 11 | Event Driven Programming | Queue with two stacks |
| 12 | Network Events | FIFO Animal Shelter |
| 13 | Message Queues | Balanced Brackets |
| 14 | Guided Project | Mock Interviews: Stack Max, Duck Duck Goose |
| 15 | Trees, Job Search Workshop | Tree Implementation |
| Class # | Topic | Challenge |
|---|---|---|
| 16 | AWS: EC2 and Elastic Beanstalk | Tree Max |
| 17 | AWS: S3 and Lambda | Tree Breadth First |
| 18 | AWS: APIs and Dynamo DB | Tree Fizz Buzz |
| 19 | AWS: Message Queues and Notifications | Mock Interviews: Sum Odd, Compare Filenames |
| 20 | Project Kickoffs | Team Setup, Ideation, Wireframes, Tooling |
| Class # | Deliverables |
|---|---|
| 21 | Wireframes, User Stories, Architecture Plan, DevOps, Documentation, Agreements |
| 22 | Phase 1 |
| 23 | MVP |
| 24 | Final Polish, Presentation Practice |
| 25 | Live Project Presentations |
| Class # | Topic | Challenge |
|---|---|---|
| 26 | React - Function Components | Insertion Sort |
| 27 | React - State Hook | Merge Sort |
| 28 | React - Effect Hook and Lifecycle | Quick Sort |
| 29 | React - Reducer Hook | Mock Interviews: Merge Sort, Quicksort |
| 30 | Hash Tables, Behavioral Interview Workshop | Hash Tables Implementation |
| Class # | Topic | Challenge |
|---|---|---|
| 31 | React - Context API | Repeated Word |
| 32 | React - Context API | B-Tree Intersection |
| 33 | React - Cookies, Local Storage Login and Auth components | Map Left Join |
| 34 | React - RBAC | Mock Interviews: Most Common Word, Unique Character Strings |
| 35 | Graphs, Technical Interview Workshop | Graph Implementation |
| Class # | Topic | Challenge |
|---|---|---|
| 36 | React - Redux Reducers, Actions, and State | Graph Breadth First |
| 37 | Redux - Combined Reducers | Graph Business Trip |
| 38 | Redux - Asynchronous Actions | Graph Depth First |
| 39 | Redux - Alternatives and Advanced Usage | Mock Interviews: Adj Matrix to Adj List, Graph Connected |
| 40 | Personal Presentation | Final Exam Prep |
| Class # | Topic | Challenge |
|---|---|---|
| 41 | React Native | Mock Interview: Browser History, Find Anagrams |
| 42 | React Native | Mock Interview: Reverse a string (3 ways), Sanitize URL |
| 43 | Open Source | Mock Interviews: Estimate Water Usage, Convert year to roman numerals |
| 44 | Ethics | Mock Interviews: Rotate a Matrix, Largest 3-Product |
| 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 |