Course Home | Class Schedule | Moodle CMS | Git Submission | Perusall | Tutoring

Saint Louis University

Computer Science 1300/5001
Introduction to Object-Oriented Programming

Michael Goldwasser

Fall 2019

Computer Science Department

Git Repository

In order to facilitate the sharing/submitting of files between students and the instructor, or the sharing of files for students working together, we will be replying on a tool known as git for maintaining shared repositories. git is the industry-standard tool for maintaining software projects, and in addition to allowing for sharing of files within a group, it provides version control, in that it keeps all previously committed versions of the files and let's you see the old versions (and rollback progress, if desired).

For this course, we will rely on only the most basic features of git (and will save more advanced features for later courses). We will also be relying primarily on a web-based interface known as gitlab which allows you to browse, create, and edit files from your browser. You should be able to rely on this web-based interface throughout the semester (although we are happy to explain how to install and use git as a more advanced command-line tool for those interested.)

Login

You can login initially by visiting http://git.cs.slu.edu. Your username will be your slu email address, but the password for this website is independent of all the various other passwords in life. To set your initial password (or reset a password), use the "Forget Password" link at the login page and you will be sent instructions to your slu email.

Repositories

Once logged in, you should be able to view your repositories from your personal dashboard at the website http://git.cs.slu.edu/dashboard/projects. Each student will have an individual repository (known as a Project on the website) that will be based on the course and your username. We will rely on that for the entire semester. In cases where we allow students to work in groups on some coursework, we will create an additional shared repository for the group (based on the concatenation of usernames).

Structure

Each repository will contain the following:

Submitting Files

There are two ways that you can submit a new file. After navigating to the desired folder, you should find a plus-sign icon that leads to a pull-down menu with several options.

If you have already submitted a file and wish to change its contents, you may do this by selecting the file and then looking for either the "Edit" button to edit its contents in the editor, or the "Replace" button to upload a new version from your computer.

Issue Tracker

An additional feature that we might use (optionally), is gitlab's issue tracker. In general, the issue tracker provides a way for a project team to have discussion on various threads, and even to "close" threads once they are resolved (while still keeping those discussions available). You can find the issue tracker through the sidebar of icons that appears by default on the left edge of the website.

Since the instructor is a contributor to each repository, we can use the issue tracker as a way to have back-and-forth discussions between the instructor and the student (or group of students for team projects). The advantage of this (rather than traditional email questions) is that the discussions can be organized by thread and are archived alongside the rest of the course materials. For group projects, students might also use the issue tracker to communicate with each other.

While you are certainly welcome to send email directly to the instructor with any questions you have about the course, you are encouraged to consider use of the issue tracker as a means for communiction.

Notification Settings

Gitlab also allows you to customize notification settings and when the system will send you automated email. With the most aggresive notification ("Watch") you receive notifcations for any activity on the repo. This means that you'd get an email when the instructor posts new materials, when the instructor posts a grade report, or even when the instructor posts a response to a thread on the issue tracker. There are ways to tone down the amount of emails generated as well.


Michael Goldwasser
CSCI 1300/5001, Fall 2019
Last modified: Tuesday, 11 September 2018
Course Home | Class Schedule | Moodle CMS | Git Submission | Perusall | Tutoring