Skip to content

codefellows/seattle-javascript-401d58

Repository files navigation

Code 401: Advanced JavaScript Core Syllabus

Course Information

  • 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