Source Code Control and Bug Tracking

Hans-Petter Halvorsen

1 2 3

Schedule Week Assignment Textbooks Quiz Q&A Previous Next 


Source Code Control and Bug Tracking - This week's highlights


This weeks topic is Source Code Control (SCC) and Bug Tracking.

Here are some of the most used SCC systems today: Git, Azure DevOps Server, Subversion (SVN), Concurrent Versioning System (CVS), Mercurial, Monotone, Libre Source, etc.
Cloud-based Source Code Control Systems: Azure DevOps Services (Repository: TFS or Git), GitHub (Repository: Git), GitLab (Repository: Git), BitBucket (Repository: Mercurial or Git)

We will focus on the following this week: 

  1. Get overview of existing Source Code Control Systems.
    • Together we should create a document (Google Docs) that gives an overview of the most common systems today. This document will be part of the syllabus in this course. Final Version (PDF).
    • Individual Assignment: Each person should provide an overview of a specific SCC system on the market today.
    • Each Team should make a Quiz (30-40 Questions). The whole class shall then take the different Quizzes.
  2. Bug Reporting and Tracking with Azure DevOps. In Azure DevOps we have so-called Work Items og type "Bug" and "Feature" that we will use for this purpose. In order search for and filter these Work Items we will create and use so-called Queries. We typically use these Work Items when reporting issues from Code Reviews and Testing.
  3. We will focus on using Azure DevOps as source code control system in our projects for sharing and check-in/out the code. You should also try out some of the more "advanced" features in an SCC system. We have so far used the "Upload", "check-in" check-out "and "Get Latest ". Other features are: Branching, Merging, Labelling / Tag, Change / Change List (History), Conflict, File Locking, etc.
  4. In addition, we will continue working on the project with focus on implementation and programming of your system, i.e, do the tasks according to the Sprint Backlog for the Beta iteration.


For more details, see the Week Assignment.

1. Preparations

2-3h. Main focus: Prepare to participate in class activities. It is important that you are prepared when you come to class. 

Source Code Control and Bug Tracking - This week's highlights



You need the following Software (make sure to install them before you come to class!):



What is Version control?:

Video: Introduction to Version Control - Recommended


Video: Introduction to Azure DevOps (previously VSTS):

Introduction to Azure DevOps (PowerPoint)


Video: Azure DevOps - Source Code Control:



Video: Bug Tracking with Azure DevOps (previously VSTS):


Web Resources:

Manage Bugs in Azure DevOps

Using Queries in Azure DevOps



The theory part of this course is "reading material" (it's like reading a novel), so be sure to take a look at some of the textbook resources below, and especially the Sommerville book (or Safari books online book if you dont have the Sommerville book). The main concept in this course is to read the theory at home and they apply the theory concepts on the project.

Software Development Literature


Read the following chapters in one ore more of the following Textbooks below before you meet in class:

Textbook Syllabus
Software Development - A Practical Approach
  • Ch. 22 Source Code Control (SCC)
Software Engineering (I. Sommerville)
  • Ch. 25 Configuration Management
Essentials of Software Engineering (Frank Tsu et al.)
  • Ch. 11 Configuration Management ...
Software Engineering (Saikat Dutt, et al.)
  • Ch.12: Software Configuration Management

Note! These chapters are "reading material" in order to get an overview of Configuration Management and Source Code Control Systems in general. The selected chapters in bold font are highly recommended!

2. Activities in Class

6h. Main focus: Practice applying key concepts with feedback. Execution and review of the week assignment will be the main focus in class on Tuesdays and Fridays.


Review: Review of the Code Reviews, Refactoring and Pair Programming. Class discussions and feedback.


Week Assignment

It is important that you do what's in the weekly assignments. The weekly assignments guides you through the course with a red line with a primary focus on important topics in software engineering and practical implementation of these topics through a large project. The contents of the week assignments are important criteria when it comes to censorship and grading in this course. 


Source Code Control Systems (SCC):

Source Code Control Systems Overview (Google Docs) - All should collaborate writing a document that gives an overview of common SCC systems today. Deadline First Draft: Friday 14:00. Final version: Tuesday 14:00 next week.

Note! Everybody should edit the document simultaneously in class. You should not first write your part in Word and then copy it into this document. Write your text directly into this document in real-time.

Each Team should make a Quiz (30-40 Questions). The whole class shall then take the different Quizzes.



Friday Afternoon Quiz - Can you relax this weekend? - or do you need to take an extra look at some of the available resources? In order to Pass this Quiz, you need to get a Score >= 70%. You should answer the questions without any aids!


3. Complementary Work

6-7h. Main focus: Finish Week Assignment. Check your understanding and extend your learning. Go through the following resources in order to review and get a deeper understanding of what you should learn in this topic. You may also need these resources in order to solve the week assignment.



It is recommended that you watch the following videos:

Configuration Management (from Software Engineering Course at NTNU)

Why Google Stores Billions of Lines of Code in a Single Repository



Review Questions - Note! This is mandatory! In order to Pass this Quiz, you need to get a Score >= 50%.

In order to get best outcome, you should answer the questions without any aids! You should also write your answers in your own words using Norwegian language. Don't just copy the text directly from the PowerPoints or the Textbooks, in that way you dont learn anything! When answering the Questions, pretend you are sit down taking the final written Exam. This means you should watch Videos, read the Textbooks, PowerPoints and oher Resources in advance before you start answering the Review Questions.

Questions and Answers (Q&A)

In this Forum everybody can ask Questions, answer Questions, give Tips and Tricks, etc. regarding Software Development. Please use Full Name and Picture.