Tandon School of Engineering of New York University
Technology, Culture and Society
Integrated Digital Media
Tuesday & Thursday: 8:00 a.m. - 9:50 a.m.
370 Jay Street, Room 308
[email protected] or [email protected]
370 Jay St, Room 308
Tuesday: 10:00 a.m. - 11:00 a.m. or by appointment
Prerequisite: DM-UY.2193 - Intro to Web Development
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.
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.
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
Tuesday will primarily consist of lectures to discuss the readings and for practical, group-focused coding. Lectures will be more conversational than direct instruction so students are expected to be prepared to discuss and share their thoughts. Questions/comments are encouraged.
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.
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.
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
Each student will be judged on the quality, experimentation, and improvement that their work shows.
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.
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.
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.
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.
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.
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.
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.
Please refer to the official academic schedule for all dates.
Thursday, September 4: First class
Monday, September 16: Last day to Add/Drop course and receive refund
Tuesday, October 15: No class - Monday classes meet
Monday, November 25: Last day to withdraw from class
Thursday, November 28: No class (Fall break)
Thursday, December 12: Last Class (Dec. 15 is last day of classes)
Friday, December 18: Final grades due
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.
Lectures:
- CSS and HTML Best Practices
- The Role of JavaScript
- JavaScript Review: Strings, Arrays, Objects, Numbers
Studio:
- Exercise One
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
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
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
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