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 |
Label | E Elective |
Mode of study | Yüz Yüze Öğ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 | Explain 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 | He 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 | It 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 | It 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 | Communicates 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 | Have basic knowledge about entrepreneurship, career management and lifelong learning. | |
PLO21 | Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği | Has environmental awareness, environmental sensitivity, basic knowledge about waste storage and safety. |
Week Plan
Week | Topic | Preparation | Methods |
---|---|---|---|
1 | What Is Git and Why Is It Important? What are Distributed Version Control Systems? 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 | Git'te Stashing and Cherry-Picking | 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 , Soru-Cevap |
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 |