Back

ITP 404: Advanced Front-End Web Development

(10/15) Week 8 - Apps with CRUD (Part 1) - The API

  1. Review Component Testing
  2. REST APIs (slides)
  3. JSON:API
  4. Building an API in Node.js with Express
  5. PM2
  6. Postman App
  7. Cross-origin Resource Sharing (CORs)
  8. No Assignment or Lab
  9. Code
  10. Lecture

(10/8) Week 7 - Testing Components and Continuous Integration

  1. Prettier
  2. Jest Testing Framework
  3. React Testing Library
  4. Travis Continuous Integration (CI)
  5. Assignment 7 (due 10/15 at 11:59pm)
  6. Lab 3 - Research JSON:API (due 10/15 at 6pm)
  7. Starter Files
  8. Code
  9. Lecture

(10/1) Week 6 - Client-side Routing

  1. React Router
  2. componentDidUpdate
  3. Nested Routes
  4. Assignment 6 (due 10/8 at 11:59pm)
  5. Lab 2 - Research Testing (due 10/8 at 6pm)
  6. Code
  7. Lecture

(9/24) Week 5 - Building Reusable Components Part 1 (React)

  1. One-Way Data Flow
  2. React Fragments
  3. children prop
  4. Typechecking with PropTypes
  5. Assignment 5 (due 10/1 at midnight)
  6. Code
  7. Lecture

(9/17) Week 4 - Events, Data Flow, and Managing Component State (React)

  1. Handling Events
  2. Forms
  3. Controlled Components Demo
  4. Lifting State Up
  5. Lowest Common Ancestor
  6. Assignment 4 (due 9/24 at midnight)
  7. Code
  8. Lecture

(9/10) Week 3 - Introduction to Components (React)

  1. create-react-app
  2. JSX
  3. Components, Props, and State
  4. State and Lifecycle
  5. Conditional Rendering
  6. Promise.all
  7. fetch()
  8. Deploy Create React App with Surge
  9. Quiz Time on Kahoot!
  10. Assignment 3 (due 9/17 at midnight)
  11. Lecture Recording
  12. Code

(9/3) Week 2

  1. Lecture Recording
  2. Async/Await and Try/Catch Blocks
  3. Client-side Templating with Handlebars
  4. Moment.js
  5. Event Delegation
  6. Starter files
  7. Assignment 2 (due 9/10 at midnight)
  8. Lab 1 - Research React (due 9/10 at midnight)
  9. TODO: Install Node.js before class next week

(8/27) Week 1

  1. Command Line Basics
  2. Introduction to Git, GitHub, and Slack
  3. Quiz Time on Kahoot!
  4. Traditional Web Apps vs. Single Page Apps (SPAs)
  5. Ajax
  6. Synchronous vs Asynchronous Demo
  7. Promises Part 1
  8. HTTP response status codes
  9. JSON
  10. Client-Side Rendering Without a Library
  11. XSS
  12. DOMPurify
  13. Quiz Time on Kahoot!
  14. Assignment 1 (due 9/3 at midnight)
  15. Lecture Recording
  16. Code