Project 0: Building a Webpage
Your first project is to build a small website and publish it on the internet. Choose any safe-for-work topic. The rubric defines the required HTML and CSS features. Some requirements use material we did not cover in class, so follow the linked instructions and look up the unfamiliar details.
Due: Wednesday, September 16 at 11:59pm, see the schedule.
Learning objectives
Primary:
- develop a basic working knowledge of HTML and CSS
- be able to follow directions in introductory tutorials written for programmers
Secondary:
- understand the basics of search engine optimization
- understand the basics of web tracking
Instructions
Start from the page you built while working through the HTML and CSS readings, and expand it until it meets every requirement in the rubric below.
Grading rubric
Your webpage must satisfy each checkbox below. Your grade starts at 34/34, and you lose the stated number of points for each checkbox you do not complete. An unmarked checkbox is worth 1 point; the seven more demanding requirements marked below are worth 2 points each. Gradescope checks the first 25 requirements for 32 points from the files in your GitHub repository. The final two domain requirements are worth 1 point each and are reviewed by the instructor from the evidence in submission.toml, because the autograder deliberately does not depend on live third-party websites. The autograder checks that this evidence file is present and well formed.
Your webpage must contain at least:
At least one HTML file must:
-
Note: See this tutorial for the difference between follow and nofollow links. I want that sweet, sweet pagerank…
Every HTML file must:
-
Note: See this tutorial for details. Either a vertical or horizontal navigation bar is fine.
-
Note: see this tutorial on meta descriptions and this one on other meta tags for details.
The CSS file must:
Your domain must:
Note: If you believe one of these checkboxes is not appropriate for your webpage, post an issue on the course repository and I may grant an exception.
Note: We did not cover the italicized steps in class. Use Google, an LLM, or the textbook to figure them out.
Extra credit
“Look nice” and “good content” are too subjective for the required rubric. Complete either task below for 1 point of extra credit, so the maximum score is 35/34:
Black hat techniques are allowed for the extra credit.
Submission
Push the complete website to GitHub, then submit that repository and branch to the Project 0 programming assignment on Gradescope. Gradescope grades the exact commit you select; a later push does not change an existing submission, so resubmit after pushing a fix.
Add this submission.toml file at the root of your repository:
[evidence]
site_url = "https://example.com/"
archive_url = "https://web.archive.org/web/..."
backlink_urls = [
"https://first-other-domain.example/page",
"https://second-other-domain.example/page",
]The autograder awards 32 points for the repository checks. The instructor verifies the live archive and backlinks and enters the remaining 2 points in Gradescope. You may resubmit as often as the course submission policy allows.
If you completed extra credit, attach the evidence requested by the Gradescope question.