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 TypeElective
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
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 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 TypeElective
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
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 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:42Son Güncelleme Tarihi: 09/10/2023 - 10:43