Information Package / Course Catalogue
Data Structures and Algorithms
Course Code: YBS205
Course Type: Required
Couse Group: First Cycle (Bachelor's Degree)
Education Language: Turkish
Work Placement: N/A
Theory: 3
Prt.: 0
Credit: 3
Lab: 0
ECTS: 6
Objectives of the Course

The aim of this course is to equip students with structured and object-oriented programming skills using the C++ programming language, to teach the operational logic of fundamental data structures and algorithms, and to improve their problem-solving abilities. Within the scope of the course, students first learn the fundamental structures of the C++ programming language and subsequently examine data structures and algorithm design concepts through practical applications.

Course Content

Within the scope of the course, the fundamental concepts of the C++ programming language are first introduced in detail, including data types, variables, operators, decision structures, loops, functions, arrays, character arrays, pointer usage, dynamic memory management, and file operations. In addition, the concepts of structures (`struct`) and classes (`class`) are covered as an introduction to object-oriented programming. In the continuation of the course, data structures and algorithms are examined. In this context, algorithm analysis, time complexity, and Big-O notation are explained, while fundamental data structures such as linked lists, stacks, queues, and tree structures are introduced. Furthermore, linear search, binary search, and basic sorting algorithms are studied through practical applications. By the end of the course, it is aimed to improve students’ skills in problem solving, algorithm development, and selecting appropriate data structures.

Name of Lecturer(s)
Prof. Muhsin ÖZDEMİR
Learning Outcomes
1.Can develop programs using the fundamental structures of the C++ programming language.
2.Can apply algorithmic thinking approaches in problem-solving processes.
3.Can effectively use fundamental programming structures such as functions, arrays, pointers, and classes
4.Can perform data organization and management using fundamental data structures.
5.Can analyze and implement the operational logic of basic searching and sorting algorithms.
Recommended or Required Reading
1.Rifat Çölkesen, Veri Yapıları ve Algoritmalar, Papatya Yayıncılık 2002.
2.2. Cormen, Leiserton, Rivest, Introduction to Algorithms, MIT Press, 2001
3.Horowitz, Sahni, Rajasekaran, Computer Algorithms, Computer Science Press, 1998.
Weekly Detailed Course Contents
Week 1 - Theoretical
Introduction to Programming and the C++ Language * Concepts of algorithms and programming * Concepts of compilers and interpreters * Installation of the C++ development environment * First C++ program * Basic syntax rules * Data types and variables Practice * Simple input/output programs
Week 1 - Preparation Work
Course Material
Week 2 - Theoretical
Operators and Programming Expressions * Arithmetic operators * Logical operators * Comparison operators * Assignment operators * Operator precedence * Type conversions Practice * Mathematical operation programs
Week 2 - Preparation Work
Course Material
Week 3 - Theoretical
Decision Structures * if and if–else structures * switch–case structures * Nested conditions * Logical decision mechanisms Practice * Decision-making algorithms
Week 3 - Preparation Work
Course Material
Week 4 - Theoretical
Loops * for loops * while loops * do–while loops * Concept of infinite loops * Use of break and continue statements Practice * Series and repetition operations
Week 4 - Preparation Work
Course Material
Week 5 - Theoretical
Functions * Function definition * Parameter usage * Return values * Local and global variables * Introduction to recursive functions Practice * Development of mathematical functions
Week 5 - Preparation Work
Course Material
Week 6 - Theoretical
Arrays and Character Arrays * One-dimensional arrays * Multi-dimensional arrays * String operations * Character arrays Practice * Array-based problem solving
Week 6 - Preparation Work
Course Material
Week 7 - Theoretical
Pointers and Memory Management * Memory structure * Pointer concepts * Pointer operations * Dynamic memory usage * new and delete operations Practice * Examples of dynamic data structures
Week 7 - Preparation Work
Course Material
Week 8 - Theoretical
Structures and Introduction to Object-Oriented Programming * Use of structs * Concept of classes * Object creation * Access specifiers * Constructor concepts Practice * Simple class designs
Week 8 - Preparation Work
Course Material
Week 9 - Theoretical
File Operations * File reading and writing operations * Working with text files * Error control mechanisms * General review and applications in C++ Practice * File-based mini applications
Week 9 - Preparation Work
Course Material
Week 10 - Theoretical
Introduction to Data Structures and Algorithm Analysis * Concepts of data structures * Abstract Data Types (ADT) * Algorithm analysis * Time complexity * Big-O notation Practice * Basic algorithm analyses
Week 10 - Preparation Work
Course Material
Week 11 - Theoretical
Linked Lists * Singly linked lists * Doubly linked lists * Connections between nodes * Insertion and deletion operations Practice * Linked list applications
Week 11 - Preparation Work
Course Material
Week 12 - Theoretical
Stack and Queue * Stack data structure * Push/Pop operations * Queue data structure * FIFO and LIFO logic * Queue applications Practice * Parenthesis matching * Queue simulations
Week 12 - Preparation Work
Course Material
Week 13 - Theoretical
Searching and Sorting Algorithms * Linear search * Binary search * Bubble sort * Selection sort * Insertion sort Practice * Algorithm performance comparisons
Week 13 - Preparation Work
Course Material
Week 14 - Theoretical
Tree Structures and General Evaluation * Concepts of tree data structures * Binary tree structures * Concepts of nodes and levels * Tree traversal methods * General review and project evaluation Practice * Simple tree applications
Week 14 - Preparation Work
Course Material
Week 15 - Preparation Work
Week 16 - Preparation Work
Week 17 - Preparation Work
Week 18 - Preparation Work
Week 19 - Preparation Work
Week 20 - Preparation Work
Week 21 - Preparation Work
Week 22 - Preparation Work
Week 23 - Preparation Work
Week 24 - Preparation Work
Week 25 - Preparation Work
Week 26 - Preparation Work
Week 27 - Preparation Work
Week 28 - Preparation Work
Week 29 - Preparation Work
Week 30 - Preparation Work
Week 31 - Preparation Work
Week 32 - Preparation Work
Assessment Methods and Criteria
Type of AssessmentCountPercent
Quiz2%10
Midterm Examination1%30
Final Examination1%60
Workload Calculation
ActivitiesCountPreparationTimeTotal Work Load (hours)
Lecture - Theory132365
Assignment132026
Individual Work132026
Quiz1819
Midterm Examination19110
Final Examination113114
TOTAL WORKLOAD (hours)150
Contribution of Learning Outcomes to Programme Outcomes
PÇ-1
PÇ-2
PÇ-3
PÇ-4
PÇ-5
PÇ-6
PÇ-7
PÇ-8
PÇ-9
PÇ-10
PÇ-11
PÇ-12
PÇ-13
PÇ-14
PÇ-15
OÇ-1
4
4
4
3
2
4
4
3
3
2
4
3
4
3
3
OÇ-2
5
4
5
3
3
5
5
4
4
2
4
3
5
4
4
OÇ-3
4
5
5
3
3
4
4
4
3
2
5
4
4
3
4
OÇ-4
4
4
5
3
3
4
4
5
4
2
5
3
4
3
5
OÇ-5
4
4
4
2
2
4
5
4
4
2
4
2
5
3
4
Adnan Menderes University - Information Package / Course Catalogue
2026