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 |
|---|---|---|---|---|---|---|---|
| 03820106 | Programming Fundamentals II | 2025 | Spring | 2 | 3+2+0 | 5 | 5 |
| Course Type | Compulsory |
| Course Cycle | Associate (Short Cycle) (TQF-HE: Level 5 / QF-EHEA: Short Cycle / EQF-LLL: Level 5) |
| Course Language | Turkish |
| Methods and Techniques | 1. Theoretical Lecture: Topics are explained theoretically within the scope of the course. Students listen to lectures to understand the basic concepts of programming and the logic of algorithms. 2. Practical Work: Students work with various examples under the mentorship of the course instructor to apply the topics explained theoretically. Efforts are made to achieve learning outcomes. 3. Step-by-Step Solution: Problems are solved step-by-step, and how each step works is explained. This method helps students gain a better understanding of the topics. 4. Real-Life Examples: Real-life examples and problem scenarios are presented to help students better understand the topics. This allows students to see how to use what they have learned in practice. 5. Laboratory Worksheets and Quizzes: Weekly laboratory worksheets and pre-exam quizzes are used to evaluate students' progress and monitor their understanding of the topics. |
| Mode of Delivery | Face to Face |
| Prerequisites | There are no prerequisites for the course. All students receive instruction starting from the basic level. |
| 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 | C-129 | [email protected] | 7860 | Thursday 14.00-16.00 |
Course Content
Modular programming and function architecture; Arrays, multidimensional arrays, and basic searching/sorting algorithms; String class, text processing, and character array operations; Pointers, memory addressing, and pointer relationships with functions and arrays; Dynamic memory allocation, memory management, Stack and Heap usage; Generic programming, Templates, and Standard Template Library (STL - vector, list, map, etc.); Recursion logic and recursive algorithm design; Introduction to Object-Oriented Programming (OOP), classes, and objects; Applied term project design and implementation.
Objectives of the Course
The objective of this course is to provide students with advanced programming concepts beyond the fundamentals, focusing on modular software development, memory management, and data structuring techniques. By covering functions, arrays, string manipulation, pointers, dynamic memory management (stack/heap), templates, Standard Template Library (STL), recursion, and an introduction to Object-Oriented Programming (OOP), the course aims to equip students with the skills to solve complex problems analytically, write memory-efficient code, and execute end-to-end software projects.
Contribution of the Course to Field Teaching
| Basic Vocational Courses | X |
| Specialization / Field Courses | |
| Support Courses | |
| Transferable Skills Courses | |
| 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. | 4 |
| 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 |
| P11 | Creates algorithms and data structures and performs mathematical calculations. | 5 |
| 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,6 |
| O2 | Have knowledge about current programming languages. | P.4.5 | 1,6 |
| O3 | Knows the basic elements of a computer. | P.1.1 | 1,7 |
| O4 | Knows how to use the internet and do research. | P.1.2 | 6,7 |
| O5 | Can perform basic mathematical analyses related to his/her profession. | P.1.3 | 6,7 |
| O6 | Must know and use current software development platforms. | P.3.2 | 6,7 |
| O7 | Analyzes complex problems and develops solution strategies | P.3.4 | 6,7 |
| O8 | Tests software and fixes bugs. | P.5.1 | 1,6,7 |
| O9 | Knows analytical, effective research and solution techniques to identify problems. | P.5.2 | 1,6,7 |
| O10 | Evaluates alternative solutions and selects the most appropriate one. | P.5.3 | 6,7 |
| O11 | Evaluate computer science topics and algorithms using critical thinking skills | P.5.4 | 1,6 |
| O12 | Can develop solutions to mathematical problems | P.5.6 | 1 |
| O13 | Knows how to develop algorithms and creates a data structure appropriate to the algorithm. | P.11.1 | 1,6,7 |
| O14 | Knows and uses current Information Technology platforms. | P.11.2 | 6,7 |
| O15 | Has knowledge of current programming languages. | P.11.3 | 1,6,7 |
| O16 | Knows and uses Object Oriented Programming Techniques. | P.11.4 | 1,6,7 |
| O17 | Tests software and fixes bugs. | P.14.1 | 1,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 | Review of Programming Fundamentals and Modular Design |
| 2 | Functions: Parameter Passing, Return Values, and Overloading |
| 3 | Arrays and Basic Algorithms (Searching and Sorting) |
| 4 | String Class, Character Array Operations, and Text Manipulation |
| 5 | Pointers: Memory Addressing and Pointer Arithmetic, Pointers with Functions and Arrays |
| 6 | Dynamic Memory Management: Stack vs Heap and Memory Allocation |
| 7 | Pre-Exam Quiz and General Review |
| 8 | Mid-term Exam |
| 9 | Templates and Introduction to Generic Programming |
| 10 | Standard Template Library (STL) I: Vectors and Iterators |
| 11 | Standard Template Library (STL) II: Lists, Maps, and Algorithms |
| 12 | Recursion Logic and Recursive Algorithm Design |
| 13 | Introduction to OOP: Classes and Objects |
| 14 | Term Project Evaluations and Presentations |
| 15 | Pre-Exam Quiz and General Review |
| 16 | Final Exam |
Textbook or Material
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 | 4 | 64 |
| Out-of-Class Study Time (Pre-study, Library, Reinforcement) | 14 | 2 | 28 |
| Midterms | 1 | 10 | 10 |
| Quiz | 2 | 2 | 4 |
| Homework | 0 | 0 | 0 |
| Practice | 14 | 4 | 56 |
| Laboratory | 0 | 0 | 0 |
| Project | 7 | 1 | 7 |
| Workshop | 0 | 0 | 0 |
| Presentation/Seminar Preparation | 0 | 0 | 0 |
| Fieldwork | 0 | 0 | 0 |
| Final Exam | 1 | 10 | 10 |
| Other | 0 | 0 | 0 |
| Total Work Load: | 179 | ||
| Total Work Load / 30 | 5,97 | ||
| Course ECTS Credits: | 6 | ||
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 the basic elements of a computer. | 5 | - | - | - | - | - |
| O2 | Knows how to use the internet and do research. | 4 | 3 | - | - | - | - |
| O3 | Can perform basic mathematical analyses related to his/her profession. | 4 | - | - | 3 | - | - |
| O4 | Must know and use current software development platforms. | - | 5 | 5 | - | 3 | - |
| O5 | Analyzes complex problems and develops solution strategies | - | 4 | - | 5 | 4 | - |
| O6 | Knows how to develop algorithms and creates a data structure suitable for the algorithm. | - | - | 5 | - | 5 | - |
| O7 | Have knowledge about current programming languages. | - | - | 5 | - | 4 | - |
| O8 | Tests software and fixes bugs. | - | - | - | 3 | - | 5 |
| O9 | Knows analytical, effective research and solution techniques to identify problems. | - | - | - | 5 | - | 4 |
| O10 | Evaluates alternative solutions and selects the most appropriate one. | - | 3 | - | 5 | - | - |
| O11 | Evaluate computer science topics and algorithms using critical thinking skills | - | - | - | 4 | 4 | - |
| O12 | Can develop solutions to mathematical problems | - | - | - | 4 | 4 | - |
| O13 | Knows how to develop algorithms and creates a data structure appropriate to the algorithm. | - | - | 4 | - | 5 | - |
| O14 | Knows and uses current Information Technology platforms. | - | 3 | 4 | - | 5 | - |
| O15 | Has knowledge of current programming languages. | - | - | 4 | - | 5 | - |
| O16 | Knows and uses Object Oriented Programming Techniques. | - | - | 4 | - | 4 | - |
| O17 | Tests software and fixes bugs. | - | - | - | 3 | - | 5 |
