Applied Internet Technology

CSCI-UA.0480-010 Spring 2016

Course Info
  • Course Title: Applied Internet Technology
  • Course Number: CSCI-UA.0480-010
  • Semester: Spring 2016
  • Meeting Time: Tuesdays and Thursdays, 11:00AM to 12:15PM
  • Room: WWH 312
  • Instructor: Joe Versoza
  • Email: jversoza at cs dot nyu dot edu
  • Office Hours: Mondays and Wednesdays 11:00AM to 12:00PM, Tuesdays 12:30pm to 1:30pm
  • Office Hours Room: WWH 423
Course Description

This course is a practical introduction to creating modern web applications.

It will cover full stack web development - from database design all the way through client side interactivity. Students will use current server and client side web frameworks to build dynamic, data-driven sites. Various tools to support development will also be introduced, such as version control and build systems.

* Basic knowledge of HTML and CSS and familiarity with using command line tools are required.

Topics
  • JavaScript (and maybe some ES6?)
  • Server Side Programming (with Node and Express)
  • Storing and Retrieving Data (with a NoSQL database, such as MongoDB)
  • Client Side Build-Out
  • Client Side Programming (both with vanilla JavaScript and using a JavaScript framework)
  • Realtime Web Applications (likely with socket.io)
  • Development Tools (version control with git, task running with Grunt or Gulp), etc.
Grading
  • 5% - Class Participation / Quizzes / Activities
  • 25% - Homework
  • 25% - Midterm Exam
  • 15% - Final Project
  • 30% - Final Exam
Homework
  • About one homework every week or two
  • Turned in electronically via GitHub and NYU Classes
  • Homework assignments are due one or two weeks after posting
  • The assignment will stay open up to 24 hours in NYU classes
    • After the 24 hour grace period, homework cannot be submitted
    • A pattern of late homework will result in zero points for the next late homework (even if submitted int he 24 hour grace period)
  • Please read the page on academic integrity
    • I do expect some level of collaboration (help debugging, discussing potential solutions, etc.)
    • But write your own code!