Information
| Unit | ADANA VOCATIONAL SCHOOL |
| Code | BPP261 |
| Name | Version Control and Software Processes |
| Term | 2026-2027 Academic Year |
| Semester | 3. Semester |
| Duration (T+A) | 2-1 (T-A) (17 Week) |
| ECTS | 4 ECTS |
| National Credit | 2.5 National Credit |
| Teaching Language | Türkçe |
| Level | Belirsiz |
| Type | Normal |
| Label | C Compulsory |
| Mode of study | Yüz Yüze Öğretim |
| Catalog Information Coordinator | Öğr. Gör. Dr. MEHMET İSMAİL SOLMAZ |
| Course Instructor |
The current term course schedule has not been prepared yet.
|
Course Goal / Objective
The aim of this course is to enable students not only to write code, but also to plan, monitor, organize, and share the software development process. By the end of the course, students are expected to use command-line tools, perform basic version control operations with Git, prepare technical documentation, and recognize and apply fundamental workflows for teamwork.
Course Content
This course covers command-line usage, version control with Git, basic workflows in local and remote repositories, branching and merging operations, conflict resolution, technical documentation with Markdown, issue tracking, and the fundamental concepts of agile software development. Practical activities are carried out primarily in offline and local environments; collaboration scenarios are supported through shared folders, bare repositories, and, when available, local network/Gitea infrastructure. Online processes such as GitHub, Fork, Pull Request, and CI/CD are addressed at the level of demonstration and basic awareness.
Course Precondition
Having completed the Fundamentals of Programming course.
Resources
Course notes will be provided by the instructor. Up-to-date documents and practical examples related to Git fundamentals, Markdown usage, and basic agile software development concepts will be used as supporting materials. Recommended resources include Pro Git, Git for Windows usage notes, introductory Markdown guides, and practice handouts prepared by the instructor.
Notes
Scott Chacon, Ben Straub, Pro Git (2nd Edition), Apress / git-scm.com. Git Reference Documentation, git-scm.com/docs. Git Tutorial, git-scm.com/docs/gittutorial. Markdown Guide, markdownguide.org. GitHub Docs - Pull Requests, Forks, and Remote Repositories, docs.github.com. The Scrum Guide, scrumguides.org.
Course Learning Outcomes
| Order | Course Learning Outcomes |
|---|---|
| LO01 | Applies basic file, folder, and repository operations using command-line tools. |
| LO02 | Creates a local repository using Git, tracks changes, and performs basic commit operations. |
| LO03 | Applies branching and merging operations and resolves basic conflict situations. |
| LO04 | Prepares README files and basic technical documentation using Markdown. |
| LO05 | Explains the logic of local and remote repositories and applies basic sharing, synchronization, and collaboration workflows. |
| LO06 | Relates the concepts of issue tracking, agile workflow, and continuous integration at a basic level and evaluates their role in the software development process. |
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. | 3 |
| PLO02 | Bilgi - Kuramsal, Olgusal | has the basic knowledge necessary to develop computer software, to establish algorithm, sequential and simultaneous flow logic | 1 |
| 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. | 5 |
| 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. | 4 |
| PLO06 | Bilgi - Kuramsal, Olgusal | Explains the necessary methods for solving well-defined problems in the field of Computer Technologies and Programming. | 3 |
| PLO07 | Bilgi - Kuramsal, Olgusal | Has the basic knowledge level required to develop software specific to web, mobile and other electronic platforms. | 1 |
| 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. | 2 |
| PLO13 | Beceriler - Bilişsel, Uygulamalı | Codes software components that have been analyzed and the algorithm has been prepared. | 1 |
| 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. | 4 |
| 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. | 4 |
| 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 | Version Control and Software Discipline | Research the purpose of version control and the basic role of Git. | Öğretim Yöntemleri: Anlatım, Tartışma |
| 2 | Command Line Interface (CLI) and Terminal Usage | Review the concepts of file, folder, and path. | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama |
| 3 | Local Repository Management | Review the basic logic of the init, add, commit, and status commands. | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 4 | Tracking History and File Filtering | Research the concepts of log, diff, and .gitignore. | Öğretim Yöntemleri: Gösterip Yaptırma |
| 5 | Branching Logic | Review the concept of branches and the feature development approach. | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama |
| 6 | Merge and Conflict Management | Research the basic logic of merge and conflict concepts. | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 7 | Technical Documentation (Markdown) | Review the purpose of a README file and Markdown syntax. | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama |
| 8 | Mid-Term Exam | Review the topics covered in the first seven weeks. | Ölçme Yöntemleri: Yazılı Sınav |
| 9 | Remote Repository Logic - Offline Introduction | Review the basic differences between clone, push, fetch, and pull commands. | Öğretim Yöntemleri: Gösterip Yaptırma |
| 10 | Teamwork in a Local Environment | Research shared repository usage and collaborative workflow scenarios. | Öğretim Yöntemleri: Grup Çalışması, Anlatım |
| 11 | GitHub, Fork, and Pull Request Overview | Review the basic logic of GitHub, fork, and pull request concepts. | Öğretim Yöntemleri: Anlatım |
| 12 | Agile Project Management and Scrum | Research the concepts of Agile, Scrum, sprint, and backlog. | Öğretim Yöntemleri: Anlatım |
| 13 | Issue Tracking | Review task records, bug reports, and their relationship with commits. | Öğretim Yöntemleri: Alıştırma ve Uygulama |
| 14 | Continuous Integration (CI/CD) Overview | Research the basic logic of CI/CD concepts. | Öğretim Yöntemleri: Anlatım |
| 15 | Final Project Presentation and Evaluation | Review your repository history, README file, and project outputs. | Öğretim Yöntemleri: Gösteri |
| 16 | Term Exams | Review all course topics covered throughout the semester. | Ölçme Yöntemleri: Yazılı Sınav |
| 17 | Term Exams | Review all course topics covered throughout the semester. | Ö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 | 3 | 42 |
| Out of Class Study (Preliminary Work, Practice) | 14 | 2 | 28 |
| Assesment Related Works | |||
| Homeworks, Projects, Others | 1 | 20 | 20 |
| Mid-term Exams (Written, Oral, etc.) | 1 | 5 | 5 |
| Final Exam | 1 | 5 | 5 |
| Total Workload (Hour) | 100 | ||
| Total Workload / 25 (h) | 4,00 | ||
| ECTS | 4 ECTS | ||