Due Date: Friday 12/12, 11:00PM
Open/Closed policy: OPEN
Term Project
Overview
This project will require you to apply the things you are learning in class to a web site of your own design.
We hope you will "learn by doing" and also have some fun being creative.
This project is worth a significant portion of your course grade, and so the
expectation is that you will spend a considerable amount of time on it. Your
grade on the Term Project will largely be based on the amount of effort and time you have spent planning and
developing your web site.
Open Policy
Unlike the other projects in the course, you may post your Term Project publicly, even before the due date! Feel free to post
the project on TerpConnect (or any other public web server) so that you can ask classmates and/or friends to try out your site and to give you some feedback on your project.
Despite this policy, please understand that the coding of the project must be completed by you alone; you may not work collaboratively on this project, and the only people
you may ask for help with coding are the course TAs. The coding of this project must be done by you alone!
Requirements
Your Term Project submission should be a finished and polished product. It should adhere to the useability guidelines presented in class, it should
be aesthetically pleasing, it should function correctly, and it should demonstrate your knowledge of the material you have learned in class. The more
time you spend on the project the higher your grade will be. Failure to follow the guidelines below will result in harsh penalities!
- The website must consist of 4 to 7 separate pages. The individual pages should be very different from one another. We do not want to see
the same layout over and over with different textual content -- you must have a variety of pages with completely different kinds of elements.
- There must be a "top-level" starting page with the name "index.html".
You may name the other pages whatever you like. All of the pages
must be linked to one-another in some logical way, and all must be accessible
somehow from the starting page. (This could entail a series of links -- each page
does not have to have a direct link from the starting page.)
- All of the files for your project must be in the same directory. You may not
create any sub-directories.
- You must use multiple HTML files, but just a single CSS file for the
entire web site.
- All style rules must be placed in the CSS file.
- You should use lots of CSS rules to show us that you have learned
these skills. Your grade depends on how extensively you have used CSS rules.
- You must make heavy use of identifiers. Your grade depends on this as well.
- You should use at least one class (preferably several). Each class
that you use must be applied to two or more elements in the website.
- You must include at least one table.
- You must include at least one list.
- You must include at least one image.
- All of your files (both HTML and CSS) must validate with only the two unavoidable HTML warnings that
we have discussed previously.
- Your website must include properly functioning radio buttons somewhere. Just having radio buttons appear on your page is not enough,
we need them to actually serve some purpose. This could be as simple as an alert box popping up with a message,
but we hope you will think of something more interesting.
- Your website must include a selection box somewhere. Just having a selection box appear on your page is not enough,
we need it to actually serve some purpose. This could be as simple as an alert box popping up with a message,
but we hope you will think of something more interesting.
- Your website must include one more text boxes. Just having the text boxes appear on your page is not enough, we need the data entered by the user to
be used somehow. This could be as simple as an alert box popping up with a message, but we hope you will think of something
more interesting.
- You must include at least one "dynamic" element. By this we mean that an element on your webpage must change based on actions taken by the
user. This will require JavaScript. You could incorporate this with one of the other items on this list (like radio buttons that
allow the user to decide how to display an image or table), or it could be
a separate thing. You could either use "InnerHTML" to change the content of an element dynamically, or alter the style of one or more
elements, or something else (for example an image that changes its size or content). We hope that you will include something interesting here.
Please note
that form elements (like radio buttons or text boxes) do not, themselves, satisfy this requirement. There has to be some other element on
your page that changes based on actions taken by the user.
- Your pages should have a consistent style ("look and feel") throughout.
- Your web site must be appropriate for a "general audience". (If it were a movie,
it would be rated "G".) Failure to adhere to this policy will result in a grade of 0.
- You should try to adhere to the guidelines for "useability" discussed in class on Monday 11/10.
- You should use a consistent and aesthetically appealing color scheme, as discussed in class on Monday 11/10.
- You may use HTML/CSS/JavaScript features that are beyond those taught in class, but
you may not incorporate any code that was not written
by you personally.
Warning
Any images (or similar resources) that you are including with your project must be submitted in the same folder as everything else.
In your HTML, you must specify the names of resources using local addressing, like this:
src="dog.jpg"
rather than full path names like this:
src="C:\MyFiles\CMSC122\TermProject\dog.jpg".
If you do not follow this requirement we will be unable to see any of your
images, and your grade will suffer accordingly!
Grading
Your grade will primarily be based on how much time/effort you've put into
your web site. We will be using an automated tool that will measure the complexity of your site in quantitative terms; it will
report to us how many HTML elements have been included, how many CSS rules have been defined, how extensively you have used identifiers,
how extensively you have used classes, and the total amount of textual content you have included in your submission. All of these factors
will be taken into account when we are determining your grade. Your grade will also reflect how closely you've followed the guidelines above,
and how "appealing" your web site is. Do something that will impress us!
Submission
All of the files for your project must be in the same directory! Create a zip file that contains
this directory, and submit it as usual. (You'll find an entry in the submission server that says
"Term Project"). It is important that you verify your submission by downloading it from the submission server
and running it yourself to make sure everything works as expected. It would also be a good idea to download your
submission on a different computer just to be sure that you have not accidentally included any local references
that will only work on your own machine.