Homeworks are small individual assignments that are meant to reinforce topics we cover in class. You may discuss them with the instructors and your peers, but you must submit your own work.
Sept 11, 2013
Not graded, but necessary for class
Sept 23, 2013
5 points
In this homework, you will practice basic HTML/CSS/jQuery skills by editing a simple to-do list. Your tasks are below:
Oct 14, 2013
5 points
border-radius
, box-shadow
, text-shadow
, translate
, rotate
, scale
, skew
To submit your assignment, send in a zip file containing:
Nov 6, 2013
5 points
Open the files part A. index.html is a simple page layout that is optimized for “big browser.”
Open the files for part B. index.html contains a blank svg that will house your visualization.
Find an existing data visualization (static or interactive) and critique it.
In addition to your answers, don’t forget to include a screenshot of the visualization (and a link if it’s interactive).
Create one pdf that contains your answers for parts A2 and B2 (and part C if you choose to do it). Include this pdf in your zipped file submission.
Nov 27, 2013
5 points
As we learned in 202, anything can be considered a resource. On the web, this abstraction is a guiding principle behind REST APIs. From Wikipedia:
An important concept in REST is the existence of resources (sources of specific information), each of which is referenced with a global identifier (e.g., a URI in HTTP). In order to manipulate these resources, components of the network (user agents and origin servers) communicate via a standardized interface (e.g., HTTP) and exchange representations of these resources (the actual documents conveying the information).
Any number of connectors (e.g., clients, servers, caches, tunnels, etc.) can mediate the request, but each does so without "seeing past" its own request ... Thus, an application can interact with a resource by knowing two things: the identifier of the resource and the action required &em; it does not need to know whether there are caches, proxies, gateways, firewalls, tunnels, or anything else between it and the server actually holding the information. The application does, however, need to understand the format of the information (representation) returned, which is typically an HTML, XML, or JSON document of some kind, although it may be an image, plain text, or any other content.
Imagine you are building a web-based organizing system according to this principle. Consider:
Deliverable: Create a table that outlines the structure of resources in your app. For example, if I was building a recipe organizing system, I might have the following table:
Path |
Method |
Parameters |
Returns |
Description |
/ |
GET |
None |
HTML |
Goes
to the home page |
/recipes |
GET |
keyword |
JSON |
Returns
list of recipes, optionally filtered by keyword |
/recipe/<id> |
GET |
None |
HTML |
Detail
page for a single recipe |
/recipes |
POST |
title,
ingredients, steps, difficulty,
image_file |
JSON |
Creates
a new recipe. Returns JSON success message. |
/recipe/<id> |
DELETE |
None |
JSON |
Deletes
the recipe with the specified id. Returns JSON success message. |
Send us the table as a PDF or Word doc.
Build a back end for the to-do list you created for HW 1 and 2. See here for instructions: Homework 4 Part B
Deliverable: Send us a zip file of your Flask app directory.
Send us a pdf or word doc with your answer for part A, and a zip file of your code for part B.