2023-2024 Academic Year 2022-2023 Academic Year 2021-2022 Academic Year 2020-2021 Academic Year 2019-2020 Academic Year 2018-2019 Academic Year 2017-2018 Academic Year 2016-2017 Academic Year 2015-2016 Academic Year 2014-2015 Academic Year 2013-2014 Academic Year 2012-2013 Academic Year
Data Structures
Course Code Semester
Course Name
LE/RC/LA
Course Type
Language of Instruction
ECTS
MB0020
5
Data Structures
2/2/0
CC
Turkish
5
Course Goals
The goal of this course is to teach students the underlying principles of the fundamental data structures using a high-level programming language, C/C++.
Prerequisite(s)
None
Corequisite(s)
None
Special Requisite(s)
Basic programming skills in C/C++ and (in order to follow the course resources) basic English knowledge are necessary and sufficient.
Instructor(s)
Assist. Prof. Dr. Levent CUHACI
Course Assistant(s)
-
Schedule
Monday, Online, 09:00-11:00
Thursday, Online, 09:00-11:00
Office Hour(s)
Office hours : Wednesday, 15:00-17:00 IKU-CATS
Teaching Methods and Techniques
- Lecture
- Implementation on C/C++ at Computer Lab.
Principle Sources
- Yeidyah Langsam, Moshe J. Augenstein, Aaron M. Tenenbaum, Data Structures Using C and C++, Prentice Hall, 1996.
Other Sources
Course Schedules
Week
Contents
Learning Methods
1. Week
Overview of Primary Data Types and Arrays, Pointers, Structural Types in C/C++
Oral presentation, implementation
2. Week
Stack Data Structure
Oral presentation, implementation
3. Week
Infix, Prefix, Postfix
Oral presentation, implementation
4. Week
Queue Data Structure
Oral presentation, implementation
5. Week
Queue Data Structure
Oral presentation, implementation
6. Week
Dynamic Memory Management, Singly Linked List Data Structure
Oral presentation, implementation
7. Week
Dynamic Memory Management, Singly Linked List Data Structure
Oral presentation, implementation
8. Week
Midterm Exam-1
Exam
9. Week
Circular List, List with Header Node, Doubly Linked List Data Structure
Oral presentation, implementation
10. Week
Binary Tree Algorithms : Traversing a Binary Tree, Searching, Inserting and Deleting a Node
Oral presentation, implementation
11. Week
Binary Tree Algorithms : Traversing a Binary Tree, Searching, Inserting and Deleting a Node
Oral presentation, implementation
12. Week
General Trees
Oral presentation, implementation
13. Week
Graph Data Structure
Oral presentation, implementation
14. Week
Elementary Graph Algorithms: Finding a Minimum Spanning Tree and Shortest Path Algorithms
Oral presentation, implementation
15. Week
Finals Week
Exam
16. Week
Finals Week
Exam
17. Week
Finals Week
Exam
Assessments
Evaluation tools
Quantity
Weight(%)
Midterm(s)
1
30
Final Exam
1
70
Program Outcomes
PO-1 Interpreting advanced theoretical and applied knowledge in Mathematics and Computer Science. PO-2 Critiquing and evaluating data by implementing the acquired knowledge and skills in Mathematics and Computer Science. PO-3 Recognizing, describing, and analyzing problems in Mathematics and Computer Science; producing solution proposals based on research and evidence. PO-4 Understanding the operating logic of computer and recognizing computational-based thinking using mathematics as a discipline. PO-5 Collaborating as a team-member, as well as individually, to produce solutions to problems in Mathematics and Computer Science. PO-6 Communicating in a foreign language, and interpreting oral and written communicational abilities in Turkish. PO-7 Using time effectively in inventing solutions by implementing analytical thinking. PO-8 Understanding professional ethics and responsibilities. PO-9 Having the ability to behave independently, to take initiative, and to be creative. PO-10 Understanding the importance of lifelong learning and developing professional skills continuously. PO-11 Using professional knowledge for the benefit of the society.
Learning Outcomes
LO-1 The student remembers and reviews previously learned knowledge about C++ programming language. LO-2 The student understands the properties and the intended use of stack, queue, list, tree and graph data structures. LO-3 The student determines the suitable data structure in order to solve a given problem. LO-4 The student gains the ability to develop new data structures by tweaking and making improvements on the data structures which he learned. LO-5 The student develops correct and efficient algorithms. LO-6 The student acquires the necessary background and prior knowledge for "Algoritm Analysis and Design" course.
Course Assessment Matrix:
PO 1 PO 2 PO 3 PO 4 PO 5 PO 6 PO 7 PO 8 PO 9 PO 10 PO 11 LO 1 LO 2 LO 3 LO 4 LO 5 LO 6