Assignment 1

CS418/518 - Web Programming

Old Dominion University Department of Computer Science

Due: September 11, 2018

Task 1: Class Comms

In this course, communication from me to the class and you to your classmates will be done via a mailing list. Task 1 of this assignment is to simply register for this communication media. To do so:

  1. Join the mailing list at Google Group
  2. Upon receive an e-mail confirming registration to the list, send an e-mail simply saying, "Hello World".

You will need to request to join. Once approved, you may post your messages. My receipt of this this message will be confirmation that you are registered for the list.

Task 2: Get Git

Git is a distributed version control system (DVCS) that we will use in this course to submit assignment and develop our respective codebases. To use Git from your local machine, you must first install the Git environment. Your operating system may already have Git installed. Type git --version at your command-line to verify this. If an error similar to "command not found" is returned, consult the Git homepage to install the program for your operating system or ask The List.

Task 3: Interfacing with the Octocat

In this course, we will use GitHub for assignment submission from our local Git repositories. Assignments will not be submitted via Blackboard, e-mail, etc. Documents in Git reside in a "repository", accessible using both the git:// protocol and through the web interface on GitHub at

3.1 Acquiring a GitHub account

GitHub provides an "Education Account", which allows five free private Git repositories (for which they usually charge), among many other benefits. This will be necessary for the course project. For this assignment, only a standard GitHub account is needed. Given the education account requires verification on their end, I recommend acquiring the free student account early.

3.2 Create A Repository for Your Course Project

Create a blank, private repository ("repo" henceforth) under your account. The name of the repo can be anything but ODUCS418F18 (this is to prevent a clash for this assignment). In this repo, you will host your project as the course progresses. Add me (GitHub user @jbrunelle) as a collaborator to your repo.

3.3 Associating with the Class Repo

For Task 3, you will clone my public Git repo at to your local drive. For guidance on how to work with Git, consult the GitHub help pages. Once you have cloned the repo:

  1. Fork the ODUCS418F18 repo to your GitHub account.
  2. Clone your fork to your local machine
  3. Create a new file in the users directory. The file's name should be your ODUCS user ID (no CS user id? Contact systems). The contents of the file should be the URI of the repo you created in section 3.2 of this assignment.
  4. Add and commit this file to your local repo.
  5. Push the update you have made to the repo on your machine to your GitHub account.
  6. Submit a pull request to my public repo at with your addition. Be sure not to commit invisible files (e.g., .DS_Store on Mac) -- review .ignore.
  7. Add me (GitHub user @jbrunelle) as a collaborator to your repo.
Note -- repositories that are not private will not be considered for grading; owners of not-private repositories will receive no credit for the submission.

Declare your groups

If you wish to work in a group, send me an email with your desired repo name (e.g., jbrunelle/ODUCS418F18), the git accounts and CS user names of your team members (e.g., jbrunelle, mkelly, salam), and CC your group members.
Official record of all groups and individual students will be kept at the course groups list.
Students that do not submit group names prior to the deadline will be working individually.