##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/