Homework 0 - Publishing to the Web
Due: January 27, 2025 at 11:59pm
This is an INDIVIDUAL assignment. Each person must have their own development environment set up.
Purpose: Create a development environment and practice publishing to the web.
Overview
For this assignment, we will set up our development and production environments for the semester.
Choose an IDE/Editor
In this course, you are free to use the IDE or text editor of your choice. You will routinely see me using a text editor such as VIM or Notepad, but I will occasionally use VSCode. I would encourage you to choose an editor that you are familiar with that also includes syntax highlighting for HTML, CSS, PHP, SQL, JavaScript, and TypeScript. You may decide to choose one of the following, or stick to your favorites:
Once you have downloaded and installed your IDE, create a simple HTML file named homework0.html
using the starter code below.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="author" content="~your name~">
<meta name="IDE" content="~your chosen IDE~">
<title>Homework 0</title>
</head>
<body>
</body>
</html>
Update the text to include your name and computing id. In the IDE
meta tag, list which IDE you have chosen. Then, in the body of the HTML file (after the <body>
tag), state your reasons for choosing this IDE.
You will deploy this file to test your development environment and practice connecting to the production cs4640 server.
Install Docker and our Development Environment
Next, install a development environment. We have provided a Docker container pre-loaded with the Apache Web Server, PostgresSQL database server, and PHP. The course provides a rough install guide to get you started. You may also choose to use alternate installs for PHP, Apache, and PostgresSQL, such as the built-in web server for Mac OS, homebrew, or apt-get on WSL for Windows.
Publish to the CS4640 server
Publishing to the CS4640 server will not be available until the second week of class, since we must manually add enrolled students onto the server.
Please see the deployment instructions for connecting and publishing to our course server. This process is similar to publishing to a shared hosting platform. For this assignment, you will need to connect to the server and create a hw0
directory in your public_html
directory.
Upload the homework0.html
file that you created above to the hw0
directory. You can now view this file in your web browser at:
https://cs4640.cs.virginia.edu/yourid/hw0/homework0.html
Submission
The submission will consist of two parts:
- Submit your code (HTML) to Gradescope in the “Homework 0” submission.
- Submit a screenshot showing your IDE and web browser displaying the page from
localhost
(your local development environment) to Gradescope. - Publish your web site to the cs4640 server under a directory named “hw0” (as above).
Grading Rubric
This homework is worth 50 points, based on the following rubric:
- 10 points: Completed HTML file uploaded to Gradescope
- 20 points: Screenshot showing local development environment working
- 20 points: Deployment of file to cs4640 server
Academic Integrity
For this assignment, you are welcome to share/publish your website! You’ll be doing that on our cs4640 server as well. We only ask that you not make any GitHub projects public until after the deadline.
Note: You must cite any sources you use in a comment at the top of your file. For example:
<!DOCTYPE html>
<!--
Sources used: https://cs4640.cs.virginia.edu, ...
-->
<html lang="en">
<head>
...