Course Detail
Course Description
Course | Code | Semester | T+P (Hour) | Credit | ECTS |
---|---|---|---|---|---|
DATA STRUCTURES | EEE2233850 | Spring Semester | 3+2 | 4 | 8 |
Course Program | Perşembe 15:30-16:15 Perşembe 16:30-17:15 Perşembe 17:30-18:15 Cuma 14:30-15:15 Cuma 15:30-16:15 |
Prerequisites Courses | |
Recommended Elective Courses |
Language of Course | English |
Course Level | First Cycle (Bachelor's Degree) |
Course Type | Elective |
Course Coordinator | Prof.Dr. Mehmet Kemal ÖZDEMİR |
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. C 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 C,Functions, Arrays, and Pointers,Strings, Structs, and Memory Allocation,Algorithm analysis and complexity notations,Fundamental data structures: Linked Lists,Abstract data types: Stack,Abstract data types: Queues,Trees and Binary Search Trees,Efficient Binary Trees and Multi-way Search Trees,Priority Queues and Heaps,Graphs,Searching and Sorting,Hashing and Collision,Files and Their Organization. |
Dersin Öğrenme Kazanımları | 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 |
Teaching Methods: | 12: Problem Solving Method, 17: Experimental Technique, 2: Project Based Learning Model, 21: Simulation Technique, 6: Experiential Learning, 9: Lecture Method |
Assessment Methods: | A: Traditional Written Exam, F: Project Task |
Course Outline
Order | Subjects | Preliminary Work |
---|---|---|
1 | Introduction to data structures and algorithms; Introduction to Basics of C | Book Chapter 1, Lecture Slides 1 |
2 | Functions, Arrays, and Pointers | Book Chapter 1 and 3, Lecture Slides 2 |
3 | Strings, Structs, and Memory Allocation | Book Chapter 4 ve 5, Lecture Slides 3 |
4 | Algorithm analysis and complexity notations | Book Chapter 2, Lecture Slides 4 |
5 | Fundamental data structures: Linked Lists | Book Chapter 6, Lecture Slides 4 |
6 | Abstract data types: Stack | Book Chapter 7, Lecture Slides 6 |
7 | Abstract data types: Queues | Book Chapter 8, Lecture Slides 7 |
8 | Trees and Binary Search Trees | Book Chapter 9, Lecture Slides 8 |
9 | Efficient Binary Trees and Multi-way Search Trees | Book Chapter 10-11, Lecture Slides 9 |
10 | Priority Queues and Heaps | Book Chapter 12, Lecture Slides 10 |
11 | Graphs | Book Chapter 13, Lecture Slides 11 |
12 | Searching and Sorting | Book Chapter 14, Lecture Slides 12 |
13 | Hashing and Collision | Book Chapter 15, Lecture Slides 13 |
14 | Files and Their Organization | Book Chapter 16, Lecture Slides 14 |
Resources |
Course Textbook: Data Structures Using C 2nd Edition by Reema Thareja ISBN-10 : 0198099304 |
Supplementary Material: Data Structures and Algorithms in C++, 4th Edition, Mark A. Weiss, ISBN: 978-0132847377 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 | An ability to apply knowledge of mathematics, science, and engineering | X | |||||
2 | An ability to identify, formulate, and solve engineering problems | X | |||||
3 | An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability | X | |||||
4 | An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice | X | |||||
5 | An ability to design and conduct experiments, as well as to analyze and interpret data | ||||||
6 | An ability to function on multidisciplinary teams | ||||||
7 | An ability to communicate effectively | ||||||
8 | A recognition of the need for, and an ability to engage in life-long learning | ||||||
9 | An understanding of professional and ethical responsibility | ||||||
10 | A knowledge of contemporary issues | ||||||
11 | The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context |
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 | EEE2233850 | Spring Semester | 3+2 | 4 | 8 |
Course Program | Perşembe 15:30-16:15 Perşembe 16:30-17:15 Perşembe 17:30-18:15 Cuma 14:30-15:15 Cuma 15:30-16:15 |
Prerequisites Courses | |
Recommended Elective Courses |
Language of Course | English |
Course Level | First Cycle (Bachelor's Degree) |
Course Type | Elective |
Course Coordinator | Prof.Dr. Mehmet Kemal ÖZDEMİR |
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. C 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 C,Functions, Arrays, and Pointers,Strings, Structs, and Memory Allocation,Algorithm analysis and complexity notations,Fundamental data structures: Linked Lists,Abstract data types: Stack,Abstract data types: Queues,Trees and Binary Search Trees,Efficient Binary Trees and Multi-way Search Trees,Priority Queues and Heaps,Graphs,Searching and Sorting,Hashing and Collision,Files and Their Organization. |
Dersin Öğrenme Kazanımları | 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 |
Teaching Methods: | 12: Problem Solving Method, 17: Experimental Technique, 2: Project Based Learning Model, 21: Simulation Technique, 6: Experiential Learning, 9: Lecture Method |
Assessment Methods: | A: Traditional Written Exam, F: Project Task |
Course Outline
Order | Subjects | Preliminary Work |
---|---|---|
1 | Introduction to data structures and algorithms; Introduction to Basics of C | Book Chapter 1, Lecture Slides 1 |
2 | Functions, Arrays, and Pointers | Book Chapter 1 and 3, Lecture Slides 2 |
3 | Strings, Structs, and Memory Allocation | Book Chapter 4 ve 5, Lecture Slides 3 |
4 | Algorithm analysis and complexity notations | Book Chapter 2, Lecture Slides 4 |
5 | Fundamental data structures: Linked Lists | Book Chapter 6, Lecture Slides 4 |
6 | Abstract data types: Stack | Book Chapter 7, Lecture Slides 6 |
7 | Abstract data types: Queues | Book Chapter 8, Lecture Slides 7 |
8 | Trees and Binary Search Trees | Book Chapter 9, Lecture Slides 8 |
9 | Efficient Binary Trees and Multi-way Search Trees | Book Chapter 10-11, Lecture Slides 9 |
10 | Priority Queues and Heaps | Book Chapter 12, Lecture Slides 10 |
11 | Graphs | Book Chapter 13, Lecture Slides 11 |
12 | Searching and Sorting | Book Chapter 14, Lecture Slides 12 |
13 | Hashing and Collision | Book Chapter 15, Lecture Slides 13 |
14 | Files and Their Organization | Book Chapter 16, Lecture Slides 14 |
Resources |
Course Textbook: Data Structures Using C 2nd Edition by Reema Thareja ISBN-10 : 0198099304 |
Supplementary Material: Data Structures and Algorithms in C++, 4th Edition, Mark A. Weiss, ISBN: 978-0132847377 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 | An ability to apply knowledge of mathematics, science, and engineering | X | |||||
2 | An ability to identify, formulate, and solve engineering problems | X | |||||
3 | An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability | X | |||||
4 | An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice | X | |||||
5 | An ability to design and conduct experiments, as well as to analyze and interpret data | ||||||
6 | An ability to function on multidisciplinary teams | ||||||
7 | An ability to communicate effectively | ||||||
8 | A recognition of the need for, and an ability to engage in life-long learning | ||||||
9 | An understanding of professional and ethical responsibility | ||||||
10 | A knowledge of contemporary issues | ||||||
11 | The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context |
Assessment Methods
Contribution Level | Absolute Evaluation | |
Rate of Midterm Exam to Success | 30 | |
Rate of Final Exam to Success | 70 | |
Total | 100 |