|
 |

|
Data Structures
Course Code | Semester |
Course Name |
LE/RC/LA |
Course Type |
Language of Instruction |
ECTS |
MB5003 |
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#. |
Prerequisite(s) |
None |
Corequisite(s) |
None |
Special Requisite(s) |
To teach students basic data structures and the main features of these structures in an up-to-date programming language (C#). |
Instructor(s) |
Lecturer Muharrem Altunışıl |
Course Assistant(s) |
- |
Schedule |
Thursday / 09:00-12:45, B2FEFPC1 / B2FEFPC2 |
Office Hour(s) |
Wednesday / 12:00-14:00, Incirli Campus 1st Floor A Corridor, room 09 (1A09) |
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 |
20 |
Homework / Term Projects / Presentations |
1 |
30 |
Final Exam |
1 |
50 |
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 | | | | | | | | | | | |
 |
|
|
|
|