CS 240 Lab 3: Web Development

Due Mon Sep 23 at the start of class

Overview

In the last and biggest lab, you will get started learning some of the basics of front-end web development: namely HTML, CSS, and JavaScript.

For this lab, the class will be developing a simple online "art museum." Each student will make a single "exhibit": a webpage showcasing a small collection of artwork (text, images, video, etc). Of course, what counts as "art" is highly subjective--as a curator, you have full discretion over what you include in your webpage. You can include your favorite renaissance artists, your favorite amphibians named for renaissance artists, or make a tribute to LOLcats if you wish. Nevertheless, each exhibit must meet a number of requirements:

  1. Your webpage must include both images and text. Embedded video or audio is an optional addition.
  2. Your webpage must include at least 3 hyperlinks, at least one of which must be to another student's exhibit.
  3. Your webpage must include an HTML5 canvas with a piece of "original art" drawn on it (see below for details).
  4. Your webpage must use an external CSS file to format its appearance.

Note that there are a lot of pieces to this assignment---and all of them will be new if you haven't done web development before! Get started early, and be ready to ask for help if you get stuck!

You are welcome to work on this assignment either individually or in pairs using collocated pair programming. Do not simply divide the work in half--you are responsible for know how to do each part of the assignment!

Objectives

Resources

Note that web development is one of the most common "self-taught" topics in computer science. There are many, many tutorials online, focusing on all kinds of aspects of web development. Below are some resources I've found, but a quick Google search will bring up many more. If you find one that is particularly good (or find a problem with one of the references here), please let me know and I'll add it to the list!

Finally, it's worth noting that there are lots of examples of HTML on the Internet--in fact, the entire Internet is HTML! Most browsers will let you view source of a webpage--for example, try viewing the source of this webpage to see an example!

Details

There are lots of ways to proceed with this assignment; my suggested process (as well as details for some components) are below.

Grading

Receiving full credit on this lab involves committing a webpage that meets the requirements listed above.

Note that you will not be graded on appearance or artistic design---your page doesn't have to look great for this lab, it just has to be functional. That said, you are encouraged to make a page that won't cause your professor pain to look at. Think about layout and usability; how can you best get your information to you reader?