BPP257 Version Control Systems

3 ECTS - 2-0 Duration (T+A)- 3. Semester- 2 National Credit

Information

Code BPP257
Name Version Control Systems
Term 2024-2025 Academic Year
Semester 3. Semester
Duration (T+A) 2-0 (T-A) (17 Week)
ECTS 3 ECTS
National Credit 2 National Credit
Teaching Language Türkçe
Level Ön Lisans Dersi
Type Normal
Mode of study Uzaktan Öğretim
Catalog Information Coordinator Öğr. Gör.Dr. MEHMET İSMAİL SOLMAZ
Course Instructor
1


Course Goal / Objective

This course aims to teach the effective use of Git, an essential tool in software development processes. Participants will learn to work efficiently in modern software development environments by leveraging Git's advantages, such as code history tracking, version management, collaboration, and debugging. The course will cover basic and advanced Git commands, GitHub integration, and best practices for teamwork through hands-on exercises and projects.

Course Content

This course focuses on the basic and advanced use of Git, an indispensable tool in software development processes. Students will gain skills in tracking code history, switching between different versions, collaborating, debugging, and project management through Git's core concepts, commands, workflows, and GitHub integration. Theoretical knowledge is reinforced with practical exercises and projects.

Course Precondition

No prerequisites

Resources

Course Presentations

Notes

Git Resmi Belgeleri: https://git-scm.com/doc Pro Git: https://git-scm.com/ Git Essentials: https://www.atlassian.com/git/tutorials Git Cheat Sheet: https://www.atlassian.com/git/tutorials/atlassian-git-cheatsheet GitHub Eğitim Merkezi: https://education.github.com/ Git ve GitHub için Başlangıç Rehberi: https://www.atlassian.com/git/tutorials GitHub'da Git Kullanma: https://docs.github.com/en/get-started


Course Learning Outcomes

Order Course Learning Outcomes
LO01 Explains the basic concepts of Git (repository, working directory, staging area, commit, branch, etc.).
LO02 Understands what a distributed version control system is and how Git is an example of such a system.
LO03 Explain the benefits of Git for developers and software projects.
LO04 Installs Git on his computer and uses the basic commands (git init, git clone, git add, git commit, git branch, git checkout).
LO05 Explain the difference between the working directory and the staging area.
LO06 Shows you how to add, delete, and modify files in a Git repository.
LO07 Performs undo and cancel changes made in Git.
LO08 Can shows how to incorporate changes from different branches and resolve conflicts that arise.
LO09 Performs tagging and versioning in Git.
LO10 Explains what GitHub is and how it integrates with Git
LO11 Creates a GitHub account and creates a repository.
LO12 Shows how to connect a local Git repository to GitHub.
LO13 Performs the creation and review of pull requests on GitHub.
LO14 Shows how to fork a repository and push changes from the forked repository to the main repository.
LO15 Diagnoses problems that may be encountered in Git and suggests solutions.


Relation with Program Learning Outcome

Order Type Program Learning Outcomes Level
PLO01 Yetkinlikler - İletişim ve Sosyal Yetkinlik ommunicates effectively with all partners on a sectoral basis.
PLO02 Bilgi - Kuramsal, Olgusal has the basic knowledge necessary to develop computer software, to establish algorithm, sequential and simultaneous flow logic
PLO03 Yetkinlikler - Alana Özgü Yetkinlik Designs systems for fundamental problems in microcontrollers, embedded systems and analog/digital electronics.
PLO04 Yetkinlikler - Alana Özgü Yetkinlik Uses basic software related to information and communication technologies, specific to his profession. 4
PLO05 Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği Applies the software and hardware developments in the field of Computer Programming independently.
PLO06 Bilgi - Kuramsal, Olgusal Explains the necessary methods for solving well-defined problems in the field of Computer Technologies and Programming. 1
PLO07 Bilgi - Kuramsal, Olgusal Has the basic knowledge level required to develop software specific to web, mobile and other electronic platforms.
PLO08 Beceriler - Bilişsel, Uygulamalı Develops software for desktop and other environments. 2
PLO09 Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği Takes an active role in project development processes, independently or as part of a group, within a planned project. 5
PLO10 Bilgi - Kuramsal, Olgusal Knows project planning, development and implementation processes. 5
PLO11 Yetkinlikler - Alana Özgü Yetkinlik Performs data storage, editing, querying, etc. operations in computer and network environment. 3
PLO12 Yetkinlikler - Alana Özgü Yetkinlik It has the ability to solve unpredictable hardware and software problems.
PLO13 Beceriler - Bilişsel, Uygulamalı Codes software components that have been analyzed and the algorithm has been prepared.
PLO14 Bilgi - Kuramsal, Olgusal Knows the methods to be used in software development. 5
PLO15 Yetkinlikler - Öğrenme Yetkinliği Constantly follows current innovations and developments in the field of information technologies.
PLO16 Yetkinlikler - İletişim ve Sosyal Yetkinlik Communicates verbally and in writing in a foreign language.
PLO17 Yetkinlikler - İletişim ve Sosyal Yetkinlik It has the phenomenon of the necessity of moral and ethical behaviors related to the information technology profession.
PLO18 Yetkinlikler - Alana Özgü Yetkinlik Has the necessary awareness of occupational safety in her field.
PLO19 Beceriler - Bilişsel, Uygulamalı It uses operating systems with administrative features. 2
PLO20 Bilgi - Kuramsal, Olgusal Has basic knowledge of entrepreneurship.


Week Plan

Week Topic Preparation Methods
1 Explains the basic concepts of Git (repository, working directory, staging area, commit, branch, etc.). Research on the web Öğretim Yöntemleri:
Gösterip Yaptırma
2 Git Setup and Basic Commands Differences Between the Working Directory and the Staging Area Adding, Deleting, and Modifying Files Research on the web Öğretim Yöntemleri:
Gösterip Yaptırma
3 Undo and Cancel Changes in Git Merging and Resolving Changes in Git Tagging and Versioning in Git Research on the web Öğretim Yöntemleri:
Gösterip Yaptırma
4 Branches and Branch Management in Git Research on the web Öğretim Yöntemleri:
Gösterip Yaptırma
5 What Is GitHub and Why Use It? Creating a GitHub Account and Creating a Repository Connect your local Git repository to GitHub Research on the web Öğretim Yöntemleri:
Gösterip Yaptırma
6 Review of Pull Requests and Pull Requests on GitHub Forking and Merge on GitHub Research on the web Öğretim Yöntemleri:
Gösterip Yaptırma
7 Practices for Teamwork on GitHub Research on the web Öğretim Yöntemleri:
Gösterip Yaptırma
8 Mid-Term Exam Topic repetition Ölçme Yöntemleri:
Yazılı Sınav
9 Stashing and Cherry-Picking on Git Research on the web Öğretim Yöntemleri:
Gösterip Yaptırma
10 Submodules in Git Research on the web Öğretim Yöntemleri:
Gösterip Yaptırma
11 Managing Large Repositories in Git Research on the web Öğretim Yöntemleri:
Gösterip Yaptırma
12 GitFlow and Other Workflows in Git Research on the web Öğretim Yöntemleri:
Gösterip Yaptırma
13 Advanced Commands in Git Research on the web Öğretim Yöntemleri:
Gösterip Yaptırma
14 Troubleshooting Git Research on the web Öğretim Yöntemleri:
Gösterip Yaptırma
15 Project Presentation and Evaluation Preparing project Öğretim Yöntemleri:
Proje Temelli Öğrenme
16 Term Exams Topic repetition Ölçme Yöntemleri:
Yazılı Sınav
17 Term Exams Topic repetition Ölçme Yöntemleri:
Yazılı Sınav


Student Workload - ECTS

Works Number Time (Hour) Workload (Hour)
Course Related Works
Class Time (Exam weeks are excluded) 14 2 28
Out of Class Study (Preliminary Work, Practice) 14 1 14
Assesment Related Works
Homeworks, Projects, Others 1 24 24
Mid-term Exams (Written, Oral, etc.) 1 3 3
Final Exam 1 6 6
Total Workload (Hour) 75
Total Workload / 25 (h) 3,00
ECTS 3 ECTS

Update Time: 15.10.2024 11:07