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 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.
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
*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)
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.
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)