Your transaction is in progress.
Please Wait...
Course Details
KTO KARATAY UNIVERSITY
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
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