Giter Site home page Giter Site logo

idm-dynamicweb's Introduction

DM-UY 3193: Dynamic Web Applications - Fall 2023

Tandon School of Engineering of New York University

Technology, Culture and Society

Integrated Digital Media

When

Tuesday & Thursday: 8:00 a.m. - 9:50 a.m.

370 Jay Street, Room 311

Who

Professor Contact Information

[email protected]

370 Jay St, Room 311

Office Hours

Tuesday: 10:00 a.m. - 11:00 a.m. or by appointment

Course Policies

Course Prerequisites

Prerequisite: DM-UY.2193 - Intro to Web Development

Course Description

In this course, students will bridge the gap between client and server, building dynamic web application front-ends powered by back-end servers. Having access to an external computing system and a universal display medium allows both professionals and artists to create dynamic works.

Program Learning Objectives

Students will:

  • develop conceptual thinking skills to generate ideas and content in order to solve problems or create opportunities.
  • develop technical skills to realize their ideas.
  • develop critical thinking skills that will allow them to analyze and position their work within cultural, historic, aesthetic, economic, and technological contexts.
  • gain knowledge of professional practices and organizations by developing their verbal, visual, and written communication for documentation and presentation, exhibition and promotion, networking, and career preparation.
  • develop collaboration skills to actively and effectively work in a team or group.

Course Objectives

By the end of the course, students will be able to:

  • Design, build, and develop content for a web applications.
  • Understand and implement the iterative process
  • Set up servers, have servers talk to browsers, and understand how protocols work
  • Create an internal developer / creative community

Course Structure

Lectures

Tuesday will consist of lectures to discuss the readings and for additional teaching. Lectures will be more conversational than direct instruction so students are expected to be prepared to discuss and share their thoughts. Questions are encouraged.

Studio Time

Thursday will consist of mostly studio time where students will work on exercises, learn to pair program, and have short, smaller lectures based on the materials being handled in the exercises. Readings

There is no textbook for the course. Readings will be made available in the Github repository for the course and students are responsible for checking the reading list on their own. Though there may be updates to the readings throughout the semester, there will be no updates one week before class.

Grading & Attendance Policy

Grades will be determined by the following criteria:

  • 25%: Final Project
  • 20%: Midterm Project
    • Projects will be graded based on fulfilling the project criteria, demonstrating your knowledge of course materials, code quality, problem solving skills, and level of difficulty. A grading rubric will be attached to the project assignments to help students understand what is expected of them - however these projects contain a creative component and students are urged to push boundaries and experiment. The creative component is critical to attaining a maximum grade on all projects.
  • 50%: Exercises (6 total exercises)
    • Exercises will be graded based on completion of the exercise objectives
  • 5%: Attendance and Participation
    • Attendance is mandatory unless excused.
    • Participation means being prepared for questions during lectures, being on task and responsive during lectures and studio sessions, and being able to help others and ask questions of the professor or others during the course.
    • Questions will be asked during the lectures and will be based on the weekly readings

Qualitative Grading Overview

Each student will be judged on the quality, experimentation, and improvement that their work shows.

A. Excellent (90-100)

Performance, participation, and attendance of the student has been of the highest level, showing sustained excellence in meeting course responsibilities. Work clearly differentiates itself from other work, has memorable impact, pursues concepts and techniques above and beyond what is discussed in class. The student thoroughly understands the web design and development process.

B. Very Good / Good (80-89)

Performance, participation, and attendance of the student has been good, though not of the highest level. Work demonstrates a better than average web design and development process.

C. Satisfactory (70-79)

Performance and attendance of the student has been adequate, satisfactorily meeting the course requirements. Work is average and competent, showing a basic understanding of web design and development process.

D. Poor; Below Average (60-69)

Performance and attendance of the student has been less than adequate. Work is lacking in many or most areas that show any understanding of visual foundation. Problems may include lack of interest, procrastination, poor planning and poor craft.

F. Unacceptable (59 & Below)

Performance and attendance of the student has been such that course requirements have not been met. Work shows no overall understanding of the course material on many levels or either a severe lack of interest.

Assignments, Projects, and Other Grades

Exercise One (8%): Tools and Best Practices

Exercise Two (8%): Setup Accounts and Deploy Simple Application

Exercise Threee (8%): Weather App

Exercise Four (8%): Simple Server

Exercise Five (8%): Creating an API

Exercise Six (10%): Users and Authentication

Midterm Project (20%)

Final Project (25%)

Other Grades (5%): See above for explanation of “Attendance and Participation” portion of the grade.

Academic Accommodations

If you are a student with a disability who is requesting accommodations, please contact: New York University’s Moses Center for Students with Disabilities at (212) 998-4980 or [email protected].

You must be registered with CSD to receive accommodations. Information about the Moses Center can be found at www.nyu.edu/csd. The Moses Center is located at 726 Broadway on the 2nd floor.

Notable Dates

Please refer to the official academic schedule for all dates.

Thursday, September 5: First class

Tuesday, September 18: Last day to Add/Drop course and receive refund

Tuesday, October 10: No class - Monday classes meet

Tuesday, November 3: Midterm grades due

Thursday, November 24: No class (Fall break)

December 4: Last day to withdraw from class

Tuesday, December 14: Last Class (Dec 15 is last day of classes)

Friday, December 18: Final grades due

Weekly Schedule

Please note that this schedule may shift as the semester goes on to account for the student's progression through the course material. Please see the Github for all readings.

Part One: Accessibility, Coding Practices, and Tools

Class 1 - 4

Lectures:

  • CSS and HTML Best Practices
  • The Role of JavaScript
  • JavaScript Review: Strings, Arrays, Objects, Numbers

Studio:

  • Exercise One

Part Two: Applying Server/Client Relationship to Creative Practice

Class 5 - 10:

Lectures:

  • Introduction to React and Other JavaScript Frameworks
  • Basics of APIs
  • Browsers, Servers, Protocols: What are they and how do they work together?
  • Overview of React and how data passes through a modern JavaScript application
  • How can a dynamic system be part of a creative practice
  • Application State - Why it’s important to understand and track existing data

Studio:

  • Exercise Two - Weather App

Class 10: Assign Midterm Project

Part Three: Building Servers and Connecting Servers to Clients

Class 11 - 16:

Lectures:

  • Introduction to Node Servers
  • Understanding Querying Data
  • Parsing Data, Responses, and Errors
  • Building an API in Node
  • Rendering views in Express

Studio:

  • Exercise Three & Four

Class 16: Midterm projects due & project presentations

Part Four: Using Servers, Understanding Data Structures, and Morphing Data

Class 17 - 23:

Lectures:

  • Conceptual Understanding of the Role of Databases in Infrastructure
  • Importance of Types in Data Structures
  • Working with Data Schemas
  • Deploying Front Ends and Servers
  • Patterns and Abstraction
  • Packages & Package Management

Studio:

  • Exercise Five

Part Five: Security, Ethics, and Experimentation in a Creative Practice

Class 25 - 27:

Lectures:

  • Basics of Security with Web Applications
  • Discussion of Ethics with Web Applications
  • Creative Practice overview (45 minutes)

Studio:

  • Exercise Six

Class 27: Final Project Due & Project Presentations

idm-dynamicweb's People

Contributors

jayres avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.