Course Calendar

All code written in class available on GitHub.

  1. Tech Setup; Git and Web Standards Refreshers Week One

    1. Monday, August 21

      1. Welcome & introductions
      2. Course policies & calendar
      3. Course technologies
    2. Wednesday, August 23

      1. Review of Git
      2. Review of web standards and unobtrusive JavaScript

    Assigned Work

    • To Read

      1. Haverbeke, Eloquent Javascript, 2nd ed., Introduction; Chapters 1 & 2
      2. MDN, Introduction to web APIs
      3. Review the contents and organization of other materials on Mozilla Developer Network’s (MDN), especially Web technology for developers
    • To Do

      1. As soon as possible: Submit COM 333/533 Contract and Survey (link in your @hawk.iit.edu inbox; email instructor at karl.stolley@gmail.com if you did not receive it)
      2. As soon as possible: Create Basecamp account (invite will arrive after you submit the Contract and Survey)
      3. Computer setup (Firefox Developer Edition, Atom.io, Node.js, Git); follow these instructions
  2. JavaScript I Week Two

    1. Monday, August 28

      1. Introduce first project
      2. Remaining web standards review: CSS, Unobtrusive JavaScript
      3. JavaScript syntax and fundamentals
      4. JavaScript collections (arrays and objects)
    2. Wednesday, August 30

      1. Functional and object-oriented programming styles
      2. Understanding the JavaScript event loop

    Assigned Work

    • To Read

      1. Haverbeke, Chapters 3–6
      2. CodeNewbie, An Intro to APIs
      3. Zapier, An Introduction to Apis, Chapter 1
    • To Do

      1. Set up local Git and remote GitHub repository for working along with Haverbeke, Chapter 7 (and other smaller snippits of code examples throughout the book); post URL to Basecamp thread
      2. Begin work on Project One
  3. JavaScript II Week Three

    1. Monday, September 4: Labor Day, NO CLASS

    2. Wednesday, September 6

      1. JavaScript and the Document Object Model
      2. Asyncrhonous requests (AJAX)

    Assigned Work

    • To Read

      1. Haverbeke, Chapters 8–10, 12–14
    • To Do

      1. Work through Haverbeke, Chapter 11 in your Git repository
      2. Contine work on Project One
  4. API Structure and Endpoints, Documentation; Request/Response Architecture Week Four

    1. Monday, September 11

      1. API structures and URL design
      2. Brief JSON overview (more in Week 5)
      3. Finding and reading documentation
      4. REST/Request-response architecture (HTTP)
      5. Alternatives: SOAP
    2. Wednesday, September 13

      1. Work day; no class. Finish draft of Project One
      2. Stolley available in our chatroom

    Assigned Work

    • To Read

      1. Haverbeke, Chapters 16; 17–18
    • To Do

      1. Post on Basecamp the GitHub URL to Project One draft (by Thursday, September 14)
      2. Respond to all other draft student projects
  5. Data Serialization Formats: JSON/JSONP, CSV, XML Week Five

    1. Monday, September 18

      1. Walk-throughs and improvements of draft projects
      2. Data serialization formats
    2. Wednesday, September 20

      1. Parsing and manipulating different formats
      2. More on asynchronous requests (AJAX)

    Assigned Work

  6. Client-Side API Consumption; CORS Workarounds Week Six

    1. Monday, September 25

      1. Introduce project two
      2. Using browsers (clients) to access API data
      3. Form elements and acting on user-submitted data
    2. Wednesday, September 27

      1. No class

    Assigned Work

  7. Catch-up and Work Week Week Seven

    1. Monday, October 2

      1. Open-ended Q&A
      2. CORS workarounds and JSONP
      3. Lab time
    2. Wednesday, October 4

      1. Lab time

    Assigned Work

    • To Do

      1. Continue work on Project Two
  8. Project Presentations; Transition Week Week Eight

    1. Monday, October 9: Fall Break, NO CLASS

    2. Wednesday, October 11

      1. Project Presentations
      2. Linting your source code

    Assigned Work

    • To Read

      1. Haverbeke, Chapters 20 & 22
    • To Do

      1. Project Two Due, 11:59pm CDT on Sunday, 10/15
  9. Node.js I Week Nine

    1. Monday, October 16

      1. Introduce Project Three
      2. Node.js setup, configuration, and conventions
    2. Wednesday, October 18

      1. Virtual meeting on Basecamp; discuss Chapter 2 of Node.js 8 the Right Way

    Assigned Work

    • To Read

      1. Wilson, Node.js 8: The Right Way, Preface; Ch 1–4
    • To Do

      1. Begin work on Project Three
  10. Node.js Q&A Week Ten

    1. Monday, October 23

      1. Q&A: file system, streams
    2. Wednesday, October 25

      1. Project planning and scheduling

    Assigned Work

    • To Read

      1. Wilson, Node.js 8: The Right Way, Chapters 5-6
    • To Do

      1. Continue work on Project Three
  11. App Structure and TestingWeek Eleven

    1. Monday, October 30

      1. Application structure and organization
      2. Application testing and development
    2. Wednesday, November 1

      1. Remote meeting on Basecamp
      2. Reading Q&A

    Assigned Work

    • To Read

      1. Wilson, Node.js 8: The Right Way, Chapters 7–9
    • To Do

      1. Continue work on Project Three
  12. API Data, Serving a Web Application Week Twelve

    1. Monday, November 6

      1. Reading API data with request
    2. Wednesday, November 8

      1. Exploring web app construction with Express.js
      2. Express.js Generator

    Assigned Work

    • To Do

      1. Continue work on Project Three
  13. Unobtrusive JavaScript & User-Interface Design Week Thirteen

    1. Monday, November 13

      1. Asyncrhonous requests and Express.js
      2. User-interface design
    2. Wednesday, November 15

      1. In-progress project presentations

    Assigned Work

  14. Client- and Server-Side Storage and Caching Week Fourteen

    1. Monday, November 20

      1. Technical and legal challenges for storing third-party API data
    2. Wednesday, November 22: Thanksgiving Break, NO CLASS

    Assigned Work

    • To Do

      1. Work on final project and presentation
  15. Final Project Presentations Week Fifteen

    1. Monday, November 27

      1. Final project presentations
    2. Wednesday, November 29

      1. NO CLASS MEETING. Stolley available electronically to provide help on final project.

    Assigned Work

    • To Do

      1. Final Project Due Thursday, December 7, 11:59pm