- Course Level: Code 301
- Code 102
- Code 201
Students with previous relevant or equivalent experience can test out of this requirement in their application.
In this intensive course, you will study the common core of software development, including the MVC pattern, object-oriented and functional programming, and computer science fundamentals such as basic data structures and algorithms. Come learn how to create and deploy web apps in the “MERN” stack with Mongo, Express, React, and Node.js, with the help of third-party APIs and libraries from around the web.
Students will learn to write clean, well-tested, JavaScript and React code, integrate with remote APIs, and interface with MongoDB using industry best practices.
Upon satisfactory completion of this course, a student should be able to:
- Web Request-Response Cycle
- Stateful DOM Management with React Components
- Express.JS
- JSON and 3rd-party APIs
- Persistence with MongoDB
- Styling Libraries
- Server-Side Routing
- Services and RESTful APIs
- Functional Programming
- AJAX and Asynchronous Programming
- MVC Architecture
- Authentication
- Deployment with cloud services like Heroku
- Strings
- Arrays
- Objects
- Functional Programming
- CSS Frameworks
- Intermediate JavaScript
- React
- Unix and the Command Prompt
- Git and Github
- A Text Editor
- Chrome Dev Tools
- HTTP with Postman
- MongoDB and Mongoose
- Auth0
- Trello Project Management
- Collaboratively design and create web applications from scratch using MVC patterns, built with professional-grade HTML, CSS, and JavaScript using the React JavaScript library
- Work with string, array, and object data structures and algorithms to solve code challenges with pure JavaScript programming
- Build dynamic front-end and back-end applications deployed to cloud platforms
- Explain the fundamentals of how the World Wide Web works, over the internet
- Utilize dependency management techniques to build with third-party libraries such as ExpressJS and React-Bootstrap
- Persist data in a NoSQL database, sourced from third-party APIs or user-generated content
- Authenticate users using a third-party OAuth library.
- Follow agile software development practices during week-long sprints, including:
- pair-programming
- stand-ups
- daily retrospectives
- project management with Kanban boards
- regular refactoring
- and working in a shared codebase
Class # | Topic | Lab |
---|---|---|
01 | React and Component-Based Architecture | Initialize React Application |
02 | React State and Props | Create gallery of images from common state |
03 | Functions as Props | Manipulate state from child component via passed function |
04 | React and Forms | Filtering state based on form inputs, events |
05 | Conditional Rendering, Routing | Portfolio - 3rd party application modifications |
Class # | Topic | Lab |
---|---|---|
06 | Asynchronous Code and Third Party APIs | Retrieve remote data from React |
07 | Express Servers | Express API server with mock data |
08 | APIs | Retrieve and repurpose remote API data |
09 | Modularization, Refactoring | Modularize Express API server |
10 | Persistence | Implement in-memory cache for non-volatile API data |
Class # | Topic | Lab |
---|---|---|
11 | Mongo, Mongoose and Data Modeling | Implement READ (CRUD) with Mongo and Express |
12 | Creating and Deleting resources | Implement Create and Delete (CRUD) in Full Stack App |
13 | Updating Resources | Implement Update (CRUD) in Full Stack App |
14 | Diversity, Equity, Inclusion in Tech | Final Exam |
15 | Authentication | Add OAuth to Full Stack App with React |
Class # | Deliverables |
---|---|
16 | Wireframes, User Stories, Architecture Plan, DevOps, Documentation, Agreements |
17 | Phase 1 |
18 | MVP |
19 | Final Polish, Presentation Practice |
20 | Live Project Presentations |