Computer Programming
Course Details

KTO KARATAY UNIVERSITY
Trade and Industry Vocational School
Programme of Computer Programming
Course Details
Trade and Industry Vocational School
Programme of Computer Programming
Course Details

| Course Code | Course Name | Year | Period | Semester | T+A+L | Credit | ECTS |
|---|---|---|---|---|---|---|---|
| 03841190 | Versioning Tools | 2 | Spring | 4 | 2+1+0 | 5 | 5 |
| Course Type | Elective |
| Course Cycle | Associate (Short Cycle) (TQF-HE: Level 5 / QF-EHEA: Short Cycle / EQF-LLL: Level 5) |
| Course Language | Turkish |
| Methods and Techniques | 1. Teorik Anlatım: Konular ders kapsamında teorik olarak anlatılır. Öğrenciler programlamanın temel kavramlarını ve algoritmaların mantığını kavrayabilmeleri için konu anlatımları dinler. 2. Uygulamalı Çalışmalar: Öğrenciler, teorik olarak anlatılan konuların uygulamasını yapmak için ders eğitmeni mentorlüğünde çeşitli örneklerle çalışmalar gerçekleştirir. Kazanımlar elde edilmeye çalışılır. 3. Adım Adım Çözümleme: Karşılaşılan problemler adım adım çözülerek her adımın nasıl işlediği açıklanır. Bu yöntemle öğrencilerin konulara daha hakim olması sağlanır. 4.Gerçek Hayat Örnekleri: Konuların daha iyi anlaşılması için gerçek hayattan örnekler ve problem senaryoları sunulur. Böylece öğrenciler öğrendiklerini pratikte nasıl kullanacağını görür. 5. Laboratuvar Föyleri ve Quizler: Haftalık laboratuvar föyleri ve sınav öncesi quizler ile öğrencilerin ilerlemesi değerlendirilir, konuların anlaşılıp anlaşılmadığı takip edilir. |
| Mode of Delivery | Face to Face |
| Prerequisites | Dersin herhangi bir ön koşulu bulunmamaktadır. Tüm öğrencilere temel seviyeden başlanarak eğitim verilmektedir. |
| Coordinator | - |
| Instructor(s) | Lect. Uğur POLAT |
| Instructor Assistant(s) | - |
Course Instructor(s)
| Name and Surname | Room | E-Mail Address | Internal | Meeting Hours |
|---|---|---|---|---|
| Lect. Uğur POLAT | TSMYO-T213 | [email protected] | 7860 | Monday 15.00-16.00 |
Course Content
1. Introduction to Version Control and Basic Concepts
2. Git and Basic Commands
3. Branching and Merging
4. Version History and Rollback Operations
5. GitHub and Other Remote Repository Systems
6. Advanced Branching and Merging Operations
7. Git Flow and Other Workflows
8. Tagging and Version Management
9. Conflict Management and Conflict Resolution Techniques
10. Backup, Loading and Security Management
11. Project Management and Code Review Process
12. Term Project and Presentations
2. Git and Basic Commands
3. Branching and Merging
4. Version History and Rollback Operations
5. GitHub and Other Remote Repository Systems
6. Advanced Branching and Merging Operations
7. Git Flow and Other Workflows
8. Tagging and Version Management
9. Conflict Management and Conflict Resolution Techniques
10. Backup, Loading and Security Management
11. Project Management and Code Review Process
12. Term Project and Presentations
Objectives of the Course
The aim of this course is to teach students the basics, working principles and application methods of version control tools used in software development processes. Within the scope of the course, students will get to know the features of centralized and distributed version control systems (e.g. Git and SVN), and will learn about topics such as tracking and recording changes made in the version management process, branching and merging processes.
Students will also learn to manage processes such as code sharing, rollback and conflict resolution by collaborating within the team, and to effectively keep project history under control. At the end of the course, students will be able to create a professional workflow in software development processes by using version control tools in their projects in a safe and orderly manner. This course aims to provide students with a basic competency to be an effective team member in modern software development projects.
Students will also learn to manage processes such as code sharing, rollback and conflict resolution by collaborating within the team, and to effectively keep project history under control. At the end of the course, students will be able to create a professional workflow in software development processes by using version control tools in their projects in a safe and orderly manner. This course aims to provide students with a basic competency to be an effective team member in modern software development projects.
Contribution of the Course to Field Teaching
| Basic Vocational Courses | |
| Specialization / Field Courses | X |
| Support Courses | |
| Transferable Skills Courses | X |
| Humanities, Communication and Management Skills Courses |
Relationships between Course Learning Outcomes and Program Outcomes
| Relationship Levels | ||||
| Lowest | Low | Medium | High | Highest |
| 1 | 2 | 3 | 4 | 5 |
| # | Program Learning Outcomes | Level |
|---|---|---|
| P4 | Effectively uses information technologies (software, programs, animations, etc.) related to her/his profession. | 5 |
| P1 | He/she has basic, current and applied information about his/her profession. | 5 |
| P3 | He/She follows current developments and practices in his profession and uses them effectively. | 5 |
| P5 | Has the ability to independently evaluate professional problems and issues with an analytical and critical approach and propose solutions. | 4 |
| P6 | Can present his/her thoughts effectively through written and verbal communication at the level of knowledge and skills and expresses them in an understandable manner. | 3 |
| P9 | It has social, scientific, cultural and ethical values in the stages of collecting data related to its field, applying it and announcing the results. | 3 |
| P11 | Creates algorithms and data structures and performs mathematical calculations. | 4 |
| P14 | Tests software and fixes bugs. | 5 |
Course Learning Outcomes
| Upon the successful completion of this course, students will be able to: | |||
|---|---|---|---|
| No | Learning Outcomes | Outcome Relationship | Measurement Method ** |
| O1 | Knows how to develop algorithms and creates a data structure suitable for the algorithm. | P.4.1 | 1,4,7 |
| O2 | Have knowledge about current programming languages. | P.4.5 | 1,4,7 |
| O3 | Knows how to use the internet and do research. | P.1.2 | 1,6,7 |
| O4 | Can perform basic mathematical analyses related to his/her profession. | P.1.3 | 1,6,7 |
| O5 | Must know and use current software development platforms. | P.3.2 | 1,7 |
| O6 | Analyzes complex problems and develops solution strategies | P.3.4 | 1,7 |
| O7 | Have basic analysis knowledge. | P.3.5 | 1,7 |
| O8 | Tests software and fixes bugs. | P.5.1 | 1,4,7 |
| O9 | Knows analytical, effective research and solution techniques to identify problems. | P.5.2 | 1,4,7 |
| O10 | Evaluates alternative solutions and selects the most appropriate one. | P.5.3 | 1,4,7 |
| O11 | Knows how to develop algorithms and creates a data structure appropriate to the algorithm. | P.11.1 | 1,5,6,7 |
| O12 | Knows and uses current Information Technology platforms. | P.11.2 | 1,5,6,7 |
| O13 | Has knowledge of current programming languages. | P.11.3 | 1,5,6,7 |
| O14 | Has knowledge in the field of Digital Systems. | P.11.7 | 1,5,6,7 |
| O15 | Tests software and fixes bugs. | P.14.1 | 1,5,6,7 |
| ** Written Exam: 1, Oral Exam: 2, Homework: 3, Lab./Exam: 4, Seminar/Presentation: 5, Term Paper: 6, Application: 7 | |||
Weekly Detailed Course Contents
| Week | Topics |
|---|---|
| 1 | Introduction to Version Control and Basic Concepts |
| 2 | Git and Basic Commands |
| 3 | Branching and Merging |
| 4 | Version History and Rollbacks |
| 5 | GitHub and Other Remote Repository Systems |
| 6 | Advanced Branching and Merging Operations |
| 7 | Pre-Exam Quiz and General Review |
| 8 | Mid-term Exam |
| 9 | Git Flow and Other Workflows |
| 10 | Tagging and Version Management |
| 11 | Conflict Management and Conflict Resolution Techniques |
| 12 | Backup, Installation and Security Management |
| 13 | Project Management and Code Review Process |
| 14 | Term Project and Presentations |
| 15 | Pre-Exam Quiz and General Review |
| 16 | Final Exam |
Textbook or Material
| Resources | Jon Loeliger ve Matthew McCullough, "Version Control with Git", 2nd Edition |
Evaluation Method and Passing Criteria
| In-Term Studies | Quantity | Percentage |
|---|---|---|
| Attendance | - | - |
| Laboratory | - | - |
| Practice | - | - |
| Field Study | - | - |
| Course Specific Internship (If Any) | - | - |
| Homework | - | - |
| Presentation | - | - |
| Projects | 1 | 20 (%) |
| Seminar | - | - |
| Quiz | 2 | 10 (%) |
| Listening | - | - |
| Midterms | 1 | 30 (%) |
| Final Exam | 1 | 40 (%) |
| Total | 100 (%) | |
ECTS / Working Load Table
| Quantity | Duration | Total Work Load | |
|---|---|---|---|
| Course Week Number and Time | 16 | 2 | 32 |
| Out-of-Class Study Time (Pre-study, Library, Reinforcement) | 14 | 4 | 56 |
| Midterms | 1 | 6 | 6 |
| Quiz | 2 | 2 | 4 |
| Homework | 0 | 0 | 0 |
| Practice | 0 | 0 | 0 |
| Laboratory | 0 | 0 | 0 |
| Project | 1 | 32 | 32 |
| Workshop | 0 | 0 | 0 |
| Presentation/Seminar Preparation | 1 | 4 | 4 |
| Fieldwork | 0 | 0 | 0 |
| Final Exam | 1 | 16 | 16 |
| Other | 0 | 0 | 0 |
| Total Work Load: | 150 | ||
| Total Work Load / 30 | 5 | ||
| Course ECTS Credits: | 5 | ||
Course - Learning Outcomes Matrix
| Relationship Levels | ||||
| Lowest | Low | Medium | High | Highest |
| 1 | 2 | 3 | 4 | 5 |
| # | Learning Outcomes | P1 | P3 | P4 | P5 | P11 | P14 |
|---|---|---|---|---|---|---|---|
| O1 | Knows how to use the internet and do research. | 5 | - | - | - | - | - |
| O2 | Can perform basic mathematical analyses related to his/her profession. | 4 | - | - | - | - | - |
| O3 | Must know and use current software development platforms. | - | 5 | - | - | - | - |
| O4 | Analyzes complex problems and develops solution strategies | - | 5 | - | - | - | - |
| O5 | Have basic analysis knowledge. | - | 5 | - | - | - | - |
| O6 | Knows how to develop algorithms and creates a data structure suitable for the algorithm. | - | - | 5 | - | - | - |
| O7 | Have knowledge about current programming languages. | - | - | 5 | - | - | - |
| O8 | Tests software and fixes bugs. | - | - | - | 3 | - | - |
| O9 | Knows analytical, effective research and solution techniques to identify problems. | - | - | - | 5 | - | - |
| O10 | Evaluates alternative solutions and selects the most appropriate one. | - | - | - | 5 | - | - |
| O11 | Knows how to develop algorithms and creates a data structure appropriate to the algorithm. | - | - | - | - | 5 | - |
| O12 | Knows and uses current Information Technology platforms. | - | - | - | - | 4 | - |
| O13 | Has knowledge of current programming languages. | - | - | - | - | 5 | - |
| O14 | Has knowledge in the field of Digital Systems. | - | - | - | - | 5 | - |
| O15 | Tests software and fixes bugs. | - | - | - | - | - | 5 |
