Assignment 1

CS418/518 - Web Programming

Old Dominion University Department of Computer Science

Due: September 12, 2017

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 and slack. Task 1 of this assignment is to simply register for these 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".
  3. I will use the Google Group membership list to invite you to our slack channel. Please sign up upon receiving your invitation.

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 repository ("repo" henceforth) under your account. The name of the repo can be anything but ODUCS418F17 (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 ODUCS418F17 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.

Declare your groups

If you wish to work in a group, send me an email with your desired repo name (e.g., jbrunelle/ODUCS418F17), the git accounts 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.