Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Intermediate Programming


This course introduces advanced programming concepts through the construction of interactive experiences for the web by building on programming fundamentals learned in the introductory programming course. Students will learn software design patterns, synchronous and asynchronous programming, unit testing, version control, hosting, data formats and how to work with an API. Students will create interactive works using a variety of backend and frontend technologies. Possible projects include interactive data visualization, networked games, and responsive design.


  • Woodbury University - Intermediate Programming Spring 2018
  • Lee Tusman, Tuesday && Thursday, 4 - 6:30pm

Week 1

  • In-class notes
  • Class introduction, description of syllabus and projects required for course
  • Workflow fundamentals: IDEs - Brackets, SublimeText, Atom, Vim, Codepen, etc
  • Review: Javascript fundamentals, Functions and Callbacks, Objects, Classes
  • HTML, CSS and DOM events
  • A gentle introduction to Javascript ES6
  • Event Listeners
  • JQuery Library

Week 2

  • In-class notes
  • Introduction to the Unix filesystem and working in the Terminal
  • Introduction to Version Control with Git, Github
  • Deploying projects with Glitch (FogCreek Software) and GitHub pages
  • Client-side vs server-side
  • Authentication

Week 3

  • In-class notes
  • Broad overview of working with APIs
  • Various APIs online
  • Assignment: Visualization and queries with API
  • Working with data
  • Introduction to JSON format
  • Reading JSON

Week 4

  • In-class notes
  • Presentation of assignment 1
  • More work with JSON
  • Async loading
  • API keys/authentication
  • Getting around cross-domain problems with jsonp
  • Encoding URLS
  • example queries with OpenWeatherMap
  • Intro to data visualization using API data and JSON

Week 5

  • In-class notes
  • Intro to NodeJS
  • Runtime environment, library
  • Installing node, working with a server, working locally
  • NPM package manager
  • More advanced work with NodeJS
  • Modularizing code, using require()
  • Built-in APIs for building web applications
  • Express framework

Week 6

  • In-class notes
  • A broad overview of Bots and Assistants
  • Introduction to Chatbots, Twitter Bots
  • Examples of bots
  • Automation rules and best practices
  • Ethics of bots, digital assistants and procedural generation
  • Text manipulation with Javascript
  • Twitter API - Get, Post, Stream
  • Deploying bots locally (crontab/Linux) and to remote servers
  • Mini Assignment: Creating a Twitter bot

Week 7

  • In-class notes
  • Studio time and feedback on Twitter Bots
  • In-class or stream interview with Bot creators
  • Studio time for Alexa skill project
  • User testing
  • 1-on-1 meetings

Week 8

  • In-class notes
  • no class Tuesday
  • Student Presentation: Twitter Bots
  • Deployment to server
  • Amazon AWS / Lambda

Spring Break

Week 9

  • In-class notes
  • Deploy to Amazon EC2
  • Public and Private Keys - introduction video
  • Voice command/assistance as a “verbal command line”
  • Working with the Amazon Alexa Node package
  • Project: Creating a Alexa “Skill” application
  • Open studio time to work on Alexa Skill

Week 10

  • In-class notes
  • More work with Amazon Alexa
  • Creating a Voice User Interface
  • Setting up Amazon Web Services - Lambda functions
  • Deploying
  • Testing

Week 11

  • In-class notes
  • Data persistence
  • Authentication
  • Student presentations on Alexa Skills

Week 12

  • In-class notes
  • Overview of other Javascript libraries for graphic and games
  • Learning/Bootstrapping languages and frameworks- How to Learn!
  • Express routes
  • CORS
  • Creating your own API with Node and Express

Week 13

  • In-class notes
  • Intro to Persistence
  • saving to database/server
  • Firebase
  • Final project intro work
  • Browser Extensions/publishing

Week 14

  • User testing
  • Last chance for feedback before studio final project due

Week 15

  • Student projects and public presentation
  • Critique with industry professionals


Repo for Intermediate Programming - Woodbury 1710






No releases published


No packages published