Class Details
- Location: Hybrid
- Time: M,W 5:00 - 7:05 pm
- Dates: April 13 - June 19, 2020
- Instructor: Brenden West
- Email: [email protected]
- Credits: 5
- ITC Tutoring Slack - https://tinyurl.com/saea74l
JavaScript is now widely used for full-stack web development, with Node.js allowing use of the same language for client & server applications. Front-end frameworks like React, Angular, and D3 are enabling new and exciting applications in the browser.
This course will cover modern JavaScript technologies, including server-side scripting, automated testing, single-page web applications with MVC structure, package management, and JSON data storage. By quarter's end, students have built a fully-functional client-server application they can showcase for job applications.
Requirements
Students should have experience with basic web development skills, via WEB 150 or comparable experience, including:
- HTML and CSS
- Core JavaScript language syntax
- HTTP request/response methods
- JQuery selectors & methods
Students will perform extensive hands-on development throughout the course and will require;
- A computer onto which they can install software,
- A working internet connection
- A syntax-highlighting editor like Brackets or Sublime Text,
- A github.com account
- A heroku.com account (free tier)
Note - ` AWS Cloud9 <https://aws.amazon.com/cloud9/>`_ provides free online development tools you can access from any computer via web browser.
This course will use Web Development with MongoDB and Node, 3rd Ed. as a textbook, and also supplementary online materials as needed.
Students can access this textbook free online through https://libguides.seattlecentral.edu/az.php?a=o. First-time users should follow these steps:
- Select “O’Reilly for Education”
- In the ‘Select institution’ drop-down menu, select “not listed”
- Create new account using @seattlecolleges.edu email address.
Course instruction will be fully online with Zoom conference for scheduled class times.
Each week, we'll cover a new topic, building on the previous week's work. In general we will cover new material in Monday lectures and exercise what we learned in Wednesday lab. We will cover the following topics, although the order and precise list is subject to revision:
- Node.js overview & installation, core modules, NPM
- Express application structures - routes, views, and static files
- Advanced JS concepts - ES6, higher-order functions, asynchronous operations
- Unit testing
- Templating with Handlebars
- REST APIs & JSON
- Data storage & retrieval with MongoDB
- Single-page-application (SPA) design with React
- Deploying to a public web server
Each Monday, you'll be given an assignment to test what you've picked up on that week's topic. Assignments are due by the start of class on the following Monday. These assignments allow me to evaluate your progress and build on each other toward a completed final project.
As such, most of your grade will come from turning in assignments on time and showing that you tried to solve it using your own original work. Your homework should be completely your own: plagiarism and late submissions may incur a grade penalty.
Homework assignments should be submitted in Canvas as links to your github.com repository. You should use a single repository and branch throughout the course, with clear a 'commit' message for each assignment completion.
90% of your grade will come from homework and 10% from quizzes.
Reference
- https://www.freecodecamp.org/news/the-complete-javascript-handbook-f26b2c71719c/
- https://www.tutorialspoint.com/http/index.htm
- http://www.w3schools.com/js
- https://www.w3schools.com/nodejs/default.asp
- http://www.tutorialspoint.com/nodejs/
- https://docs.npmjs.com/
- https://www.tutorialspoint.com/javascript/
- http://www.nodebeginner.org/
- https://facebook.github.io/react/
- https://developer.mozilla.org/en-US/docs/Web/JavaScript
Reading (optional)
- JavaScript: The Good Parts (Douglass Crockford)
- http://eloquentjavascript.net/
Note - Seattle Public Library card-holders have free access to the following technical reference:
- Lynda.com tutorial videos
- Safara Tech Library - https://ezproxy.spl.org/login?url=http://proquestcombo.safaribooksonline.com/?uicode=spl
Development Tools
ADA Accessibility
Students with documented disabilities requesting class accommodations, requiring special arrangements in case of building evacuation, or have emergency medical information the instructor should know about are asked to contact the disability support services office (DSS) in Rm. 1112. Once the disability is verified with DSS you will be given a letter of accommodation that should be handed to your instructor