Github Classroom

Using Github Classroom

You will be using the git tool and Github Classroom to manage version control for your assignments, and to submit those assignments to the course staff.

What is Git?

Git is a distributed version control system. A version control system (or source code management system) is a tool for storing the source files of a project, distributing them to developers working on the project, and coordinating changes made during development. A version control system stores not just the current state of the project, but all past states as well. This makes it an important tool both for collaboration and for historical investigation. (Often finding when a bug was introduced makes it much easier to diagnose and fix it.)

A distributed version control system does all this without requiring a central master server. Instead, each copy of the project contains the full change history and copies can be synchronized with each other to share updates.

Git is one of several available distributed version control systems; it was originally developed by Linus Torvalds for development of the Linux kernel. For information on how to use git, see A Guide to Git.

What is Github Classroom?

Github Classroom is an online git repository for use by educational institutions.

Signing up for Github Classroom

Before you can access the CS3380 repositories on Github Classroom, you must sign up for a Github account if you do not already have one. This step, which is initiated via the Github Classroom web page (see the “Sign up” link), only needs to be performed once.

Managing Assignments

During the first week of the semester, you should accept Assignment 0 to begin viewing and understanding the task at hand.

Throughout the semester you will be modifying your clone for each of the assignments and you will be submitting assignments by committing to your repository.

All the assignments are solo assignment; each person in the class will use their own private clone of the assignment repositories.

The project is a group assignment, meaning that you and your partner will share a repo on Github Classroom.

Creating and Managing your Clones

Each assignment page has an extensive description of the steps you need to take to create your own repository. You will need to work with this repository as the assignments are being graded based on what you push to Github.

We will not be able to grade your work if you don’t push your committed changed to Github. If you run into issues please get in contact, the discord server is a good place to start a conversation.

Please also read the submit guide for more information.

Submitting problem sets

Please read the submission guide for more information.