Course page for Practical Web Dev - Summer 2022
Course Overview
- Course syllabus and logistics
- Join Slack
- Note: The above information is available on Blackboard.
Full-Stack Web Development
- Intro to full-stack web development (slides)
Git and GitHub
-
Intro to Git and GitHub (slides)
-
Guide on How to Set Up SSH Keys for Git and GitHub (document)
-
Description of Feature Branch Workflow Operation (document)
-
Guide on How to Set Up Team Repository on GitHub (document)
Demo
- Create a simple website GitHub repository, implement Git version control, and deploy repository to GitHub Pages (demo-website)
- Work with feature branch workflow (feature-website)
Intro to Assignment 1
Resources
- Git Textbook
- Git Reference Manual and Complete List of Git Commands
- Git Cheat Sheet
- Video: Git Tutorial 1
- Video: Git Tutorial 2
- Simple Git Guide
- HTML Tutorial
- CSS Tutorial
Continue: Intro to Assignment 1
Demo
- Demo starter website for Assignment 1 (assignment1)
Work on Assignment 1 - Zoo
JavaScript
- Intro to JavaScript (slides)
- Eloquent JavaScript Chapter 3: Functions
- Eloquent JavaScript Chapter 4: Objects and Arrays
Node.js
Intro to Assignment 2
Resources
Watch for next class
JavaScript
Continue: Intro to Assignment 2
Demo
- JavaScript method examples (javascript-method-examples)
Intro to Assignment 3
Document Object Model (DOM)
- Intro to DOM (slides)
Demo
- DOM examples (dom-examples)
Work on Assignment 2 - JavaScript Methods
Document Object Model (DOM)
- Additional reference on intro to DOM (MDN: Intro to the DOM)
Demo
- Manipulate DOM in JavaScript (DOM manipulation)
Supplemental Materials
- Eloquent JavaScript Chapter 13: JavaScript and the Browser
- Eloquent JavaScript Chapter 14: The Document Object Model
- Eloquent JavaScript Chapter 15: Handling Events
Continue: Intro to Assignment 3
Demo
- Grid Maker application
Watch for next class: required videos (watch all in the series)
React
- Install Node.js and NPM: Install via Download or Install via Package Manager
- React Docs: Creating React App
- React Docs: Main Concepts of React (Sections 1-5)
Demo
- A simple React application - Hello World
Extra Practice
- React tutorial: Intro to React (building a Tic-Tac-Toe game)
- React tutorial: Getting Started with React
Supplemental Materials
Watch for next class: required video
React, Asynchronous Programming, and API
Demo
- React application example codes (Components 1-5)
Intro to Assignment 4
- Example (starter) code for Assignment 4 (website deployed to GitHub Pages)
Work on the following items
- Practice of React application examples (Components 1-5)
Web browser extensions used in class
Supplemental Materials
- React Docs: Main Concepts (Sections 6-12)
- Promises, async/await, asynchronous JavaScript
- In-depth article on async/await
- Video: async/await
- Eloquent JavaScript: Asynchronous Programming
- MDN: Fetch API
- MDN: Promise
- Axios tutorial
- Video: Axios Crash Course
- Video: HTTP Crash Course
React Router
Continue: Intro to Assignment 4
- Example (starter) code for Assignment 4 (website deployed to GitHub Pages)
Intro to Final Project
Demo
- Final Project starter application
Recommended materials for next class
- Redux: comprehensive tutorial by Dan Abramov, the creator of Redux (Part 1) (Part 2)
- Article on Thunks in Redux
- Coding example using Thunks
Work on Assignment 4 - Bank of React
Redux
- Managing state in React applications with Redux
- Intro to Redux (slides)
- Intro to Thunk Middleware (slides)
- React Application Examples (Component 6): Redux and Thunk
Demo
- React application example code (Component 6)
Work on the following items
- Practice of React application example (Component 6)
- Assignment 4 - Bank of React
Continue: Intro to Final Project
Demo
- Final Project starter application
PostgreSQL and Postman
Supplemental Materials
RESTful API, Express, and Sequelize
- Build back-end application using Express and Sequelize
- RESTful API (slides)
- Intro to Express (slides)
- Intro to ORM and Sequelize (slides)
Demo
- RESTful API and test using Postman
- Express routing feature examples (express-routing)
- Postgres psql
Review for Course Assessment Test
- Review document and example questions/answers for Course Assessment Test
- Note: The above information is available on Blackboard.
Supplemental Materials
- Tutorial: Setting up a simple Node application with Express/Sequelize
- Relational database concepts
- Intro to Object-Relational Mapping
- psql commands
- Sequelize documentation
Resources
Course Assessment Test (optional extra credit)
- Complete the optional Course Assessment Test on Tuesday, 7/12.
Work on Final Project - Full-Stack CRUD Application
- Final Project is due on Wednesday, 7/13, at 11:59 PM.