Prowtonz / CS4220

Current Trends in Web Development using Node.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CS 4220 Syllabus

Current Trends in Web Development

Application Design and Development with Node.js

Spring 2020
Computer Science Department
California State University, Los Angeles

Lectures
Monday
Time: 6:00pm - 8:45pm
Location: FA 219

Office Hours
Sunday
Time: 2:00pm - 4:00pm (Must be schedule in advance)

Instructor:
Professor Cydney Auman
Email: cydneyauman@gmail.com


Course Description:
This course will cover JavaScript and Node.js. It will begin with a discussion on the fundamentals of JavaScript, including syntax, functions, classes, callbacks/promises, async await, the eventloop, and more. Then the class will jump into teaching the Node.js platform through command line applications and then move onto building a Node.js Server. This class will also discuss interacting with APIs via HTTP requests to execute operations. The course will have several homework assignments and quizzes.

Course Structure
This course is to be conducted in face-to-face lectures and labs. All lecture materials including the syllabus, slides and examples will be available on the class github website. All homework/lab assignments and/or quizzes will be submitted via CSNS. This course also offers a Slack channel to facilitate communication throughout the course.

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

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

Grading Policy:
Homework, Lab and Quizzes 50%
Midterm 25%
Final 25%

A -- 90 - 100
B -- 80 - 89
C -- 60 - 79
D -- 40 - 59
F -- below 40
grades use a plus/minus scale (for example a final grade of 90 is an A- and a final grade of 89 is a B+)

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

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

NO late Midterm or Finals. No late Quizzes. If a student is not in attendance during the Midterm or Final or Quiz they will receive a 0 on that exam.


SLACK

Slack is an online collaboration hub that can replace email to help people work together seamlessly. Throughout the course you can reach me on Slack anytime, post to the public CS4220 channel and even get updates about what course materials have been published to this github repo. It is much like Google Hangouts and Discord.

CS4220 Slack Channel Sign Up


Schedule:

Week 1 - 01/27

  • Administrative Tasks
  • Installing Node.js
  • Setup development environment
  • Introduction to Javascript

Week 2 - 02/03

  • Javascript
  • Working with Arrays, Objects
  • Functions

Week 3 - 02/10

  • Javascript
  • Template Literals
  • Higher Order Functions and Arrays
  • Objects with Destructuring

Week 4 - 02/17

  • Javascript
  • Classes and Inheritance
  • Constructors
  • Static Methods

Week 5 - 02/24

  • Timers (setTimeout/setInterval)
  • Callbacks and Promises
  • Async/Await
  • Understanding the Event Loop

Week 6 - 03/02

  • Introduction to Node.js
  • Reviewing the Event Loop
  • Working with File System and HTTP

Week 7 - 03/09

  • Node.js
  • Working with Node Modules
  • Introduction into Command Line Applications

Week 8 - 03/16

  • Node.js
  • Introduction to APIs
  • Building a Custom Node Module
  • CLIs continued
  • Extended Lab for Midterm questions

Week 9 - 03/23

  • MIDTERM DUE

Week 10 - 03/30

  • SPRING BREAK

Week 11 - 04/06

  • Midterm Review and Demo
  • Expanding API understanding and interactions
  • Custom Node Module continued
  • CLIs continued

Week 12 - 04/13

  • Introduction to Node.js Server
  • Using Express.js to build a Server
  • Making Requests to the Server

Week 13 - 04/20

  • Introduction to Vue.js
  • Understanding Vue Methods and Data
  • Creating a Vue App

Week 14 - 04/27

  • Pairing Node.js with Vue.js
  • Passing data from the Server Side to Client Side
  • Introduction and Discussion on the Final Project

Week 15 - 05/03

  • Working with Vue.js components
  • Contunation on pairing Node.js with Vue.js
  • Contunation on discussion on the Final Project

Week 16 - 05/10

  • CS4220 Final Q&A

FINALS WEEK FINAL DUE - 05/12 at 11:59pm


HELPFUL STUDENT RESOURCES

*Technical Resources
Information on CSULA technical support resources for students:
(http://www.calstatela.edu/cetl/technical-support-resources)

Student Support Services
Information on CSULA student support resources for students:
(http://www.calstatela.edu/cetl/student-support-resources)

Academic Support Services
Information on CSULA academic support resources for students:
(http://www.calstatela.edu/cetl/academic-support-resources)

Student Handbook
ECST Student Handbook:
(http://www.calstatela.edu/ecst/cs/student-handbook)


COURSE & UNIVERSITY POLICIES

Academic Honesty/Student Conduct All work you submit must be your own scholarly and creative efforts. Any act of using ideas, words, or work of another person or persons as if they were one’s own is considered as cheating. Cheating on any assignment or exam will be taken seriously. Please visit the Cal State LA, Judicial Affairs Office website where you will find examples of what constitutes cheating and plagiarism so that you become familiar with the guidelines, and consequences of not following them.

Student Handbook
Information on student rights and responsibilities, academic honesty, standards of conduct, etc., can be found in Schedule of Classes for the current quarter visit the Cal State LA Schedule of Classes Information under Policies and Procedures.

Dropping and Adding
Students are responsible for understanding the policies and procedures about add/drops, academic renewal, etc. Students should be aware of the current deadlines and penalties for adding and dropping classes by visiting the GET home page. (Registrar news and information)

Americans with Disabilities Act (ADA)
Reasonable accommodation will be provided to any student who is registered with the Office of Students with Disabilities and requests needed accommodation. For more information visit the Office for Students with Disabilities home page.


Online Resources

Javascript Text Editors / IDE

[VS Code] (https://code.visualstudio.com/)
[Sublime Text 3] (http://www.sublimetext.com/3)

Javascript
Mozilla Developer Network
Introduction Into Javascript

ES6
[Exploring ES6] (https://exploringjs.com/es6/index.html)
[Understanding ES6] (https://leanpub.com/understandinges6/read#leanpub-auto-introduction)

Node
[Node.js] (https://nodejs.org)

About

Current Trends in Web Development using Node.js


Languages

Language:JavaScript 86.4%Language:HTML 13.6%