##CS454 ####Application Development with Node.js & Angular.js
Fall 2015
Computer Science Department
California State University, Los Angeles
Lectures
Sunday
Time: 9:10am - 1:00pm
Location: Annenberg Science Complex - Room 132 (ASCB 132)
Instructor:
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:
CS120, CS203, CS320
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 - 90
C -- 60 - 80
D -- 40 - 60
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 - 09/27
- Administrative Tasks
- Installing Node.js / Setup development environment
- JavaScript Fundamentals
--- Declaration, Primitives Data Types, Objects, Arrays, Functions
Week 2 - 10/04
- Advanced JavaScript
- Best Practices/Coding Standards --- Scope, Context, Closure, Object Prototype, Callbacks, Event Loop and Garbage Collections
Week 3 - 10/11
- Introduction to APIs
- Node Fundamentals (Starting with Command Line App)
--- Writing Interactive CMD Apps, Running Node, Node Modules
Week 4 - 10/18
- Angular Fundamentals
--- Data Binding, Directives, Controllers, Factories - Introduction to Jade
--- Rendering Data with Angular & Jade
Week 5 - 10/25
- Node HTTP Server and Angular
--- Creating Node Server, Passing Data to Frontend.
Week 6 - 11/01
- Midterm Exam Presentations
Week 7 - 11/08
- Node and Angular Application - Part 1
--- Deep Dive into APIs
--- Application Structure, Routes, Requests and Responses
Week 8 - 11/15
- Node and Angular Application - Part 2
--- Handling Form Submission, Error Handling, Using Angular Libraries
Week 9 - 11/22
- Introduction to Unit Testing
--- Intro to Running and Writing Tests
Week 10 - 11/29
- NO CLASS
--- Thanksgiving Holiday Break
Week 11 - 12/06
- Final Exam Presentations
###Online Resources
Javascript Text Editors / IDE
Sublime Text 3
http://www.sublimetext.com/3
Atom
https://atom.io/
Javascript
Mozilla Developer Network
https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript
Node.js
Node.js
http://nodejs.org/
Angular.js
Angular
https://angularjs.org/