Computer Engineering
Course Details

KTO KARATAY UNIVERSITY
Mühendislik ve Doğa Bilimleri Fakültesi
Programme of Computer Engineering
Course Details
Mühendislik ve Doğa Bilimleri Fakültesi
Programme of Computer Engineering
Course Details

| Course Code | Course Name | Year | Period | Semester | T+A+L | Credit | ECTS |
|---|---|---|---|---|---|---|---|
| 05010011 | Introduction to Algorithms | 2025 | Autumn | 1 | 3+0+0 | 3 | 6 |
| Course Type | Compulsory |
| Course Cycle | Bachelor's (First Cycle) (TQF-HE: Level 6 / QF-EHEA: Level 1 / EQF-LLL: Level 6) |
| Course Language | Turkish |
| Methods and Techniques | 1. Theoretical Instruction: Topics are explained theoretically within the scope of the course. Students listen to lectures to grasp the concepts of advanced programming, memory management, and the logic of complex algorithms. 2. Practical Applications: Under the mentorship of the course instructor, students carry out laboratory studies with various examples to apply the theoretical topics. The aim is to achieve the specified learning outcomes through coding practices. 3. Step-by-Step Analysis: Particularly for pointer-based problems and complex data structures, solutions are broken down step-by-step, explaining the memory states and how each step functions. This method ensures students have a stronger grasp of the subjects. 4. Real-Life Examples: To better understand the topics, real-life system programming and engineering problem scenarios are presented. Thus, students see how to use what they have learned in practice. 5. Laboratory Manuals and Quizzes: Students' progress is evaluated through weekly laboratory manuals and pre-exam quizzes, and their comprehension of the topics is continuously monitored. |
| 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) | Asst. Prof. Atakan DAŞDEMİR |
| Instructor Assistant(s) | - |
Course Instructor(s)
| Name and Surname | Room | E-Mail Address | Internal | Meeting Hours |
|---|---|---|---|---|
| Asst. Prof. Şekip Engin MENDİ | A-123 | [email protected] | 7244 | Thursday 14:00-15:00 |
Course Content
1 Control Structures, Loops
2 Functions, Arrays
3 Pointers and Arrays/Strings, Struct pointers, Function pointers
4 Dynamic Memory Management
5 Struct, Union, typedef, enum
6 Modular Programming + Compilation + Header Guard + (Preprocessor Foundation)
7 File Operations
8 Recursion, Introduction to Linked Structures
9 Linked Structures
10 Searching and Sorting Algorithms
11 Preprocessor and Bit Operations
12 Introduction to OOP
2 Functions, Arrays
3 Pointers and Arrays/Strings, Struct pointers, Function pointers
4 Dynamic Memory Management
5 Struct, Union, typedef, enum
6 Modular Programming + Compilation + Header Guard + (Preprocessor Foundation)
7 File Operations
8 Recursion, Introduction to Linked Structures
9 Linked Structures
10 Searching and Sorting Algorithms
11 Preprocessor and Bit Operations
12 Introduction to OOP
Objectives of the Course
The objective of the course is to consolidate students' foundational knowledge in the C programming language and enable them to comprehend advanced programming techniques and low-level memory management. By gaining proficiency in pointers, dynamic memory allocation, and an introduction to data structures, students will develop the skills to solve complex engineering problems and write efficient code closer to the hardware level. Furthermore, they will learn the fundamental building blocks of the software development process and the integration of various modules through modular programming concepts.
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 |
|---|---|---|
| P1 | Adequate knowledge in mathematics, science and related engineering discipline accumulation; theoretical and practical knowledge in these areas, complex engineering the ability to use in problems. | 5 |
| P2 | Ability to identify, formulate, and solve complex engineering problems; ability to select and apply appropriate analysis and modeling methods for this purpose | 5 |
| P3 | Ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions; ability to apply modern design methods for this purpose | 5 |
Course Learning Outcomes
| Upon the successful completion of this course, students will be able to: | |||
|---|---|---|---|
| No | Learning Outcomes | Outcome Relationship | Measurement Method ** |
| O1 | Mathematical models of engineering problems are created and simulated | P.1.6 | 1,4 |
| O2 | Knowledge of algorithm design and analysis techniques. | P.2.5 | 1 |
| O3 | Knowledge of the basic elements of the computer and microprocessor and how to choose the right component. | P.3.2 | 1 |
| O4 | Learning at least one object-oriented programming language. | P.3.3 | |
| O5 | Knowledge and use of software development platforms. | P.3.5 | 4 |
| O6 | Writing control algorithms on microprocessors. | P.3.22 | 4 |
| ** 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 | Iterative and recursive programming techniques |
| 2 | Functions and parameter passing |
| 3 | Pointers and dynamic storage allocation |
| 4 | Multidimensional arryas |
| 5 | Record structures |
| 6 | File systems and file processing |
| 7 | Documentation and testing |
| 8 | Introduction to object oriented programming |
| 9 | Operator overloading |
| 10 | Inheritance, multi-inheritance, abstract base class, polymorphisms |
| 11 | Inline Functions, Nested and Local Class Definitions |
| 12 | Exception handling |
| 13 | Multifile programs |
| 14 | Template, standart template library (stl) |
Textbook or Material
| Resources | Robert Lafore, Object Oriented Programming in C++, Sams, 2001 |
Evaluation Method and Passing Criteria
| In-Term Studies | Quantity | Percentage |
|---|---|---|
| Attendance | - | - |
| Laboratory | - | - |
| Practice | 5 | 20 (%) |
| Course Specific Internship (If Any) | - | - |
| Homework | - | - |
| Presentation | - | - |
| Projects | - | - |
| Quiz | - | - |
| Midterms | 1 | 30 (%) |
| Final Exam | 1 | 50 (%) |
| Total | 100 (%) | |
ECTS / Working Load Table
| Quantity | Duration | Total Work Load | |
|---|---|---|---|
| Course Week Number and Time | 14 | 3 | 42 |
| Out-of-Class Study Time (Pre-study, Library, Reinforcement) | 14 | 3 | 42 |
| Midterms | 1 | 30 | 30 |
| Quiz | 0 | 0 | 0 |
| Homework | 0 | 0 | 0 |
| Practice | 0 | 0 | 0 |
| Laboratory | 5 | 14 | 70 |
| Project | 0 | 0 | 0 |
| Workshop | 0 | 0 | 0 |
| Presentation/Seminar Preparation | 0 | 0 | 0 |
| Fieldwork | 0 | 0 | 0 |
| Final Exam | 1 | 30 | 30 |
| Other | 0 | 0 | 0 |
| Total Work Load: | 214 | ||
| Total Work Load / 30 | 7,13 | ||
| Course ECTS Credits: | 7 | ||
Course - Learning Outcomes Matrix
| Relationship Levels | ||||
| Lowest | Low | Medium | High | Highest |
| 1 | 2 | 3 | 4 | 5 |
| # | Learning Outcomes | P1 | P2 | P3 |
|---|---|---|---|---|
| O1 | Mathematical models of engineering problems are created and simulated | 2 | - | - |
| O2 | Knowledge of algorithm design and analysis techniques. | - | 1 | - |
| O3 | Knowledge of the basic elements of the computer and microprocessor and how to choose the right component. | - | - | 3 |
| O4 | Learning at least one object-oriented programming language. | - | - | 4 |
| O5 | Knowledge and use of software development platforms. | - | - | 2 |
| O6 | Writing control algorithms on microprocessors. | - | - | 1 |
