Class Details ++++ * Location: BE 3156 * Time: T,TH 7:15 - 9:20 pm * Dates: 01/03/2017 - 03/22/2017 * Instructor: Brenden West | [email protected] | 206-552-9795 * Credits: 5
Summary ++++ JavaScript is the primary programming language of web development. This class covers the core features of JavaScript and how to effectively use JavaScript in the browser. We'll write our own scripts, ranging from simple menus to complex graphics and animations. We'll also learn how to retrieve results from a server without a full-page refresh (AJAX), and use templating systems to place that information into the web page.
Throughout the course we will use common tools and techniques of professional web developers, such as source control, browser debuggers, and dependency management. All assignments will be turned in and evaluated using GitHub.
Required Materials ++++ We will use <a href="https://thomaswilburn.github.io/textbook/">JavaScript for the Web Savvy</a>, which was written specifically for this program, as our primary text, as well as several excellent online reference & tutorial sites.
Students should also acquire the following free resources:
- A GitHub account. Note that with a student e-mail address, you can sign up for an educational account, which includes free private repositories and other benefits.
- The Git client software, installed on the computer where you'll do your homework.
- A modern, syntax-highlighting code editor. such as Brackets, Komodo Edit, Atom, or Sublime Text.
- A modern web browser with developer/debugging tools (e.g. Chrome, Firefox, IE9+, Edge)
Note - Students can use a free online service such as Cloud9 (https://c9.io/) to access web development tools from any computer.
Class Structure and Topics ++++ Each week, we'll cover a different topic, building on the previous week's work. In general, we will cover new material in Tuesday lectures, and Thursdays will be more about putting what we've learned into practice. We will cover the following topics, although the order and precise list is subject to revision:
- Variables & data types
- Conditional statements
- Loops and arrays
- Functions
- Objects
- JQuery & DOM manipulation
- Forms & data validation
- jQuery events & effects
- AJAX and JSON
- Drawing
Grading ++++ Grades will be based on weekly assignments (80%), class participation (10%), and an in-class presentation (10%) on an open-source JavaScript project that you find interesting.
Weekly assignments will be posted on Canvas each Thursday and are designed to exercise the skills and concepts covered that week. Assignments are due by the start of class on the following Tuesday, and late assignments will be automatically marked down by 20%.
You may discuss how to approach a problem with other students in the class, but your submission must be your own work. Code submissions that are substantially identical would be considered cheating and subject to a markdown penalty.
Reference ++++ - http://www.w3schools.com/js - https://www.tutorialspoint.com/javascript/ - https://developer.mozilla.org/en-US/docs/Web/JavaScript - http://eloquentjavascript.net/ - JavaScript and JQuery - by Jon Duckett - JavaScript: The Good Parts - by Douglass Crockford
Note - The Seattle Public Library offers card holders free access to many technical reference books at:
https://ezproxy.spl.org/login?url=http://proquestcombo.safaribooksonline.com/?uicode=spl
JavaScript Tools ++++ - http://www.jslint.com/ - https://jsfiddle.net/ - http://jshint.com/ - http://jsonlint.com/
Development Tools ++++ - https://c9.io/ - https://github.com/ - https://git-scm.com/ - http://stackoverflow.com/