Skip to main content

Course Detail

Course Description

CourseCodeSemesterT+P (Hour)CreditECTS
DATA STRUCTURES-Spring Semester3+248
Course Program
Prerequisites Courses
Recommended Elective Courses
Language of CourseEnglish
Course LevelFirst Cycle (Bachelor's Degree)
Course TypeRequired
Course CoordinatorProf.Dr. Mehmet Kemal ÖZDEMİR
Name of Lecturer(s)Prof.Dr. Mehmet Kemal ÖZDEMİR
Assistant(s)Teaching assistant for the lab sessions.
AimThis 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 ContentThis 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 MethodsAssessment Methods
Explain basic principles of algorithm analysis. 12, 21, 6, 9A
Apply basic data structures, such as arrays, lists, stacks and queues, to algorithmic design12, 17, 2, 21, 6, 9A, F
Applys the tree, binary tree, heap, hash tables, and graph data structures in problem solutions12, 17, 6, 9A
Choose the right data type for efficient solution of a problem. 12, 17, 2, 6, 9F
Analyze the accuracy, complexity and efficiency of an algorithmic solution. 17, 2, 21, 6, 9A, 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

OrderSubjectsPreliminary Work
1Introduction to data structures and algorithms; Introduction to Basics of CBook Chapter 1, Lecture Slides 1
2Functions, Arrays, and PointersBook Chapter 1 and 3, Lecture Slides 2
3Strings, Structs, and Memory AllocationBook Chapter 4 ve 5, Lecture Slides 3
4Algorithm analysis and complexity notationsBook Chapter 2, Lecture Slides 4
5Fundamental data structures: Linked ListsBook Chapter 6, Lecture Slides 4
6Abstract data types: Stack Book Chapter 7, Lecture Slides 6
7Abstract data types: QueuesBook Chapter 8, Lecture Slides 7
8Trees and Binary Search TreesBook Chapter 9, Lecture Slides 8
9Efficient Binary Trees and Multi-way Search TreesBook Chapter 10-11, Lecture Slides 9
10Priority Queues and HeapsBook Chapter 12, Lecture Slides 10
11GraphsBook Chapter 13, Lecture Slides 11
12Searching and SortingBook Chapter 14, Lecture Slides 12
13Hashing and CollisionBook Chapter 15, Lecture Slides 13
14Files and Their OrganizationBook 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
NoProgram QualificationContribution Level
12345
1
1. An ability to apply knowledge of mathematics, science, and engineering
X
2
2. An ability to identify, formulate, and solve engineering problems
X
3
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
4. An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice
X
5
5. An ability to design and conduct experiments, as well as to analyze and interpret data
6
6. An ability to function on multidisciplinary teams
7
7. An ability to communicate effectively
8
8. A recognition of the need for, and an ability to engage in life-long learning
9
9. An understanding of professional and ethical responsibility
10
10. A knowledge of contemporary issues
11
11. The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context

Assessment Methods

Contribution LevelAbsolute Evaluation
Rate of Midterm Exam to Success 30
Rate of Final Exam to Success 70
Total 100
ECTS / Workload Table
ActivitiesNumber ofDuration(Hour)Total Workload(Hour)
Course Hours14342
Guided Problem Solving14228
Resolution of Homework Problems and Submission as a Report14570
Term Project14228
Presentation of Project / Seminar000
Quiz717
Midterm Exam13030
General Exam14040
Performance Task, Maintenance Plan000
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

CourseCodeSemesterT+P (Hour)CreditECTS
DATA STRUCTURES-Spring Semester3+248
Course Program
Prerequisites Courses
Recommended Elective Courses
Language of CourseEnglish
Course LevelFirst Cycle (Bachelor's Degree)
Course TypeRequired
Course CoordinatorProf.Dr. Mehmet Kemal ÖZDEMİR
Name of Lecturer(s)Prof.Dr. Mehmet Kemal ÖZDEMİR
Assistant(s)Teaching assistant for the lab sessions.
AimThis 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 ContentThis 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 MethodsAssessment Methods
Explain basic principles of algorithm analysis. 12, 21, 6, 9A
Apply basic data structures, such as arrays, lists, stacks and queues, to algorithmic design12, 17, 2, 21, 6, 9A, F
Applys the tree, binary tree, heap, hash tables, and graph data structures in problem solutions12, 17, 6, 9A
Choose the right data type for efficient solution of a problem. 12, 17, 2, 6, 9F
Analyze the accuracy, complexity and efficiency of an algorithmic solution. 17, 2, 21, 6, 9A, 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

OrderSubjectsPreliminary Work
1Introduction to data structures and algorithms; Introduction to Basics of CBook Chapter 1, Lecture Slides 1
2Functions, Arrays, and PointersBook Chapter 1 and 3, Lecture Slides 2
3Strings, Structs, and Memory AllocationBook Chapter 4 ve 5, Lecture Slides 3
4Algorithm analysis and complexity notationsBook Chapter 2, Lecture Slides 4
5Fundamental data structures: Linked ListsBook Chapter 6, Lecture Slides 4
6Abstract data types: Stack Book Chapter 7, Lecture Slides 6
7Abstract data types: QueuesBook Chapter 8, Lecture Slides 7
8Trees and Binary Search TreesBook Chapter 9, Lecture Slides 8
9Efficient Binary Trees and Multi-way Search TreesBook Chapter 10-11, Lecture Slides 9
10Priority Queues and HeapsBook Chapter 12, Lecture Slides 10
11GraphsBook Chapter 13, Lecture Slides 11
12Searching and SortingBook Chapter 14, Lecture Slides 12
13Hashing and CollisionBook Chapter 15, Lecture Slides 13
14Files and Their OrganizationBook 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
NoProgram QualificationContribution Level
12345
1
1. An ability to apply knowledge of mathematics, science, and engineering
X
2
2. An ability to identify, formulate, and solve engineering problems
X
3
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
4. An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice
X
5
5. An ability to design and conduct experiments, as well as to analyze and interpret data
6
6. An ability to function on multidisciplinary teams
7
7. An ability to communicate effectively
8
8. A recognition of the need for, and an ability to engage in life-long learning
9
9. An understanding of professional and ethical responsibility
10
10. A knowledge of contemporary issues
11
11. The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context

Assessment Methods

Contribution LevelAbsolute Evaluation
Rate of Midterm Exam to Success 30
Rate of Final Exam to Success 70
Total 100

Numerical Data

Student Success

Ekleme Tarihi: 09/10/2023 - 10:50Son Güncelleme Tarihi: 09/10/2023 - 10:51