Skip to content

codefellows/seattle-code-301d85

Repository files navigation

Code 301: Intermediate Software Development - Core Syllabus

Course Information

  • Course Level: Code 301

Course Prerequisites

  • Code 102
  • Code 201

Students with previous relevant or equivalent experience can test out of this requirement in their application.

Course Description

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.

Program Learning Outcomes

Students will learn to write clean, well-tested, JavaScript and React code, integrate with remote APIs, and interface with MongoDB using industry best practices.

Student Learning Outcomes

Upon satisfactory completion of this course, a student should be able to:

Describe and Define

Concepts

  • 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

Daily Practice in Data Structures

  • Strings
  • Arrays
  • Objects
  • Functional Programming

Languages

  • CSS Frameworks
  • Intermediate JavaScript
  • React

Environments and Tools

  • Unix and the Command Prompt
  • Git and Github
  • A Text Editor
  • Chrome Dev Tools
  • HTTP with Postman
  • MongoDB and Mongoose
  • Auth0
  • Trello Project Management

Execute

  • 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

Course Schedule

Module 1

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

Module 2

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

Module 3

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

Module 4 - Final Project

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