Undergraduate
Faculty of Science and Letters
Mathematics And Computer Science
Anlık RSS Bilgilendirmesi İçin Tıklayınız.Düzenli bilgilendirme E-Postaları almak için listemize kaydolabilirsiniz.


Data Structures

Course CodeSemester 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-1Interpreting advanced theoretical and applied knowledge in Mathematics and Computer Science.
PO-2Critiquing and evaluating data by implementing the acquired knowledge and skills in Mathematics and Computer Science.
PO-3Recognizing, describing, and analyzing problems in Mathematics and Computer Science; producing solution proposals based on research and evidence.
PO-4Understanding the operating logic of computer and recognizing computational-based thinking using mathematics as a discipline.
PO-5Collaborating as a team-member, as well as individually, to produce solutions to problems in Mathematics and Computer Science.
PO-6Communicating in a foreign language, and interpreting oral and written communicational abilities in Turkish.
PO-7Using time effectively in inventing solutions by implementing analytical thinking.
PO-8Understanding professional ethics and responsibilities.
PO-9Having the ability to behave independently, to take initiative, and to be creative.
PO-10Understanding the importance of lifelong learning and developing professional skills continuously.
PO-11Using professional knowledge for the benefit of the society.
Learning Outcomes
LO-1The student remembers and reviews previously learned knowledge about C++ programming language.
LO-2The student understands the properties and the intended use of stack, queue, list, tree and graph data structures.
LO-3The student determines the suitable data structure in order to solve a given problem.
LO-4The student gains the ability to develop new data structures by tweaking and making improvements on the data structures which he learned.
LO-5The student develops correct and efficient algorithms.
LO-6The student acquires the necessary background and prior knowledge for "Algoritm Analysis and Design" course.
Course Assessment Matrix:
Program Outcomes - Learning Outcomes Matrix
 PO 1PO 2PO 3PO 4PO 5PO 6PO 7PO 8PO 9PO 10PO 11
LO 1
LO 2
LO 3
LO 4
LO 5
LO 6