Table of Contents
- Orientation Week
- Unit 0 - Command Line, Git, Github
- Unit 1 - HTML & CSS
- Unit 2 - JavaScript
- Unit 3 - Structured Problem Solving
- Unit 4 - Object-Oriented Programming
- Unit X - Data Structures and Algorithms
- Unit 5 - The Document Object Model (DOM)
- Unit 6 - Asynchronous JavaScript
- Unit 7 - Server-side Web Development with Node.js
- Unit 8 - React
- Unit 9 - Capstone
Tips & Tricks to Success at Marcy
Important Links to Bookmark
- Canvas: https://canvas.instructure.com/
- Github: https://github.com/
- Cloud9: https://us-east-2.console.aws.amazon.com/cloud9/home
- FreeCodeCamp: https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures
Slides
- 9/26/22 - Intro to Command Line Interfaces | Slides | Lecture Notes | Recording
- 9/26/22 - Lab Review | CLI Practice Recording
- 9/27/22 - Intro to Git & Github | Slides | Lecture Notes | Recording | Recording pt.2 | Updating Lecture Links Demo (Using the CLI) (Using Github)
- 9/28/22 - Collaborative Git | Slides | Recording pt 1 | Recording pt 2 (merge conflicts)
- 9/29/22 - Pair Programming | Ben + Carmen Lab Demo Recording
- 9/30/22 - Review | Slides | Recording
Download the following chrome extensions tools
- Eye Dropper | used to get the exact color of certain pixels.
- Page Ruler | used to get the exact pixel dimensions for something.
Additional Resources
- CSS Tricks Flexbox Guide
- CSS Tricks Grid Guide
- What is the difference between flexbox and grid?
- Josh Comeau's CSS Reset | Normalize.css | CSS Remedy
- Mozilla Tips for Organizing CSS and Debugging CSS
- 10/3/22 - HTML Semantics & CSS | Intro Slides | Lecture Notes | Recording
- 10/3/22 - Lab Review | Recording (Finishing Tribute Page)
- 10/4/22 - Box Model Layout | Lecture Notes | Recording (CSS Review, Box Model, & Display)
- 10/5/22 - Box Model Review | Box Model Review + Floats Lecture Notes | Recording (Box Model Review)
- 10/5/22 - Lab Review | Lab Review Example Solution | Centering a div and using floats to create a grid recording
- 10/6/22 - Positioning & Review | Positioning Lecture Notes | Recording
- 10/7/22 - Tables & Lists | Table Code Along Lecture Notes | Recording | Table Example Solution
- 10/11/22 - Forms | Lecture Notes | Form Example | Recording
- 10/12/22 - Flexbox | Lecture Slides | Recording
- 10/12/22 - Lab Review | Flexbox Lab Review Code | Flexbox Recording
- 10/13/22 - Flexbox Day 2 | Lecture Slides | Recording
- 10/14/22 - Form + Flexbox Review | Recording
- 10/17/22 - Grid | Lecture Slides | Recording
- 10/18/22 - Grid Day 2 | Lecture Slides | Recording
- 10/19/22 - Responsive Design | Lecture Slides | Recording
- 10/19/22 - Lab Review | Combining it all Recording | Combining It All Code
- 10/20/22 - Flex / Grid / Responsive Revew + Bootstrap Intro | Recording
- 10/21/22 - Review | Kahoot Review Recording
- 10/24/22 | Kickoff Slides | Proposals & Wireframes Presentations
- 10/25/22 | Bootstrap Demo Recording
- 10/27/22 | Github Pages Demo
- 10/31/22 | Project Presentations (Part 1) | Project Presentations (Part 2)
Additional Resources
Unit 2 Assessment Resources:
- Ben's JavaScript Basics | Recording
- Mike Cronin's Unit 2 Study Guide
- Strategies for Exam Questions
- Unit 2 Practice Assessment
- Who's That Function?!
- 11/1/22 — What is JavaScript | JS in the Browser Notes | JS in the Browser Recording |
- 11/1/22 — Data Types & Type Coercion | Data & Type Coercion Notes | Problem Set 2.1 | Data Types & Coercion Recording
- 11/2/22 — Variables & Control Flow | Coin Flip Example | Recording
- 11/3/22 — Functions | Recording | Notes
- 11/4/22 — Review | Review Problems | Review Code | Review Recording
- 11/7/22 — Scope | Slides | Code Example | Recording
- 11/7/22 - Lab Review | Call Stack + Array Basics Recording
- 11/8/22 — Arrays | Slides | Code Example | Recording
- 11/9/22 - Copy by Reference, Spread, and Rest | Recording |
- 11/9/22 - Lab Review | Destructuring Recording
- 11/10/22 — Objects | Slides | Recording
- 11/14/22 - Objects Day 2 | Recording | Practice Assessment Review Recording
wordToDigit
ReviewcharacterGenerator
Review
Additional Resources
- 11/28/22 - PEDAC | Slides | Practice | Recording
- 11/28/22 - Lab Review | Recording | Phone Number Solution | Longest String Solution
- 11/30/22 - Regex | Slides | Examples | Practice
- 12/1/22 - Regex Day 2 | Recording
- 12/1/22 - Review | Recording | Practice Solutions
- 12/5/22 - Functional Abstraction | Notes | Recording
- 12/5/22 - Lab Review | Technical Writing Exercise | Technical Writing Recording
- 12/6/22 - Functional Abstraction Day 2 | Notes | Practice | Recording
- 12/7/22 - Review | forEach, map, filter practice | Scripts Example | Recording
Additional Resources
- W3 Schools - What is
this
? - MDN - What is a closure?
- What are Factory Functions?
- What is Polymorphism?
- Classes are great but... use Composition Instead of Inheritance
- 12/8/22 - Understanding Objects | Notes | Shopping Cart Practice (Solution) | Recording
- 12/9/22 - Understanding Objects Day 2 | Recording
- 12/12/22 - Execution Context (
this
) | Notes | Practice (solution) | Recording - 12/12/22 - Lab Review | Recording
- 12/13/22 - Closures | Notes | Practice | Recording
- 12/14/22 - Review |
- 12/15/22 - Constructors & Prototypes | Notes |
__proto__
andprototype
| Recording - 12/16/22 - Constructors & Prototypes Day 2 | Recording
Looking Ahead: Classes Preview — Car and RaceCar Example
- 1/9/23 - Pseudoclassical Object Creation | Notes | Recording
- 1/9/23 - Lab Review | Closure Examples | Recording
- 1/10/23 - Classes | Notes | Recording
- 1/11/23 - Inheritance & Polymorphism | Notes | Recording
- 1/11/23 - Lab Review | Recording
- 1/12/23 - OO Design | Classes Interacting with Classes | Neopets Class Practice | Recording
- 1/13/23 - OO Design Day 2 | Item/Inventory Code | Recording
- 1/17/23 - OO Design Day 3 | Finished Code | UML Diagram | Recording
- 1/18/23 - Review | Review Study Notes w/ Examples and Definitions | Recording 1 (this, classes and inheritance) | Recording 2 (Polymorphism & Closure)
- 1/19/23 - Unit 4 Assessment
Resources
- Visualizations:
- Big-O: Notes | Linear vs. Quadratic Array Example
- Linked Lists: Notes | Slides | Linked List & Node Implementation
- Stacks & Queues: Slides | Stack & Queue Implementation
- Hash Maps: Slides | Arrays as Hash Maps Code
- Recursion: Slides | Code Example
- Trees: Slides
- 1/23/23 - Big O | Notes | Recording | Big-O Challenges
- 1/23/23 - Lab Review | Recording | Linear vs. Quadratic Array Example
- 1/24/23 - Linked Lists | Notes | Recording | Code Examples
- 1/25/23 - Linked Lists | Recording
- 1/25/23 - Linked Lists Lab Review | Recording | Linked List Algorithms Slides
- 1/26/23 - Linked Lists | Recording - removeHead reverse, isCyclic
- 1/27/23 - Stacks and Queues | Slides | Stack & Queue Implementation | Recording
- 1/30/23 - Stacks and Queues | Slides | Stack & Queue Implementation | Recording
- 1/31/23 - Hash Maps | Slides | Arrays as Hash Maps Code | Recording
- 2/1/23 - Recursion I - Intro + Triangle Sum | Slides | Recording
- 2/2/23 - Recursion II - countDown + reverse a string | Recording
- 1/3/23 - Hash Maps Kahoot + Recursion Review | Recording | Better Explanation of
toStr
- 1/6/23 - Intro to Trees | Slides | Recording
- 1/6/23 - Lab Review: Jest, Reading Tests,
BinaryTree
class | Recording - 1/7/23 - Trees | Recording
- 1/8/23 - isUnivalTree | Recording | Four Approaches
Resources:
- 2/13/23 - DOM API | Recording | Lecture Notes
- 2/13/23 - Lab Review | Drawing 2D Pixel Art Instructions and Code | Recording
- 2/14/23 - Events | Lecture Notes | Code | Recording
- 2/15/23 - Events/Timers | Recording | Bouncing Box Code
- 2/15/23 - Lab Review | Recording
- 2/16/23 - Forms |
- 2/17/23 - JS Events Assignment Review | Recording
- 2/21/23 - Pong I | Recording
- 2/22/23 - Pong II | Recording | Collision Demo
- 2/22/23 - Pong III | Recording | Pong Solution
Additional Resources
- 3/13/23 - Intro to HTTP | Slides | Joke Fetch Example | Lecture Recording | Cookies, Sessions, and HTTPS
- 3/14/23 - Async Code & Promises | Notes | Recording
- 3/15/23 - URLs, Query Params, and Fetch | Notes | Recording | Lab Review
- 3/16/23 - APIs & Documentation | Notes | Dog API & DOM Manipulation Example | Recording
- 3/17/23 - Async/Await | Notes | Book Search HTML & JS | Recording
- 3/20/23 - 6.1 Intro to Fetch Review | Recording
- 3/21/23 - REST APIs | Notes | Recording
- 3/22/23 - HTTP Methods, Postman, & JSON Server | JSON Server Project Link | Recording
- 3/23/23 - Review |
- Unit 6 Project Week Overview
- Unit 6 Project Week Kickoff Slides
- Unit 6 Project Proposal Example
- Project Presentation Template
- How to deploy your repo
Additional Resources:
- Github Projects Setup / Project Board | Recording
- Git Workflow Best Practices
- Bootstrap Demo Recording
- Mobile Design Inspirations | Web Design Inspiration
- 20 Web Design Principles to Follow
- 4/4/23 - Intro to Node | Notes | Node Demo Code | Recording pt. 1 + pt. 2
- 4/5/23 - Intro to HTTP Server | Notes | HTTP Server Demo Code | Recording
- 4/6/23 - Express | Notes | Demo Code | Recording
- 4/7/23 - Review | Books Full Stack Code | Recording
- 4/10/23 - MVC Project Organization | Notes | Books Code Before and After | Recording
- 4/10/23 - MVC Lab Review | Recording
- 4/12/23 - Intro to SQL | Notes | Practice & Solutions | Recording
- 4/13/23 - One:Many Relationships | Notes | Recording
- 4/14/23 - Many:Many Relationships | Notes | Recording
- 4/17/23 - Schema Design | Notes | Recording
- 4/18/23 - Knex | Notes | Demo Code | Recording
- 4/19/23 - Migrations & Seeds | Notes | Demo Code | Recording
- 4/20/23 - Knex + Express + MVC | Notes | Starting Code Repo | Final Books App w/ Knex | Recording
- 4/21/23 - Review | Building A Users DB for Snake Recording
- 4/24/23 - 7.5 Review | Recording
- 4/24/23 - LR: Using the Express+Knex Template to Build a 1:Many Users:Todos Model | Express+Knex Template | Recording
- 4/26/23 - Hashing & Salting | Notes | Demo Code | Recording
- 4/26/23 - LR: Full Stack Review | Building Out A User Login From the Express+Knex Template Recording
- 4/27/23 - Authentication vs. Authorization & Cookies | Notes | Auth Template Repo | Recording
- 4/28/23 - Cookies, Authentication & fetchLoggedInUser | Recording
- Github Teamwork Cheatsheet
- Project Week Rollout
- Express + Knex + Auth Template Repo
- Understanding the Auth Template Repo Notes
- Knex Migration & Seeds Notes | Demo Code | Recording
- Presentation Recordings!
Resources
- 5/10/23 - Intro to React | Notes | Demo Code | Recording
- 5/10/23 - LR: Intro to Vite | Notes | Recording
- 5/11/23 - Managing State | Notes | Instapets Example | Recording
- 5/12/23 - Controlled Forms | Notes | Recording
- 5/15/23 - Async & useEffect | Notes | Joke Fetch Example Repo | DummyJSON.com | Recording
- 5/16/23 - Context | Notes | Demo Final Code (using context) | Recording
- 5/17/23 - Global Context Provider Pattern | Notes | Demo App | Recording
- 5/18/23 - React Router | Notes | Demo App | Recording
- 5/19/23 - React Router II | Full Products App w/ Fetch and Context | Recording
- 5/22/23 - Express + React + Proxies | Notes | Demo-App Repo (fork me!) | Recording
- 5/23/23 - The React+Express Auth Template | The Repo | Recording
CTH Docs
- Civic Tech Hackathon Guidebook
- Civic Tech Hackathon Rubric
- What to Prioritize for Sprint 1 Demos (slides)
Sprint Planning Workshop
- Evan's Sprint Planning Workshop Slides
- MayaSnax Product Specs
- MayaSnax Scrum Board
- Workshop Recording
Coding Resources