Code 401: Advanced JavaScript Core Syllabus
- Course Level: Code 401
- Certificate: Advanced Software Development In JavaScript
Course Prerequisites
- Code 102
- Code 201
- Code 301
Students with previous relevant or equivalent experience can test out of this requirement in their application.
Course Description
Learn to write clean, well-tested, advanced JavaScript code using industry-standard software engineering patterns using NodeJS, Express, Postgres, and React.
Required Materials
Accounts
Program Learning Outcomes
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.
Student Learning Outcomes
Upon satisfactory completion of this course, a student should be able to:
Describe and Define
- 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
Execute
- 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.
Course Schedule
Module 1
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 |
Module 2
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 |
Module 3
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 |
Module 4
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 |
Module 5 - Midterm Project
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 |
Module 6
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 |
Module 7
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 |
Module 8
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 |
Module 9
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 |
Module 10 - Capstone Project
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 |