/CS4220

Application Development with Node.js & Angular.js

Primary LanguageJavaScript

##CS 4220 ####Current Trends in Web Design and Development ####Application Development with Node.js & Angular.js

Spring 2017
Computer Science Department
California State University, Los Angeles

Lectures
Sunday
Time: 4:00pm - 6:30pm
Location: King Hall - Lecture Hall 2

Instructors:
Cydney Auman
Email: cydneyauman@gmail.com

Albert Cervantes
Email: acervan5@calstatela.edu

Course Description:
This course will cover Node.js for the server-side and Angular.js for the frontend user interface. It will begin with a discussion on the fundamentals, including syntax, scope, the eventloop, callbacks and more. Then the class will jump right into teaching the Node.js platform through handling HTTP methods GET, POST, PUT and DELETE to execute operations, utilizing open-source modules and covering the Angular MVVM framework. The course will have several homework assignments and a project where students will build a RESTful web service application using Node.js and Angular.js.

Recommended Prerequisites:
CS1220, CS2011, CS3220
Students are expected to have strong programming skills and working knowledge of HTML.

Textbook
Eloquent Javascript - required http://eloquentjavascript.net/

Grading Policy:
Homework/Exercises 25%, Project 25%, Midterm 20%, Final 30%

A -- 90 - 100
B -- 80 - 89
C -- 60 - 79
D -- 40 - 59
F -- below 40
CSULA grades on a plus/minus scale

Homework Submission
Please submit all assignments via CSNS - http://csns.calstatela.edu/

Late Policy
Homework and Project assignments may be submitted up to 24 hours late with a 15 point late penalty deduction. After the 24 hour period, no additional submissions will be accepted and a grade of 0 will be given for the assignment.

NO late Midterm or Final Presentations and Code will be accepted. If a student is not in attendance during the Midterm or Final they will receive a 0 on that exam.

Academic Integrity
Cheating will not be tolerated. Cheating on any assignment or project will be taken seriously. All parties involved will receive a grade of F for the assignment. Additionally, all parties can receive an F for the course and be reported to the Academic Senate


###Schedule:

Week 1 - 01/29

  • Administrative Tasks
  • Installing Node.js / Setup development environment

- JavaScript Fundamentals
--- ES5 versus ES6 Syntax
--- Declaration, Objects, Arrays, Arrow Functions

Week 2 - 02/05

  • Intermediate JavaScript
    --- JS API, Destructuring, Defaults, Template Literals, Classes

Week 3 - 02/12

  • Advanced JavaScript
    --- Promises, Callbacks, Event Loop, Timers

Week 4 - 02/19

  • Node Fundamentals (Starting with Command Line App)
    --- Running Node, Node Modules, Writing Interactive CMD Apps

Week 5 - 02/26

  • Deeper Dive into Node Modules
    --- Common Node Modules
    --- Authoring a Node Module

Week 6 - 03/05

  • Angular Fundamentals
    --- Data binding, Modules, Controllers, Scopes, Views

Week 7 - 03/12

  • Angular Intermediate
    --- Filters, Directives, Multiple Views, Routing, Services

Week 8 - 03/19

  • MIDTERM

Week 9 - 03/26

  • Node HTTP Server and Angular
    --- Intro to APIs
    --- Creating Node Server, Passing Data to Frontend.

Week 10 - 04/02

  • NO CLASS
    --- CSULA Spring Break

Week 11 - 04/09

  • Node and Angular Application - Part 1

Week 12 - 04/16

  • Node and Angular Application - Part 2

Week 13 - 04/23

  • Node Testing

Week 14 - 05/07

  • Angular Testing

Week 15 - 05/14

  • FINALS

###Online Resources

Javascript Text Editors / IDE

Sublime Text 3
http://www.sublimetext.com/3

Atom
https://atom.io/

Javascript

Mozilla Developer Network
Introduction Into Javascript

ES6
[JS Next] (http://chimera.labs.oreilly.com/books/1234000001623/ch01.html)
[Understanding ES6] (https://leanpub.com/understandinges6/read#leanpub-auto-introduction)

Node.js

Node.js
http://nodejs.org/

Angular.js

Angular
https://angularjs.org/