Skip to content

bschwartz757/itc298-s16

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ITC 298 - Advanced Javascript

Class Details

  • Location: BE 3151
  • Time: 6:00 - 8:15 pm, Tuesdays and Thursdays
  • Dates: April 4 - June 17, 2016
  • Instructor: Brenden West
  • Email: [email protected]
  • Credits: 5
Summary
Modern JavaScript has rapidly become a major force for full-stack web development, with NodeJS allowing development in the same language on the server & browser. Client-side frameworks like Angular and D3 are enabling new and exciting applications in the browser. This course will cover JavaScript technologies that power a modern full-stack development workflow, including server-side scripting, single-page web applications with MVC structure, package management, and JSON data storage. Students will finish the quarter having built a fully-functional prototype application they can reference for job applications or future JS-based projects.
Requirements
Students entering this class should understand the core concepts of JavaScript programming, either via WEB 150 or comparable experience. They should be comfortable with:
  • JavaScript variables and operators,
  • Array methods and loops,
  • JavaScript functions and objects,
  • JQuery selectors, methods and AJAX,

Students will perform extensive hands-on development throughout the course and will require;

  • A computer on which they can install software,
  • A working internet connection
  • A syntax-highlighting editor like Brackets or Sublime Text,
  • A Github account

Note - Students can use online services such as Cloud9 (https://c9.io/) to access free development tools from any computer,

This course will use "Web Development with Node & Express" as a textbook, and leverage supplementary online materials to account for the rapid evolution of full-stack web development technologies.

Class Structure and Topics
Each week, we'll cover a new topic, building on the previous week's work. In general we will cover new material in Tuesday lectures, and with directed lab on Thursdays to exercise what we learned. We will cover the following topics, although the order and precise list is subject to revision:
  • Introduction to Node.js - Overview & installation, NPM, modules
  • Node.js programming - Callbacks, events, asynchronous operations
  • Intro to Express and request / response objects
  • Express application structures - routes, views, and static files
  • Templating with Handlebars
  • REST APIs & JSON
  • Data storage with MongoDB
  • MVC design & single-page-applications with AngularJS

Every Thursday, 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 Tuesday. The purpose of these assignments is to evaluate your progress and understanding, and to provide me with an opportunity to offer feedback. As such, most of your grade each week will come from turning the assignment in on time and showing that you tried to solve it using your own original work. Your homework should be completely your own: plagiarism will not be tolerated.

90% of your grade will come from homework and an in-class presentation, and 10% from class participation. Homework assignments will build toward a completed final project at the end of the quarter. For the in-class presentation, you will choose a piece of open-source JavaScript that you find interesting and share with the class. The presentation include a written summary of the source code with your comments.

Reference

Reading (optional)

Note - Seattle Public Library card-holders have free access to the following technical reference:

Development Tools

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 39.6%
  • JavaScript 31.9%
  • HTML 28.5%