Course
IND3233850
DATA STRUCTURES
Industrial Engineering
- LECTURE
- 3
- LAB
- 2
- CREDITS
- 4
- ECTS
- 8
REQUIRES
REQUIRED BY
TAUGHT IN
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.
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..
LEARNING OUTCOMES
- 1
Explain basic principles of algorithm analysis.
Taught by: Problem Solving Method, Simulation Technique, Experiential Learning, Lecture Method · Assessed by: Traditional Written Exam
- 2
Apply basic data structures, such as arrays, lists, stacks and queues, to algorithmic design
Taught by: Problem Solving Method, Experimental Technique, Project Based Learning Model, Simulation Technique, Experiential Learning, Lecture Method · Assessed by: Traditional Written Exam, Project Task
- 3
Applys the tree, binary tree, heap, hash tables, and graph data structures in problem solutions
Taught by: Problem Solving Method, Experimental Technique, Experiential Learning, Lecture Method · Assessed by: Traditional Written Exam
- 4
Choose the right data type for efficient solution of a problem.
Taught by: Problem Solving Method, Experimental Technique, Project Based Learning Model, Experiential Learning, Lecture Method · Assessed by: Project Task
- 5
Analyze the accuracy, complexity and efficiency of an algorithmic solution.
Taught by: Experimental Technique, Project Based Learning Model, Simulation Technique, Experiential Learning, Lecture Method · Assessed by: Traditional Written Exam, Project Task
- 6
Use AI tools to generate boilerplate code, explain complex algorithms, and debug code efficiently.
Taught by: Cooperative Learning · Assessed by: Homework
- 7
Evaluate AI-generated code for correctness, efficiency, and security vulnerabilities.
Taught by: Brainstorming Technique, Computer-Internet Supported Instruction · Assessed by: Project Task
WEEKLY PLAN
- WEEK 1
Introduction to data structures and algorithms; Introduction to Basics of Python Setting up AI IDE extensions. Using AI to explain complexity classes.
Preparation: Book Chapter 1, Lecture Slides 1
- WEEK 2
Functions, Arrays, and Pointers. AI prompt engineering to generate node classes and basic functions.
Preparation: Book Chapter 1 and 3, Lecture Slides 2
- WEEK 3
Strings, Structs, and Memory Allocation Using AI to simulate real-world scenarios (e.g., CPU scheduling) using these structures.
Preparation: Book Chapter 4 ve 5, Lecture Slides 3
- WEEK 4
Algorithm analysis and complexity notations Asking AI to analyze the algorithms and identify the problems when hallucinations occur.
Preparation: Book Chapter 2, Lecture Slides 4
- WEEK 5
Fundamental data structures: Linked Lists, Stacks and Queues Working with AI for visualizing Linked Lists, Stacks and Queues and identify differences
Preparation: Book Chapter 6, Lecture Slides 4
- WEEK 6
Recursion & Search Asking AI to visualize recursive calls and identify base cases to prevent stack overflow.
Preparation: Book Chapter 7, Lecture Slides 6
- WEEK 7
Sorting Algorithms AI-assisted comparative analysis of quicksort vs. mergesort.
Preparation: Book Chapter 8, Lecture Slides 7
- WEEK 8
Trees and Binary Search Trees AI-assisted implementation of insertion, deletion, and balancing logic of trees
Preparation: Book Chapter 9,10,11 Lecture Slides 8
- WEEK 9
Priority Queues and Heaps Using AI to implement priority queues for engineering optimization problems.
Preparation: Book Chapter 12, Lecture Slides 10
- WEEK 10
Graph Algorithms (BFS/DFS) Working with AI to generate traversal paths for adjacency matrices and adjacency lists.
Preparation: Book Chapter 13, Lecture Slides 11
- WEEK 11
Hashing and Collision Using AI to suggest hash functions, analyze collision rates and large datasets using hash maps and trees.
Preparation: Book Chapter 14, 15, Lecture Slides 13
- WEEK 12
Refactoring & Optimization Feeding working, inefficient code to AI and asking for optimized alternatives.
Preparation: Book Chapter 16, Lecture Slides 14
- WEEK 13
Debugging AI Code Intentionally using flawed AI code and teaching students how to debug it.
ASSESSMENT
- Rate of Midterm Exam to Success30%
- Rate of Final Exam to Success70%
WORKLOAD
| ACTIVITY | COUNT | HOURS | TOTAL |
|---|---|---|---|
| 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 |
READING
- 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
TEACHING STAFF
- Assist.Prof. Ahmet KAPLANCOORDINATOR
- Assist.Prof. Ahmet KAPLAN