CMSC388T Winter 2021
Introduction to Git, Github and Project Management Tools


Dr. Anwar Mamat
Office Location: Iribe 2244
Phone: 301-405-2696

Teaching Assistants

Name Email Office Hours
Sagar Saxena TuTh 10-12, Fr 11-12
Nandhini Krishnan TuTh 1-3pm, Friday 2:30-3:30
Sanjay Srikumar M/W 1-3, Wed 11-12

Class hours and Location

M/W/F 9:30am-10:50am
Location: Online

Course Overview

Version control is an essential skill for developers to learn. Git is the most popular version control system and GitHub is the industry-standard tool for collaborating on and sharing code. Students will be introduced to the fundamental concepts of the Git architecture and using Gitto manage code. Students will learn from basic to advanced Git commands to track modifications to a source code repository and collaborate on a shared codebase, how to use Github ecosystem to enhance their project management workflow, and other project management tools. At the end of the course students will be able to add and delete files in the repository, commit changes, create branches, merge pull requests, check logs and handle merge conflicts. Students will also learn advanced features such as cherry-picking, rebasing, adding multiple remotes, creating Github actions to automate the procedures, exploring existing open source projects on Github, making contributions, and using Kanban boards to track progress.


Recommended textbook: Pro Git Book, written by Scott Chacon and Ben Straub

Course Schedule

(tentative - expect adjustments & updates throughout the semester)
Days Topics Lecture Notes Reading List/Code Examples


1/4/2021 Introduction to Git and Git Command-line Interface Lecture 1 Lecture 0


1/6/2021 Using Git For Collaboration Lecture 2


1/8/2021 Project Management Tools Lecture 3


1/11/2021 Advanced Features of Git Lecture 4


1/13/2021 Working With DevOps Lecture 5


1/15/2021 Messing Up On Git Lecture 6


1/18/2021 Holiday Lecture 7: Deployment
GitHub Pages Tutorial
1/20/2021 Guest Lecture
1/22/2021 Introduction To Docker Lecture 8





Class Announcements

Announcements will be posted at the announcement section of the class homepage. You are responsible for reading these announcements (at least once a day). Important information about the course (e.g., deadlines, project updates, etc.) will be posted in this section.


Final grades will be computed according the following weights. (These weights are tentative and subject to future adjustment.)

10% In class exercises
30% Project 1
30% Project 2
30% Project 3

Academic Integrity

Note that academic dishonesty includes not only cheating, fabrication, and plagiarism, but also includes helping other students commit acts of academic dishonesty by allowing them to obtain copies of your work. In short, all submitted work must be your own. Cases of academic dishonesty will be pursued to the fullest extent possible as stipulated by the Office of Student Conduct.

It is very important for you to be aware of the consequences of cheating, fabrication, facilitation, and plagiarism. For more information on the Code of Academic Integrity or the Student Honor Council, please visit

Excused Absence and Academic Accommodations

Any student who needs to be excused for an absence from a single lecture, recitation, or lab due to a medically necessitated absence shall:

  1. Make a reasonable attempt to inform the instructor of his/her illness prior to the class.
  2. Upon returning to the class, present their instructor with a self-signed note attesting to the date of their illness. Each note must contain an acknowledgment by the student that the information provided is true and correct. Providing false information to University officials is prohibited under Part 9(h) of the Code of Student Conduct (V-1.00(B) University of Maryland Code of Student Conduct) and may result in disciplinary action.
  3. This self-documentation may not be used for the Major Scheduled Grading Events as defined below and it may only be used for only 1 class meeting during the semester.

Any student who needs to be excused for a prolonged absence (2 or more consecutive class meetings) or for a Major Scheduled Grading Event, must provide written documentation of the illness from the Health Center or from an outside health care provider. This documentation must verify dates of treatment and indicate the time frame that the student was unable to meet academic responsibilities. No diagnostic information shall be given. The Major Scheduled Grading Events for this course is the last class project.

It is also the student's responsibility to inform the instructor of any intended absences from exams for religious observances in advance. Notice should be provided as soon as possible.

Any student eligible for and requesting reasonable academic accommodations due to a disability is requested to provide a letter of accommodation from the Office of Disability Support Services at the beginning of the semester.


Web Accessibility