Applied Internet Technology

syllabus

Course Info
  • Course Title: Applied Internet Technology
  • Course Number: CSCI-UA.0480-008
  • Semester: Spring 2018
  • Meeting Time: Mondays and Wednesdays, 11:00AM - 12:15PM
  • Room: WWH 109
  • Instructor: Joe Versoza
  • Contact: piazza (the best way to contact me!)
  • Email: jversoza at cs dot nyu dot edu
  • Office Hours:
     12:45 - 2:15pm on Mondays and Tuesdays at WWH
  • Office Hours Room: WWH 422
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
  • 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 (socket.io)
  • Development Tools (version control with git, task automation, static analysis tools, etc.)
  • Extra Topics Time Permitting (JS Framework like React, Intermediate CSS features like Flexbox, etc.)
Quizzes

Expect about one quiz every week, which can be in one of the following formats:

  • Take from home quizzes
    • Submitted electronically via NYU Classes
    • Quizzes will be closed at the due date given
    • Quizzes are to be taken on your own
  • In-class quizzes
    • Dates for in-class quizzes will be posted one week before quiz is given
    • Will be based on homework
    • Will be given at the beginning of class
  • Make ups will be allowed for the following exceptions:
    1. illness, with documentation
    2. religious observance
    3. technical issues (NYU Classes down, Quiz not Appearing, etc.), with documentation
Homework

Expect about one homework every week, with one final project assigned mid-semester:

  • Homework must be turned in electronically via git
  • Late homework will not be accepted (repositories are closed when homework is due)
    • Exceptions:
      1. illness or family/personal issue, with documentation
      2. religious observance
      3. technical issues (broken computer, github down, etc.), with documentation
    • Notification of illness / accommodation must be made before due date
    • Long term accommodations (for example, extra time on exams, etc.) must be made known prior to the first exam
  • Write your own code! This means:
    • Don't copy (clone, download, etc.) anyone else's code
    • Don't distribute/publish your code (including publishing to a public git repository or posting in a forum)
      • (You can publish your final project once the class is over)
    • The Director of Undergraduate Studies will handle any instances of cheating or software plagiarism
  • Help!
    • Office hours and tutoring is available
    • If you use code from online resources outside of the course materials, annotate your code with comments and the link to the resource
    • High level discussions with other students is allowed
    • Help debugging from other students is allowed
Books

Readings will be sourced from the following books (all are free to read online, but a hardcopy or ebook can purchased as well!):

Significant material will be pulled from the following sites:

Grading
  • 20% - Homework
  • 30% - Exam #1
  • 35% - Exam #2
  • 5% - Quizzes / Activities
  • 10% - Final Project
Tutoring

There are tutors available for the course.

Additionally, the tutor will hold workshops based on student demand. Some workshops may include:

  • commandline
  • git , ' '* http
  • html
  • css