Beruflich Dokumente
Kultur Dokumente
Subject to Change
(Ver. 2017.08.24)
Projects
In-class Projects: During class meetings, we will work on individual programming projects, which we
may not be able to complete in class. It is your responsibility to finish these outside of class to complete
your learning.
Team Project: Your primary deliverable for this semester is a team project that you will propose,
implement, deploy, and demo, in a team of 3-4, at the end of the semester. You will be expected to
make weekly progress and to meet with and report your progress to your assigned project mentor. In the
schedule below you will also find that you will be expected to give 2 team presentations and you will
have 2 code reviews with your project mentor over the course of the semester. All team members are
expected to make contributions.
Homework
This course is primarily project based, culminating with a demo at the end of the semester. Homework
primarily consists of weekly readings and completing projects started in-class the week before. Other homework
assignments may be assigned on occasion and it is important that it is submitted on time.
Full-Stack Topics: The framework we will use in this class is the Node.js+Express.js Framework. The topics
covered will be:
Client-side vs Server-side rendered views/templates
APIs / Microservices
MVC (Model-View-Controller) pattern
Routing
ORM (Object Relational Mapper) / Data Mapper pattern
Relational Databases, Basic SQL, and NoSQL Databases
Testing (Unit, Integration, TDD, BDD) / Continuous Integration
Security
Application Deployment
In-class Projects:
Make a responsive Cookie Store webpage
Create a homepage for yourself
Homework:
Form teams of 3
Prepare your Team Project Proposal
In-class Projects:
Single-component React app: colorpicker
Facebook Tic-Tac-Toe Tutorial
(09/12 09/15) Week 3
Lecture:
Parts of a URL (IPs, TLDs, DNS, Ports)
Understanding HTTP Request Response
o Using CURL and Postman
React
o Multiple Components
o Form Fields
Using fetch(...) and Promises
In-class Projects:
Build Zip/City lookup React app
Build Timer and Countdown Clock
Homework:
Submit your team name, members, and proposal
In-class Projects:
Build the Zip/City lookup API service
Build the CS function API service
o Implement a service to compute: Fibonacci sequence, Palindrome checker, etc
o Working React frontend will be provided
Homework:
Send your teams project Github link
(09/26 09/29) Week 5
Lecture:
Relational Databases / Data Modeling
o Entity-Relationship modeling
o Data Normalization
o Codd Rules
ORMs / Sequelize.js
o CRUD methods
Structuring your project
o The Model-View-Controller (MVC) Pattern
In-class Project:
Data modeling exercises
Build the models for a microblog app
In-class Project:
Implement Authentication on frontend and backend
In-class:
Teams work on their projects
(10/17 10/20) Week 8
Lecture:
In-depth Sequelize.js
o Data validation
o Data Seeds
In-depth Testing
o Unit, Integration, End-to-End
In-class:
First Code Review (by project mentor)
Teams implement tests on their projects
In-class
Teams work on their projects
In-class:
Teams work on their projects
In-class:
Second Code Review (by project mentor)
Teams work on their projects