- Orientation
- Mod 0 - Command Line, Git, Github
- Mod 1 - Core JavaScript
- Mod 2 - Core: HTML, CSS, and DOM Manipulation
- Mod 3 - Core: Asynchronous JavaScript
- Mod 4 - Core: Project Week
- Mod 5 - Object Oriented Programming
- Mod 6 - Data Structures & Algorithms
- Mod 7 - React
- Mod 8 - Backend
- Civic Tech Hackathon
- Capstone
Computer Setup Instructions
- Mac Setup: https://github.com/The-Marcy-Lab-School/local-environment-setup-mac
- Windows/WSL Setup: https://github.com/The-Marcy-Lab-School/local-environment-setup-wsl
- Github Setup: https://github.com/The-Marcy-Lab-School/github-setup
Tips & Tricks to Success at Marcy
- Ben's Teacher User Manual
- Technical Curriculum Overview - F23
- What is Computational Thinking?
- How to Boost Your Confidence as a New Programmer
- How to use Notion for Note Taking
- The Surprising Truth About Note-taking During Lectures
Important Links to Bookmark
- Canvas: https://canvas.instructure.com/
- Github: https://github.com/
- FreeCodeCamp: https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures
- This repo: https://github.com/The-Marcy-Lab-School/2023-Fall-Curriculum
Date | Lesson | Recording | Resources |
---|---|---|---|
10/2/23 | 0.0.0 — Intro to Command Line Interfaces | Lecture Recording | Slides |
10/2/23 | Lab Review: Command Line Interfaces | Recording | |
10/3/23 | 0.0.1 — Intro to Git & Github | Recording | Slides |
10/4/23 | 0.0.2 — Collaborative Git | Lecture Recording | Slides |
10/4/23 | Lab Review | Lab Review Recording | |
10/5/23 | 0.0.3 — Review | Part 1 Recording, Part 2 Recording | Git Workflow Notes |
Learning Resources:
Date | Lesson | Recording | Resources |
---|---|---|---|
Week 1 | |||
10/10/23 | 1.0.0 — Intro to Node | Recording | Slides |
10/11/23 | 1.0.1 — Variables, Data Types, Functions, and Strings | Recording | Slides |
10/11/23 | 1.0.2 — Strings & Control Flow | Recording | Slides |
10/12/23 | 1.0.3 — Control Flow Continued & Problem Solving | Recording | Slides |
Week 2 | |||
10/16/23 | 1.1.0 — Loops | Recording | Slides , Code |
10/17/23 | 1.1.1 — Arrays | Recording | Slides , Code |
10/18/23 | 1.1.2 — Objects | Recording | Slides , Code |
10/19/23 | Review | Recording | Code |
Week 3 | |||
10/23/23 | 1.2.0 — Callbacks | Recording | Slides, Code |
10/23/23 | Lab Review (Sorting) | Recording | Code |
10/24/23 | 1.2.1 — Array Higher Order Methods | Recording | Code |
10/25/23 | 1.2.2 — Regex | Recording | Slides |
10/25/23 | Lab Review (Array HOFs) | Recording | Code |
10/26/23 | 1.2.3 — Code Style | Recording | Slides, Code |
Week 4 | |||
10/30/23 | Review of Week 1 | Recording | |
10/30/23 | Lab Review: Building a CLI App | Recording | |
10/31/23 | Review of Week 2 | Recording | |
11/1/23 | Review of Week 3 | Code | |
11/2/23 | Mod 1 Assessment |
Learning Resources
- Eloquent JavaScript (Online Textbook)
- Codecademy: Intro to JavaScript Course
- She Codes JavaScript Cheatsheet
- Mod 1 - All Skills List
- Regex Cheatsheet
- JavaScripts Basics Cheatsheet
Labs
Labs are mini-projects that will give you an opportunity to put your learnings to practice by building an application! Begin labs only once you've completed all assignments for the week. These should be completed in order.
Date | Lesson | Recording | Resources |
---|---|---|---|
Week 1 | |||
11/6/23 | 2.0.0 — Intro to HTML | Recording | Repo |
11/7/23 | 2.0.1 — Intro to CSS | Recording | Repo |
11/8/23 | 2.0.2 — CSS Positioning | Recording | Repo |
11/9/23 | 2.0.3 — Accessibility & HTML Best Practices | Repo | |
Week 2 | |||
11/13/23 | 2.1.0 — Flexbox | Recording | Repo |
11/13/23 | Lab Review | Recording | |
11/14/23 | 2.1.1 — Grid & Media Queries | Recording | Repo |
11/13/23 | 2.1.2 — Putting it All Together (flexbox) | Recording | Repo |
11/13/23 | Lab Review: Putting it All Together (grid + media queries) | Recording | Repo |
11/13/23 | 2.1.3 — Wireframing and Design | Slides, Assets | |
Week 3 | |||
11/28/23 | 2.2.0 — Intro to DOM | Recording | Repo |
11/29/23 | 2.2.1 — JS Events | Recording 1, Recording 2 | Repo |
11/30/23 | 2.2.2 — Forms | Recording | Repo |
Project Week | |||
12/4/23 | 2.3.0 — ESModules & Vite | Recording | Repo |
12/4/23 | Lab Review: Todo App | Recording | |
12/5/23 | 2.3.1 — LocalStorage | Recording | Repo |
12/6/23 | 2.3.0 — Todo App Data Layers | ||
12/7/23 | 2.3.3 — Vite & Github Pages | Recording | Instructions |
12/13/23 | 2.4.0 — Project Review | Repo |
Learning Resources
- Learn: Intro to Accessibility Video
- Learn: Flexbox the easy way
- Learn: Grid the easy way
- Practice: CSS Diner
- Practice: Flexbox Froggy
- Practice: CSS Grid Garden
- Tutorial: Building a Responsive Hamburger Nav Menu (flexbox and media queries)
- Codecademy: Build Interactive Websites Course
- Codecademy: Fullstack Engineer Career Path
- DOM Cheatsheet
Labs
Project Week Solo Project Resources
- Palette Picker
- Chartjs Compare Movies
- Getting Started With Vite Instructions | Recording
- Deploying with Github Pages Instructions | Recording
Date | Lesson | Recording | Resources |
---|---|---|---|
Week 1 | |||
1/7/24 | 3.0.0 — Intro to Promises | Recording | Repo |
1/7/24 | Lab Review: Promises | Recording | |
1/8/24 | 3.0.0 — Intro to Fetch | Recording | Repo |
1/9/24 | 3.0.0 — Building a Pokemon API Search Form | Recording | Repo |
1/10/24 | 3.0.0 — Async/Await | Recording | Repo |
Week 2 | |||
1/16/24 | DOM Review | Recording | |
1/17/24 | Async Review | Recording | |
1/17/24 | Lab Review: Fetch & Render | Recording |
Learning Resources
Date | Lesson | Recording | Resources |
---|---|---|---|
1/22/24 | Mod 3 Assessment Review | Recording | |
1/22/24 | Project Week Kickoff | Recording |
Learning Resources
- Project Week Overview
- Project Proposal Template
- Project Proposal Example
- APIs List
- Art Viewer Github Organization (Deployed Version 1, V2, V3, V4)
- Scrum Board Example
- Project Presentation Template
Date | Lesson | Recording | Resources |
---|---|---|---|
Week 1 | |||
1/29/24 | 5.0.0 — Encapsulation & Closures | Recording | Repo |
1/30/24 | 5.0.1 — Class Basics | Recording | Repo |
1/31/24 | 5.0.2 — Private Properties, Static Methods | Recording | Repo |
2/1/24 | 5.0.3 — Review | Recording | Repo |
Week 2 | |||
2/5/24 | 5.1.0 — Has Many/Belongs To | Repo | Recording |
2/5/24 | Lab review | Recording | |
2/6/24 | 5.1.1 — Implementing Has Many/Belongs To | Repo | |
2/8/24 | 5.1.2 — Inheritance & Polymorphism | Repo | Recording |
Week 3 | |||
2/12/24 | Review I | Recording | Code |
2/12/24 | Review II | Review 2 Recording | Code |
2/15/24 | Assessment |
Learning 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
Date | Lesson | Recording | Resources |
---|---|---|---|
Week 1 | |||
2/20/24 | 6.0.0 — Nodes and Linked Lists | Recording | Repo |
2/21/24 | 6.0.1 — LinkedLists Continued | Repo | |
2/22/24 | 6.0.2 — Stacks & Queues | Repo | |
Week 2 | |||
2/26/24 | 6.1.0 — Recursion | Recording | Slides |
2/27/24 | 6.1.1 — Trees | Slides | |
2/28/24 | 6.1.2 — Tree Traversal | Slides, LinkedList Recursive Traversal Code, Tree Traversal Code |
Learning Resources
Date | Lesson | Recording | Resources |
---|---|---|---|
Week 1 | |||
3/4/24 | 7.0.0 — Intro to React | Recording | Repo |
3/4/24 | Lab Review | Recording | Repo |
3/5/24 | 7.0.1 — useState & forms | Recording | Repo |
3/6/24 | 7.0.2 — fetching & useEffect | Recording | Repo |
3/6/24 | Lab Review | useEffect + GIPHY API recording | |
3/7/24 | 7.0.3 — Review + JSON Server + Flashcard App | Recording | Repo |
Week 2 | |||
3/11/24 | 7.1.0 — React Context | Recording | Repo |
3/12/24 | 7.1.0 — Global Context Provider Pattern | Recording | Repo |
3/13/24 | 7.1.0 — React Router | Recording | Repo |
3/14/24 | 7.1.0 — Putting It All Together Review | Recording | Repo |
Learning Resources
- https://react.dev/learn
- https://react-v8.holt.courses/
- https://github.com/btholt/complete-intro-to-react-v8
- React Cheatsheet
Project Week Resources
Date | Lesson | Recording | Resources |
---|---|---|---|
Week 1 | |||
4/1/24 | 8.0.0 — Intro to Express | Recording | Repo |
4/2/24 | 8.0.1 — Express Middleware (Static Server) | Repo | |
4/3/24 | 8.0.2 — Server-Side API Requests | Recording | Repo |
4/4/24 | Review | ||
Week 2 | |||
4/8/24 | 8.1.0 — Data Model + API | Recording (part 1), Recording (part2) | Repo, Review Notes + Diagram |
4/9/24 | 8.1.0 — Data Model + API Continued | Recording | |
410/24 | 8.1.2 — Frontend/Backend App Build Review | Recording | Final Code |
4/11/24 | 8.1.2 — MVC: Creating a Resource | Recording | Final Code |
Week 3 | |||
4/15/24 | 8.2.0: Intro to Databases, Postgres, and SQL | Recording | Repo |
4/15/24 | Lab Review: SQL Practice | Recording | Practice Code |
4/16/24 | 8.2.1: Relationships Between Tables | Recording | Repo |
4/17/24 | 8.2.2: Knex | Recording | Repo |
4/18/24 | SQL + Knex Review | Recording | Same repo as above |
Week 4 | |||
4/22/24 | 8.3.0 — Adding a Database To The Fellows Model | Recording | Repo |
4/22/24 | 8.3.0 — Lab Review: Creating A Posts Model + Controllers | Recording | Repo |
4/23/24 | 8.3.1 — Building A Fullstack App (frontend) | Recording | Repo |
4/24/24 | 8.3.2 — Migrations & Seeds | Recording | Repo |
4/24/24 | Lab Review Migrations & Seeds in the React Express Auth Template | Recording | React Express Auth Template Repo |
4/25/24 | 8.3.3 — Database Schema Design + ERDs | Recording | Repo |
Week 5 | |||
4/29/24 | Hashing & Salting with Bcrypt | Recording | Repo |
4/29/24 | Lab Review: React Express Auth Backend Routing | Recording | Repo |
4/30/24 | User Login | Recording | Repo |
4/29/24 | Cookies & Authorization | Recording | Repo |
4/29/24 | Cookies & Authorization Continued + /api/me |
Recording | Repo |
Learning Resources
- Backend Cheatsheet
- Express:
- Deployment:
- Databases:
- Auth:
- General Resources
- Technical Resources
- Sprint Kickoff Slides:
- Sprint Planning Workshop w/ Evan Marcantonio
- Workshops