Course Detail
Course Detail
Course Description
| Course | Code | Semester | T+P (Hour) | Credit | ECTS |
|---|---|---|---|---|---|
| DATA STRUCTURES | IND3233850 | Spring Semester | 3+2 | 4 | 8 |
| Course Program |
| Prerequisites Courses | |
| Recommended Elective Courses |
| Language of Course | English |
| Course Level | First Cycle (Bachelor's Degree) |
| Course Type | Elective |
| Course Coordinator | Assist.Prof. Ahmet KAPLAN |
| Name of Lecturer(s) | Assist.Prof. Ahmet KAPLAN |
| Assistant(s) | Teaching assistant for the lab sessions. |
| Aim | This course aims to teach how to organize data in a computer so that it can be used for designing efficient algorithms to solve various types of problems. Topics covered include arrays, lists, stacks, queues, trees, heaps, graphs and the use of these data structures for searching, sorting, selection and other related applications. Python Programming language will be used for the implementation of data-structures. |
| Course Content | This course contains; Introduction to data structures and algorithms; Introduction to Basics of Python Setting up AI IDE extensions. Using AI to explain complexity classes.,Functions, Arrays, and Pointers. AI prompt engineering to generate node classes and basic functions.,Strings, Structs, and Memory Allocation Using AI to simulate real-world scenarios (e.g., CPU scheduling) using these structures.,Algorithm analysis and complexity notations Asking AI to analyze the algorithms and identify the problems when hallucinations occur.,Fundamental data structures: Linked Lists, Stacks and Queues Working with AI for visualizing Linked Lists, Stacks and Queues and identify differences,Recursion & Search Asking AI to visualize recursive calls and identify base cases to prevent stack overflow.,Sorting Algorithms AI-assisted comparative analysis of quicksort vs. mergesort.,Trees and Binary Search Trees AI-assisted implementation of insertion, deletion, and balancing logic of trees,Priority Queues and Heaps Using AI to implement priority queues for engineering optimization problems.,Graph Algorithms (BFS/DFS) Working with AI to generate traversal paths for adjacency matrices and adjacency lists.,Hashing and Collision Using AI to suggest hash functions, analyze collision rates and large datasets using hash maps and trees.,Refactoring & Optimization Feeding working, inefficient code to AI and asking for optimized alternatives.,Debugging AI Code Intentionally using flawed AI code and teaching students how to debug it.. |
| Course Learning Outcomes | Teaching Methods | Assessment Methods |
| Explain basic principles of algorithm analysis. | 12, 21, 6, 9 | A |
| Apply basic data structures, such as arrays, lists, stacks and queues, to algorithmic design | 12, 17, 2, 21, 6, 9 | A, F |
| Applys the tree, binary tree, heap, hash tables, and graph data structures in problem solutions | 12, 17, 6, 9 | A |
| Choose the right data type for efficient solution of a problem. | 12, 17, 2, 6, 9 | F |
| Analyze the accuracy, complexity and efficiency of an algorithmic solution. | 17, 2, 21, 6, 9 | A, F |
| Use AI tools to generate boilerplate code, explain complex algorithms, and debug code efficiently. | 5 | E |
| Evaluate AI-generated code for correctness, efficiency, and security vulnerabilities. | 19, 37 | F |
| Teaching Methods: | 12: Problem Solving Method, 17: Experimental Technique, 19: Brainstorming Technique, 2: Project Based Learning Model, 21: Simulation Technique, 37: Computer-Internet Supported Instruction, 5: Cooperative Learning, 6: Experiential Learning, 9: Lecture Method |
| Assessment Methods: | A: Traditional Written Exam, E: Homework, F: Project Task |
Course Outline
| Order | Subjects | Preliminary Work |
|---|---|---|
| 1 | Introduction to data structures and algorithms; Introduction to Basics of Python Setting up AI IDE extensions. Using AI to explain complexity classes. | Book Chapter 1, Lecture Slides 1 |
| 2 | Functions, Arrays, and Pointers. AI prompt engineering to generate node classes and basic functions. | Book Chapter 1 and 3, Lecture Slides 2 |
| 3 | Strings, Structs, and Memory Allocation Using AI to simulate real-world scenarios (e.g., CPU scheduling) using these structures. | Book Chapter 4 ve 5, Lecture Slides 3 |
| 4 | Algorithm analysis and complexity notations Asking AI to analyze the algorithms and identify the problems when hallucinations occur. | Book Chapter 2, Lecture Slides 4 |
| 5 | Fundamental data structures: Linked Lists, Stacks and Queues Working with AI for visualizing Linked Lists, Stacks and Queues and identify differences | Book Chapter 6, Lecture Slides 4 |
| 6 | Recursion & Search Asking AI to visualize recursive calls and identify base cases to prevent stack overflow. | Book Chapter 7, Lecture Slides 6 |
| 7 | Sorting Algorithms AI-assisted comparative analysis of quicksort vs. mergesort. | Book Chapter 8, Lecture Slides 7 |
| 8 | Trees and Binary Search Trees AI-assisted implementation of insertion, deletion, and balancing logic of trees | Book Chapter 9,10,11 Lecture Slides 8 |
| 9 | Priority Queues and Heaps Using AI to implement priority queues for engineering optimization problems. | Book Chapter 12, Lecture Slides 10 |
| 10 | Graph Algorithms (BFS/DFS) Working with AI to generate traversal paths for adjacency matrices and adjacency lists. | Book Chapter 13, Lecture Slides 11 |
| 11 | Hashing and Collision Using AI to suggest hash functions, analyze collision rates and large datasets using hash maps and trees. | Book Chapter 14, 15, Lecture Slides 13 |
| 12 | Refactoring & Optimization Feeding working, inefficient code to AI and asking for optimized alternatives. | Book Chapter 16, Lecture Slides 14 |
| 13 | Debugging AI Code Intentionally using flawed AI code and teaching students how to debug it. |
| Resources |
| Course Textbook: Problem Solving with Algorithms and Data Structures using Python By Brad Miller and David Ranum, Luther College |
| Supplementary Material: https://runestone.academy/ns/books/published/medipol_datastructures_spring2026/index.html Lecture presentations and notes |
Course Contribution to Program Qualifications
| Course Contribution to Program Qualifications | |||||||
| No | Program Qualification | Contribution Level | |||||
| 1 | 2 | 3 | 4 | 5 | |||
| 1 | Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied knowledge in these areas in the solution of complex engineering problems. | X | |||||
| 2 | Ability to formulate, and solve complex engineering problems; ability to select and apply proper analysis and modeling methods for this purpose. | X | |||||
| 3 | Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern design methods for this purpose. | X | |||||
| 4 | Ability to select and use modern techniques and tools needed for analyzing and solving complex problems encountered in engineering practice; ability to employ information technologies effectively. | X | |||||
| 5 | Ability to design and conduct experiments, gather data, analyze and interpret results for investigating complex engineering problems or discipline specific research questions. | ||||||
| 6 | Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually. | ||||||
| 7 | Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language; ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions. | ||||||
| 8 | Awareness of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself. | ||||||
| 9 | Knowledge on behavior according ethical principles, professional and ethical responsibility and standards used in engineering practices. | ||||||
| 10 | Knowledge about business life practices such as project management, risk management, and change management; awareness in entrepreneurship, innovation; knowledge about sustainable development. | ||||||
| 11 | Knowledge about the global and social effects of engineering practices on health, environment, and safety, and contemporary issues of the century reflected into the field of engineering; awareness of the legal consequences of engineering solutions. | ||||||
Assessment Methods
| Contribution Level | Absolute Evaluation | |
| Rate of Midterm Exam to Success | 30 | |
| Rate of Final Exam to Success | 70 | |
| Total | 100 | |
| ECTS / Workload Table | ||||||
| Activities | Number of | Duration(Hour) | Total Workload(Hour) | |||
| Course Hours | 14 | 3 | 42 | |||
| Guided Problem Solving | 14 | 2 | 28 | |||
| Resolution of Homework Problems and Submission as a Report | 14 | 5 | 70 | |||
| Term Project | 14 | 2 | 28 | |||
| Presentation of Project / Seminar | 0 | 0 | 0 | |||
| Quiz | 7 | 1 | 7 | |||
| Midterm Exam | 1 | 30 | 30 | |||
| General Exam | 1 | 40 | 40 | |||
| Performance Task, Maintenance Plan | 0 | 0 | 0 | |||
| Total Workload(Hour) | 245 | |||||
| Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(245/30) | 8 | |||||
| ECTS of the course: 30 hours of work is counted as 1 ECTS credit. | ||||||
Detail Informations of the Course
Course Description
| Course | Code | Semester | T+P (Hour) | Credit | ECTS |
|---|---|---|---|---|---|
| DATA STRUCTURES | IND3233850 | Spring Semester | 3+2 | 4 | 8 |
| Course Program |
| Prerequisites Courses | |
| Recommended Elective Courses |
| Language of Course | English |
| Course Level | First Cycle (Bachelor's Degree) |
| Course Type | Elective |
| Course Coordinator | Assist.Prof. Ahmet KAPLAN |
| Name of Lecturer(s) | Assist.Prof. Ahmet KAPLAN |
| Assistant(s) | Teaching assistant for the lab sessions. |
| Aim | This course aims to teach how to organize data in a computer so that it can be used for designing efficient algorithms to solve various types of problems. Topics covered include arrays, lists, stacks, queues, trees, heaps, graphs and the use of these data structures for searching, sorting, selection and other related applications. Python Programming language will be used for the implementation of data-structures. |
| Course Content | This course contains; Introduction to data structures and algorithms; Introduction to Basics of Python Setting up AI IDE extensions. Using AI to explain complexity classes.,Functions, Arrays, and Pointers. AI prompt engineering to generate node classes and basic functions.,Strings, Structs, and Memory Allocation Using AI to simulate real-world scenarios (e.g., CPU scheduling) using these structures.,Algorithm analysis and complexity notations Asking AI to analyze the algorithms and identify the problems when hallucinations occur.,Fundamental data structures: Linked Lists, Stacks and Queues Working with AI for visualizing Linked Lists, Stacks and Queues and identify differences,Recursion & Search Asking AI to visualize recursive calls and identify base cases to prevent stack overflow.,Sorting Algorithms AI-assisted comparative analysis of quicksort vs. mergesort.,Trees and Binary Search Trees AI-assisted implementation of insertion, deletion, and balancing logic of trees,Priority Queues and Heaps Using AI to implement priority queues for engineering optimization problems.,Graph Algorithms (BFS/DFS) Working with AI to generate traversal paths for adjacency matrices and adjacency lists.,Hashing and Collision Using AI to suggest hash functions, analyze collision rates and large datasets using hash maps and trees.,Refactoring & Optimization Feeding working, inefficient code to AI and asking for optimized alternatives.,Debugging AI Code Intentionally using flawed AI code and teaching students how to debug it.. |
| Course Learning Outcomes | Teaching Methods | Assessment Methods |
| Explain basic principles of algorithm analysis. | 12, 21, 6, 9 | A |
| Apply basic data structures, such as arrays, lists, stacks and queues, to algorithmic design | 12, 17, 2, 21, 6, 9 | A, F |
| Applys the tree, binary tree, heap, hash tables, and graph data structures in problem solutions | 12, 17, 6, 9 | A |
| Choose the right data type for efficient solution of a problem. | 12, 17, 2, 6, 9 | F |
| Analyze the accuracy, complexity and efficiency of an algorithmic solution. | 17, 2, 21, 6, 9 | A, F |
| Use AI tools to generate boilerplate code, explain complex algorithms, and debug code efficiently. | 5 | E |
| Evaluate AI-generated code for correctness, efficiency, and security vulnerabilities. | 19, 37 | F |
| Teaching Methods: | 12: Problem Solving Method, 17: Experimental Technique, 19: Brainstorming Technique, 2: Project Based Learning Model, 21: Simulation Technique, 37: Computer-Internet Supported Instruction, 5: Cooperative Learning, 6: Experiential Learning, 9: Lecture Method |
| Assessment Methods: | A: Traditional Written Exam, E: Homework, F: Project Task |
Course Outline
| Order | Subjects | Preliminary Work |
|---|---|---|
| 1 | Introduction to data structures and algorithms; Introduction to Basics of Python Setting up AI IDE extensions. Using AI to explain complexity classes. | Book Chapter 1, Lecture Slides 1 |
| 2 | Functions, Arrays, and Pointers. AI prompt engineering to generate node classes and basic functions. | Book Chapter 1 and 3, Lecture Slides 2 |
| 3 | Strings, Structs, and Memory Allocation Using AI to simulate real-world scenarios (e.g., CPU scheduling) using these structures. | Book Chapter 4 ve 5, Lecture Slides 3 |
| 4 | Algorithm analysis and complexity notations Asking AI to analyze the algorithms and identify the problems when hallucinations occur. | Book Chapter 2, Lecture Slides 4 |
| 5 | Fundamental data structures: Linked Lists, Stacks and Queues Working with AI for visualizing Linked Lists, Stacks and Queues and identify differences | Book Chapter 6, Lecture Slides 4 |
| 6 | Recursion & Search Asking AI to visualize recursive calls and identify base cases to prevent stack overflow. | Book Chapter 7, Lecture Slides 6 |
| 7 | Sorting Algorithms AI-assisted comparative analysis of quicksort vs. mergesort. | Book Chapter 8, Lecture Slides 7 |
| 8 | Trees and Binary Search Trees AI-assisted implementation of insertion, deletion, and balancing logic of trees | Book Chapter 9,10,11 Lecture Slides 8 |
| 9 | Priority Queues and Heaps Using AI to implement priority queues for engineering optimization problems. | Book Chapter 12, Lecture Slides 10 |
| 10 | Graph Algorithms (BFS/DFS) Working with AI to generate traversal paths for adjacency matrices and adjacency lists. | Book Chapter 13, Lecture Slides 11 |
| 11 | Hashing and Collision Using AI to suggest hash functions, analyze collision rates and large datasets using hash maps and trees. | Book Chapter 14, 15, Lecture Slides 13 |
| 12 | Refactoring & Optimization Feeding working, inefficient code to AI and asking for optimized alternatives. | Book Chapter 16, Lecture Slides 14 |
| 13 | Debugging AI Code Intentionally using flawed AI code and teaching students how to debug it. |
| Resources |
| Course Textbook: Problem Solving with Algorithms and Data Structures using Python By Brad Miller and David Ranum, Luther College |
| Supplementary Material: https://runestone.academy/ns/books/published/medipol_datastructures_spring2026/index.html Lecture presentations and notes |
Course Contribution to Program Qualifications
| Course Contribution to Program Qualifications | |||||||
| No | Program Qualification | Contribution Level | |||||
| 1 | 2 | 3 | 4 | 5 | |||
| 1 | Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied knowledge in these areas in the solution of complex engineering problems. | X | |||||
| 2 | Ability to formulate, and solve complex engineering problems; ability to select and apply proper analysis and modeling methods for this purpose. | X | |||||
| 3 | Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern design methods for this purpose. | X | |||||
| 4 | Ability to select and use modern techniques and tools needed for analyzing and solving complex problems encountered in engineering practice; ability to employ information technologies effectively. | X | |||||
| 5 | Ability to design and conduct experiments, gather data, analyze and interpret results for investigating complex engineering problems or discipline specific research questions. | ||||||
| 6 | Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually. | ||||||
| 7 | Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language; ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions. | ||||||
| 8 | Awareness of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself. | ||||||
| 9 | Knowledge on behavior according ethical principles, professional and ethical responsibility and standards used in engineering practices. | ||||||
| 10 | Knowledge about business life practices such as project management, risk management, and change management; awareness in entrepreneurship, innovation; knowledge about sustainable development. | ||||||
| 11 | Knowledge about the global and social effects of engineering practices on health, environment, and safety, and contemporary issues of the century reflected into the field of engineering; awareness of the legal consequences of engineering solutions. | ||||||
Assessment Methods
| Contribution Level | Absolute Evaluation | |
| Rate of Midterm Exam to Success | 30 | |
| Rate of Final Exam to Success | 70 | |
| Total | 100 | |