- Course Dates and Times: Wednesdays, from 7:00 pm to 9:40 pm
- Location: 6 East 16th Street, Room 1208
- Faculty: Umi Syam
- Faculty e-mail: email@example.com
- Teaching Assistant: Soomi Lee
For a full description of each class, see each week's folder.
|3||9/14/2016||Single-Page Application||Add more filters to our exercise|
|4||9/21/2016||Responsive Web||Turn any of the 1-3 homework, responsive|
|5||9/28/2016||Node.js||GET/POST exercise or scrape with xray|
|6||10/5/2016||Database||Midterm Proposal Due|
|10/12/2016||No class - Yom Kippur|
|8||10/26/2016||Websockets||Read socket chat ex|
|9||11/2/2016||JS Lib: P5.js||Turn any existing Processing sketch into P5|
|10||11/9/2016||Guest Lecture: Three.js||TBA|
|11||11/16/2016||JS Lib: D3.js||TBA|
|12||11/22/2016 (Tuesday)||JS Lib: D3.js||Final Project Proposal Due|
|13||11/30/2016||Class Review + Workshop||-|
|14||12/7/2016||Class Review + Workshop||-|
|15||12/14/2016||Final Presentations||Final Project|
By the successful completion of this course, students will be able to:
- Have a better understanding of how web applications work
- Develop working prototypes and publish them.
- Select and apply different technologies in order to realize their ideas.
All assignments must be submitted through your personal Github repo. I will add each student as a submodule to our student's homework repository so that it's easier to check everyone's homework.
Please refer to each week's readme file for the list of weekly assignment.
Build a data-driven web application. Your project must:
- At least read data from an external source — could be from a JSON file, from a database, or whatever you feel more comfortable with.
- Have no less than 2 different "screens." If it's a dynamic html website, have at least 2 pages within the same url, but just different “#”/hash page. If you're building a canvas-based game, maybe you have 2 scenes? If it's a datavis, 2 charts or 2 ways of visualizing the same data and so on.
- Respond to user interaction.
Build an interactive web app that meets these requirements:
- Interacts with the server-side using NodeJS
- Includes bi-directional communication using websockets, any of these are valid: client <--> server, hardware <--> server communication. We're looking for true communication, sending and receiving data/messages/actions/inputs back and forth.
- Outputs a visualization on the front-end side using either P5.js, D3.js, or Three.js.
Using database is optional in this case. If you want to make it more interesting, feel free to explore the possibility of connecting microcontrollers hardware as input/output. Send me a proposal of your final project first.
- Google Chrome
- Sublime Text
- Terminal (Mac) / Command Prompt (PC)
- A Github account and a way to access it. Feel free to either Terminal or a desktop app — Github for Mac, Source Tree or whatever you feel comfortable with.
Read the complete syllabus here.