s2t2 / 6907.12-Fall-2015

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

George Washignton University - Department of Computer Science

CSCI 6907.12 - Full Stack Application Engineering

General Information

  • Class Time: Thursdays 3:30 pm - 6:00 pm,
  • Class Location: Tomkins Hall of Engineering 411

Instructor Information

  • Name: Timothy Kim
  • Email: timothyk at gwu.edu
  • Office Hours: By appointment only

Course Details

Description

Introduce the components and process involved in developing a full stack web application: Data modeling, Server Side Business Logic, Service Oriented Architecture, Client-side Web Application, Mobile App Development. Also touches upon User Management, Security and Other Network Related Concepts.

Objective

By the end of the course, students will be able to:

  1. take a problem and design a full stack web application architecture;
  2. demonstrate andunderstand service-oriented architecture;
  3. implement a client side web and/or native mobile app;
  4. understand security and operational implications that comes with full-stack application.

Website

Textbook

There are no required textbooks for this class. However, through out the cource, there will be list of reference materials for you to read.

Grading

  • 30% - Project Progress Report
  • 50% - Final Project
  • 20% - Peer Evaluation

Group Project

To achieve the objectives above, you will form a group of 4 or 5 students and create a full stack web application. In the middle of the semester, you'll provide a progress report on you project. And at the end of the semester, you will give a brief presentation on your final project product. Completing your project as a group will grant you at most 80% of your final grade. Rest of 20% will come from peer evaluation. More detailed description of the project will be given ot you through out the course.

Schedule

Schedules are subject to change

  • Week 1 (09/03/2015) - Introduction/Group Formation
  • Week 2 (09/10/2015) - No Class
  • Week 3 (09/17/2015) - Designing Overall Architecture
  • Week 4 (09/24/2015) - Core Business Logic (Internal API)
  • Week 5 (10/01/2015) - Core Business Logic (Internal API)
  • Week 6 (10/08/2015) - Data Layer (Persistence)
  • Week 7 (10/15/2015) - Web Interface (External API)
  • Week 8 (10/22/2015) - Catch up lecture / Project Progress Report due
  • Week 9 (10/29/2015) - Micro-service architecture
  • Week 10 (11/05/2015) - Client App (Web/Mobile)
  • Week 11 (11/12/2015) - Client App (Web/Mobile)
  • Week 12 (11/19/2015) - User Management and Security
  • Week 13 (11/26/2015) - Project workshop
  • Week 14 (12/03/2015) - Final Project Presentation

Course Outline

Full-stack application Architectural Overview

Bird-eye view of example full-stack application, Service oriented architecture, Sample project idea

Core Business Logic (Internal API)

Translating problem space into implementable design, API driven design, Project Idea Sharing

Data Layer (Persistence)

Different data persistence methods (Relational Database, NoSQL), Interfacing with Core (DB drivers and ORM)

Web Interface (External API)

Creating sensible web API, RESTful API, SOAP, Basic HTTP overview

Client App (Web/Mobile)

Creating JavaScript app on web (CSS, HTML), Pro and Con of web/native app,

User Management and Security

Adding user management layer, Security concerns at every component of the application stack

Academic Integrity

All graded work must be completed in accordance with GW Code of Academic Integrity and CS Department Policy on Academic Integrity. http://www.cs.seas.gwu.edu/academics/integrity/cs_integrity

About