Final Projects

You can see the final class projects here: Spring 2007 Final Projects

Course Description

From the Oberlin catalog course description:

A hands-on course in Internet web site development. Primary emphasis is on each person building a complex web site focused on some area of academic interest and competence using (a) the HTML mark-up language, (b) programs supportive of web site construction (e.g. PhotoShop, Dreamweaver), and (c) the JavaScript scripting language, with strong emphasis on the latter. About one-half the course deals with JavaScript.

Goals and course objectives

My goals and objectives for students taking this course are as follows:

  1. Understand how the WWW works and the role that the Internet plays
  2. Understand the different roles HTML, CSS, and JavaScript play in a website
  3. Be fluent in using HTML and XHTML for content markup
  4. Be able to write and use CSS to modify the presentation of a page
  5. Understand basic JavaScript and be able to use it for web pages
  6. Understand different graphical file formats and the appropriate uses of them
  7. Have experience with some of the tools commonly used in website design (Dreamweaver, GIMP, Photoshop, Flash)
  8. Design and create a substantial website for an outside client


We'll be using a pair of texts for this course as well as some online resources:

Head First HTML with CSS and XHTML

Head First HTML with CSS & XHTML by Freeman and Freeman

JavaScript & AJAX JavaScript & AJAX by Tom Negrino and Dori Smith

Tools you can use

There are a number of free software tools that I recommend you use to help you when you are working on your websites. My recommended software are available cross-platforms -- MS-Windows, OS X, Linux, and *BSD.

Web Browsers

You will want a web browser that supports CSS and XHTML and contains a DOM Inspector and JavaScript console.

Text Editor

HTML, CSS, and JavaScript are all plain text files. That means that there aren't any special interpretations that are supposed to be made for the files. Unfortunately, most "text" editors interpret HTML and/or CSS in the files they read making them extremely frustrating to use for our purposes.

I strongly recommend you use jEdit (available for all platforms) or something similar for your editing. There is an easy text editor on the CS machines as well or you can use pico from the command line.



We probably won't get time to do this, but there are visual editors for web pages such as Nvu.


Grades will be calculated based on the following distribution:

The distribution might be adjusted based on the progression of the course.

Homework and Project grading

Note that this is not a design course. Grading will be largely based on objective measures. If the assignment asks for 2 images that are 150x150 pixels in size, then that will be what I'm looking for. Supplying only one image or images of the wrong size will lead to reduced marks; supplying a non-creative image will not.

Homework and Course Policy


Regular class attendance and participation is expected. Please talk to me if regular class attendance is going to be a problem.

Homework Assignments

There will be a number of assignments made in this class. I expect every student to attempt each assignment and turn in the results. You are encouraged to complete every assignment as this is one of the most effective ways to learn the material.

If you know that for some reason you will not be able to submit the assignment before the deadline, you should contact me in advance of the deadline. Extensions are only granted in exceptional circumstances, but need to be done in advance.

Late assignments will be penalized 10% per day. Extra credit will not be accepted after the initial deadline.

Accommodations for students with disabilities

If you have a disability that might impact your performance in this course, or requires special accommodation, please contact me as soon as possible so that appropriate arrangements can be made. Support is available through Student Academic Services, specifically Jane Boomer. You will need to contact them to get your disability documented before accommodations can be made.

Plagiarism and Academic Dishonesty

I have very low tolerance for academic dishonesty, and will vigorously pursue available remedies for any incidents. All work in this class is to be performed according to the Oberlin Honor Code. Specifically I expect that:

  1. Quizzes will be closed book, closed notes, and no communication between students. This includes discussing the same to students who are taking the quiz at another time.
  2. Discussion of assignments is expected and encouraged, however all work and code on assignments should be your own without outside assistance.
  3. Sources should be cited including the textbook and other web sites when you use them in your work.

Illustrative examples:

  1. Confirming that we had and exam is OK, telling another student in the class who has not taken it that it was easy/hard, what topics, etc. is NOT OK.
  2. Discussing what needs to be done and how it can be done is OK, having a student (other than a TA) go over your code is NOT OK, discussing what might be wrong and how to tell is OK (and encouraged).
  3. Basing a design off of the appearance of another site is OK, using the code of such a site as a starting point is OK with attribution, but is NOT OK without attribution.

All assignments must include the following signed statement:

"I affirm that I have adhered to the Honor Code in this assignment."

Electronic submissions should include the honor statement in either the README or comments and must include your name.


(Subject to change)
1 Feb 06   Introduction to WWW and HTML
  • What is the Internet?
  • What is the WWW?
  • How do a web server and browser work?
  • What is HTML?
(Read HF-HTML Ch. 1)
Homework 0
Feb 08   Basic formatting
  • Using your account
  • Minimal markup required
  • Basic elements
  • Paths
  • White space
(Skim HF-HTML Ch 4, Read HF-HTML Ch. 1-2)
Homework 1
2 Feb 13 Last Day to Add/Drop (Feb 14) Inline graphics, hyperlinks, lists
  • Hyperlinks
  • Inline graphics
  • Quotes
  • Nesting
  • Lists
  • Special Symbols
(Read HF-HTML Ch. 3)
Feb 15   Homework 2
3 Feb 20   Working with images
  • File formats
  • Image representation
  • Creating animated GIFs
  • Creating transparent GIFs
  • GIF vs JPEG
(Read HF-HTML Ch. 5)
Feb 22 QUIZ #1 [In Class] Homework 3
4 Feb 27   Standardized HTML and Converting to XML/XHTML
  • Brief history of HTML versions
  • Standardized HTML
  • Validators
  • Moving to XHTML
(Read HF-HTML Ch. 6-7)
Mar 01   Homework 4
5 Mar 06   Basic CSS
  • CSS rule structure
  • including CSS with <style> tag
  • including CSS with <link> tag
  • Font style
(Read HF-HTML Ch. 8-9)
Mar 08 I'll be out of town at the SIGCSE conference
QUIZ #2 [In Class]
Homework 5
6 Mar 13  
Mar 15   Homework 6
7 Mar 20   Box model
  • Content
  • Padding
  • Border
  • Margin
(Read HF-HTML Ch. 10)
Mar 22 QUIZ #3 [In Class] CSS Containers
  • <div> and <span>
  • pseudo-classes
  • CSS rule resolution
(Read HF-HTML Ch. 11)
  Mar 27 Spring Break
Mar 29
8 Apr 03   Layout
  • Floated columns
  • Absolute positioning
(HF-HTML Ch. 12)
Apr 05 Last Day for P/NP, CR/NE, or Withdraw (Apr 09) Homework 7
9 Apr 10   Tables
  • Basic layout
  • Spanning multiple columns/rows
  • CSS formatting
(HF-HTML Ch. 13)
Apr 12 QUIZ #4 [In Class] (topics) Web design Homework 8
10 Apr 17   Introduction to Javascript(Read JS Ch. 1)
Apr 19
  1. For loops
  2. Arrays
  3. Linkdump HTML
  4. Linkdump JavaScript
  5. Times Tables
Beginning Javascript(Read JS Ch. 2,3) Work on final project
11 Apr 24
  1. Link change
  2. Link alert
  3. Link confirm
  4. History and Referrer
  5. Basic Rollover
  6. Better rollover
  7. Better rollover (JS)
  8. 3-phase rollover
  9. 3-phase rollover (JS)
  10. Rollover from link
  11. Rollover from link (JS)
  12. Multi-links, one image
  13. Multi-links, one image (JS)
  14. Multi-links, one image, BG
  15. Multi-links, one image, BG (JS)
Apr 26 QUIZ #5 [In Class] (topics)
  1. Rotating Banner
  2. Rotating Banner (JS)
  3. Banner Links
  4. Banner Links (JS)
  5. Slideshow
  6. Slideshow (JS)
  7. Random Image
  8. Random Image (JS)
  9. New Window
  10. New Window (JS)
Working with Images
  • Rollovers
  • Random images
  • Cycling banners
  • Slideshows
(Read JS Ch. 4)
Homework 9
12 May 01  
May 03
  1. New Window
  2. New Window (JS)
  3. Named window
  4. Named window (JS)
  5. Multiple windows
  6. Multiple windows (JS)
  7. Open/Close
  8. Open/Close (JS)
  9. Window Location
  10. Window Location (JS)
  11. Move window
  12. Move window (JS)
Browser Windows
  • Opening new windows
  • Closing windows
  • Moving windows
(Read JS Ch. 6)
Work on final project
13 May 08 Instructor and course evaluations
May 10 QUIZ #6 [In Class] (topics)
  1. Sample HTML Form
  May 15 Reading Period (May 13-15)
May 19 Final Project Presentations (9-11:00am) - Location TBA


Weekly projects

Initially, there will be a series of weekly projects requiring you to create and modify some web pages (linked in the schedule above). These assignments will be assigned on Thursday and will usually be due at the start of class the following Thursday. They should give you experience using the material we discussed in class that week.


Quick List

Semester Project

You will also be creating a website for an outside organization. We will discuss this project in class and this description may be updated with additional details.

You should think of this in terms of a final paper for a course. You will need to select a topic, do background research, create an outline, do a rough draft, and create a final draft based on feedback from the draft.

A detailed description is available, but is subject to change.

Grader and Tutors

There are a number of individuals who are approved via Student Academic Services as tutors for this course.

Mike Tomlinson Clayton Combe Akshat Singhal
Mike Tomlinson
Lab hours: Thurs 5:30-7:30pm
Clayton Combe
Akshat Singhal

Also, the Computer Science Majors Committee has walk-in tutoring in King 201 from 4-6pm on Sunday.

Last Modified: May 24, 2007 - Benjamin A. KupermanVI Powered

Valid HTML 4.01 Strict Valid CSS!