Skip to content
Repo for Dynamic Web Development Spring, 2020
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
README.md

README.md

Dynamic Web Development

NYU, Interactive Telecommunications Program, Spring 2020

work in progress

Course Description

Dynamic Web Development introduces the fundamentals of building "full stack" web applications. This course will focus on modern, client- and server- side web technologies and provide practical methods for approaching web development for creative and functional applications. The core technologies used in this course are HTML5, JavaScript, Node.js with the Express framework, and MongoDB database. Students will learn to design, develop, and deploy web applications and gain the necessary skills to extend and explore web development independently.

The course will be a mixture of lecture and in-class collaborative coding, with weekly programming and reading homework.

Objectives:

(forked from Sam Slover's API of you class) By the end of the class, you should have a solid understanding of the following concepts:

  • Full-Stack Javascript - Familiarity with both client-side and server-side Javascript.
  • Designing Data-Driven Applications- How to design and build a 'full-stack' data application.
  • Using APIs - How to interact with and use an API from within your client application.
  • Structuring Data - How to intelligently structure data.
  • Storing Data - How to build systems to store your own data.
  • Building APIs - How to build your own APIs and make the data available to client applications.
  • Deploying full stack applications - Deploying applications using Platforms-as-a-Service (PaaS) with Git/Github and Glitch.

Outcomes

In order to achieve these objectives, students will spend the semester building, refactoring, getting feedback and interating on, one project throughout the course. The interactive web application will require students to exercise each of the key skills taught throughout this course as well as equip students with the skills to continue developing new dynamic web applications after the course.

Details

Instructor

Time

Section 001 - w/ Joey

  • MONDAY 6:30PM to 9:00PM
  • ROOM TBD
  • JAN. 27 - MAR. 23
  • 7 meetings // 2 Point Course

Section 002 - w/ Cassie

  • MONDAY 6:30PM to 9:00PM
  • ROOM TBD
  • JAN. 27 - MAR. 23
  • 7 meetings // 2 Point Course

Office Hours

  • By Appointment - DAY & DAY, H:MM-H:MMpm
  • Room: ITP FLOOR or ITP RESIDENT'S OFFICE
  • PLEASE SIGN UP: 📅
  • If you can't make those times, please send either of us an email and we can chat at another time or via video conference.

Link to the course listing
Category: 2 Point, All, Elective
Tags: web development, javascript, nodejs, express, full stack

Schedule

GO TO DATE THEME NOTES
WEEK 01 JAN 27 Web foundations n/a
WEEK 02 FEB 03 Front-end Foundations n/a
WEEK 03 FEB 10 Back-end Foundations n/a
WEEK 04 FEB 24 Databases & Deployment n/a
WEEK 05 MAR 02 Synthesis 1 n/a
WEEK 06 MAR 09 Synthesis 2 n/a
WEEK 07 MAR 23 Final Class n/a

Materials

Week 1: Web Foundations

Lecture

  • Course overview & logistics
  • Web Foundations:
    • in concept
    • in practice

Studio

  • warm up

Assignment

  • Part 0: Setup your development environment
    • Git/Github
    • Command-line tools
    • Install node.js
  • Part 1: Create a simple webpage using HTML. It could be a point and click game, a quiz, a choose-your-own-adventure story, fiction, poetry, or art.
  • Part 2: Create a Node.js HTTP server to serve your file(s).
  • Part 3: Push your project to a repository on GitHub
  • Part 4: Deploy to Glitch by importing from GitHub

Week 2: Front-end Foundations

Lecture

  • Focus on the "front-end":
    • HTML5: HTML, CSS, JavaScript
    • Layout: DOM and CSS
    • CSS Best practices using BEM
    • Adding Interactivity with Javascript

Studio:

Assignment

  • Add interactivity using JavaScript to your Week 1 assignment. Feel free to use "vanilla" JavaScript or to use p5.js.
  • Add styling using CSS and BEM conventions.
  • Push your project to a repository on GitHub
  • Deploy to Glitch by importing from GitHub

Week 3: Back-end Foundations

Lecture

  • Focus on the "back-end":
    • Programming a server Node.js
    • Making programming a server easier with Express.js
    • Client-server communication: AJAX, RESTful APIs

Studio

Assignment

  • Build on your previous work.
  • Create an API using Express.js.
  • Use AJAX to fetch data from your API.
  • Update your HTML with the fetched data.
  • Deploy to Glitch

Week 4: Databases & Deployment

Lecture

  • Databases
    • Persisting data with a NoSQL database (as opposed to SQL databases like PostGres or SQLite)
      • NEDB
      • MongoDB
    • CRUD
  • Deployment
    • Platform as a service (PaaS), virtual machines,

Studio

Assignment

  • Building on your previous assignment, add persistent data using a database.
  • (Using templates?)
  • Deploy to Heroku

Week 5: Synthesis 1

Lecture

  • Sessions/Cookies, Authentication, Logins, HTTPS
  • External APIs and network requests
  • Putting it all together

Studio

Assignment

  • Assignment 5
  • Deploy to Glitch
  • Note: Make sure you do not commit your API Keys to GitHub!!!

Week 6: Synthesis 2

Lecture

  • Putting it all together

Studio

Assignment

  • Final project!
  • Documentation your project. Include
    • Title
    • Brief written description
    • Visual Documentation: deployment, images, video, etc.
    • References: links to related projects, code samples, etc.
    • Source code (please cite your sources in the code comments)

Week 7: Final

  • Next Steps
  • Final project presentations





NYU STATEMENTS AND PRINCIPLES

STATEMENT OF ACADEMIC INTEGRITY

Plagiarism is presenting someone else’s work as though it were your own. More specifically, plagiarism is to present as your own: A sequence of words quoted without quotation marks from another writer or a paraphrased passage from another writer’s work or facts, ideas or images composed by someone else.

STATEMENT OF PRINCIPLE

The core of the educational experience at the Tisch School of the Arts is the creation of original academic and artistic work by students for the critical review of faculty members. It is therefore of the utmost importance that students at all times provide their instructors with an accurate sense of their current abilities and knowledge in order to receive appropriate constructive criticism and advice. Any attempt to evade that essential, transparent transaction between instructor and student through plagiarism or cheating is educationally self-defeating and a grave violation of Tisch School of the Arts community standards. For all the details on plagiarism, please refer to page 10 of the Tisch School of the Arts, Policies and Procedures Handbook, which can be found online at: http://students.tisch.nyu.edu/page/home.html

STATEMENT ON ACCESSIBILITY

Please feel free to make suggestions to your instructor about ways in which this class could become more accessible to you. Academic accommodations are available for students with documented disabilities. Please contact the Moses Center for Students with Disabilities at 212 998-4980 for further information.

STATEMENT ON COUNSELING AND WELLNESS

Your health and safety are a priority at NYU. If you experience any health or mental health issues during this course, we encourage you to utilize the support services of the 24/7 NYU Wellness Exchange 212-443-9999. Also, all students who may require an academic accommodation due to a qualified disability, physical or mental, please register with the Moses Center 212-998-4980. Please let your instructor know if you need help connecting to these resources.

STATEMENT ON USE OF ELECTRONIC DEVICES

Laptops will be an essential part of the course and may be used in class during workshops and for taking notes in lecture. Laptops must be closed during class discussions and student presentations. Phone use in class is strictly prohibited unless directly related to a presentation of your own work or if you are asked to do so as part of the curriculum.

STATEMENT ON TITLE IX

Tisch School of the Arts to dedicated to providing its students with a learning environment that is rigorous, respectful, supportive and nurturing so that they can engage in the free exchange of ideas and commit themselves fully to the study of their discipline. To that end Tisch is committed to enforcing University policies prohibiting all forms of sexual misconduct as well as discrimination on the basis of sex and gender. Detailed information regarding these policies and the resources that are available to students through the Title IX office can be found by using the following link: Title IX at NYU - https://www.nyu.edu/about/policies-guidelines-compliance/equal-opportunity/title9.html.

You can’t perform that action at this time.