Rich Media Web App Dev

IGME-330

Course Outline

Below is a tentative outline of the course (subject to change), broken down by week. See mycourses for official due dates and dropboxes.

Week 1 (1/16, 1/18)

Topics

Links

HTML and JavaScript Review

We assume you learned basic HTML/CSS and JavaScript in your previous web courses. If you feel you need some review, check out these resources:

DOM Links
Canvas Reference

Week 2 (1/23, 1/25)

Topics

  • JavaScript Debugger
  • Javascript Objects
  • More Canvas:
    • Methods:
      • ctx.arc()
      • ctx.strokeText()
    • State Properties:
      • ctx.globalAlpha
  • Buttons Sending Data:
    • event.target
    • anonymous functions
    • Custom Data

Links

Demos

Week 3 (1/30, 2/1)

Topics

  • More Canvas:
    • ctx.clearRect()
    • ctx.drawImage()
    • Gradients:
      • ctx.createLinearGradient()
      • gradient.addColorStop()
    • Canvas Transforms & Animations
  • More JS:
    • element.addEventListener()
    • element.removeEventListener()
    • Arrays
    • Hoisting
    • Closure

Links

Canvas Paint-2 Links
JS
Web Audio Links

Week 4 (2/6, 2/8)

Topics

  • JS:
    • JS Object Literals
    • Immediately Invoked Function Expressions (IIFE or "iffy")
    • Callbacks
    • Function Constructors
  • Canvas Visualizer ICE:
    • file reader
    • array buffers/typed arrays
    • web audio API
    • request animation frame
    • offscreen canvas
    • global composite operation
    • pixel filters

Links

JS
Canvas

Week 5 (2/13, 2/15)

Topics

  • Canvas
    • getImageData() & putImageData()
    • getUserMedia()

Links

Week 6 (2/20, 2/22)

Topics

  • Object.seal()
  • Object.freeze()
  • Object.defineProperty()
  • Object.keys()
  • Canvas Demos

Links

Week 7 (2/27, 3/1)

Topics

  • JS
    • Apply, Bind & Call
    • JS Design Patterns
    • Facade Pattern
    • PubSub Pattern
  • Canvas Wrap Up
  • More Canvas Demos

Links

Week 8 (3/6, 3/8)

Topics

  • Midterm Review
  • Midterm Exam

Links

Spring Break (March 11-17)

Enjoy your time off!

Week 9 (3/20, 3/22)

Topics

  • Web Services:
    • URI & URL Format
    • Query Strings
    • REST
    • XHR / Ajax
    • File Loading

Links

Week 10 (3/27, 3/29)

Topics

  • Web Services:
    • Ajax with XML
    • Ajax JSON

Links

Week 11 (4/3, 4/5)

Topics

  • Web Services:
    • More JSON
    • JSON-P (JSON-Padded)
    • Web Services

Links

Week 12 (4/10, 4/12)

Topics

  • Node:
    • Node Intro
    • Simple HTTP Servers

Links

Week 13 (4/17, 4/19)

Topics

  • HTTP & Proxies
  • oAuth
  • Platform as a Service (Paas using Heroku)

Links

Week 14 (4/24, 4/26)

Topics

  • Course Wrap Up
  • Final Exam Review

Links

Finals Week

We will meet during finals week - Tuesday 5/8 from 8:00AM-10:00AM - where you all will present your final projects.