Skip to content

codefellows/seattle-code-301d106

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 MongoDB, 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
  • Application deployment to cloud services

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
  • VS Code Text Editor
  • Browser Dev Tools
  • HTTP API Clients
  • MongoDB NoSQL Database
  • Auth0 Authentication
  • 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 Challenges
01 React and Component-Based Architecture Self Study: Array forEach
02 React State and Props Self Study: Array map
03 Functions as Props Self Study: Array filter
04 React and Forms Self study: Array sort
05 Conditional Rendering, Routing Self study: Array reduce

Module 2

Class # Topic Challenges
06 Asynchronous Code and Third Party APIs Value vs Reference
07 Express Servers Split, join, slice, splice
08 APIs Regex
09 Modularization, Refactoring Self study: Object keys, values, entries
10 Persistence 2d Arrays

Module 3

Class # Topic Challenges
11 MongoDB, Mongoose and Data Modeling Method Chaining
12 Creating and Deleting resources Regex 2
13 Updating Resources includes, every, substring, chartAt
14 Diversity, Equity, Inclusion in Tech None
15 Authentication All self-study

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