BBS516 - DATA STRUCTURES and ALGORITHMS
Course Name | Code | Semester | Theory (hours/week) |
Application (hours/week) |
Credit | ECTS |
---|---|---|---|---|---|---|
DATA STRUCTURES and ALGORITHMS | BBS516 | Any Semester/Year | 3 | 0 | 3 | 6 |
Prequisites | Introduction to Programming | |||||
Course language | Turkish | |||||
Course type | Elective | |||||
Mode of Delivery | Face-to-Face | |||||
Learning and teaching strategies | Lecture Problem Solving | |||||
Instructor (s) | Mustafa Ege | |||||
Course objective | Providing solid foundations in the basic concepts of programming, choosing and designing data structures that are appropriate for a problem and comparing the considered algorithms. | |||||
Learning outcomes |
| |||||
Course Content | Space and time complexity, matrix storage, stack, queue, singly/doubly linked lists, trees, generalized lists, heaps, graphs, sorting | |||||
References | 1. Horowitz E., Sahni S., Anderson S.,??Fundamentals of Data Structures in C?, Computer Scince Press, New York, 1993 2. Horowitz E., Sahni S., Mehta D.,?Fundamentals of Data Structures in C++?, Computer Scince Press, New York, 1995 |
Course outline weekly
Weeks | Topics |
---|---|
Week 1 | Basic concepts for data structures, performance analysis, space and time complexity |
Week 2 | Representation of multidimensional arrays, lower/upper triangular, band matrix storage |
Week 3 | Sparse matrix storage, stacks and queues on array |
Week 4 | Evaluation of expressions, infix,postfix and prefix forms, multiple stacks and queues |
Week 5 | Array-based linked list, singly/doubly linked lists using dynamic memory management |
Week 6 | Midterm exam |
Week 7 | Binary trees, binary tree traversals, binary search tree |
Week 8 | Generalized lists, threaded binary tree |
Week 9 | Heap, priority queues, set representation |
Week 10 | Graph representation, minimum cost spanning tree, shortest path |
Week 11 | Midterm exam |
Week 12 | Avtivity on vertex/edge networks, topological order, critical path method |
Week 13 | Selection,insertion, bubble, counting |
Week 14 | Quick,merge,heap, radix sorting algorithms and their analyses |
Week 15 | |
Week 16 | Final exam |
Assesment methods
Course activities | Number | Percentage |
---|---|---|
Attendance | 12 | 0 |
Laboratory | 0 | 0 |
Application | 0 | 0 |
Field activities | 0 | 0 |
Specific practical training | 0 | 0 |
Assignments | 4 | 10 |
Presentation | 0 | 0 |
Project | 0 | 0 |
Seminar | 0 | 0 |
Midterms | 2 | 40 |
Final exam | 1 | 50 |
Total | 100 | |
Percentage of semester activities contributing grade succes | 18 | 50 |
Percentage of final exam contributing grade succes | 1 | 50 |
Total | 100 |
WORKLOAD AND ECTS CALCULATION
Activities | Number | Duration (hour) | Total Work Load |
---|---|---|---|
Course Duration (x14) | 12 | 3 | 36 |
Laboratory | 0 | 0 | 0 |
Application | 0 | 0 | 0 |
Specific practical training | 0 | 0 | 0 |
Field activities | 0 | 0 | 0 |
Study Hours Out of Class (Preliminary work, reinforcement, ect) | 5 | 12 | 60 |
Presentation / Seminar Preparation | 0 | 0 | 0 |
Project | 0 | 0 | 0 |
Homework assignment | 4 | 6 | 24 |
Midterms (Study duration) | 2 | 15 | 30 |
Final Exam (Study duration) | 1 | 30 | 30 |
Total Workload | 24 | 66 | 180 |
Matrix Of The Course Learning Outcomes Versus Program Outcomes
D.9. Key Learning Outcomes | Contrubition level* | ||||
---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | |
1. Has detailed knowledge about Information Systems (IS). | X | ||||
2. Understands the interaction of theory and practice and the links between them. | X | ||||
3. Has a good understanding of common concepts such as abstraction, complexity, security, concurrency, software lifecycle and applies their expertise to the effective design, development and management of IS. | X | ||||
4. Has the ability to think at different levels of abstraction and detail; understands that an IS can be considered in different contexts, going beyond narrowly identifying implementation issues. | X | ||||
5. Solves any technical or scientific problem independently and presents the best possible solution; has the communication skills to clearly explain the completeness and assumptions of their solution. | X | ||||
6. Completes a project on a larger scale than an ordinary course project in order to acquire the skills necessary to work efficiently in a team. | X | ||||
7. Recognises that the field of informatics is rapidly evolving. Follows the latest developments, learns and develops skills throughout their career. | X | ||||
8. Recognises the social, legal, ethical and cultural issues related to informatics practice and conduct professional activities in accordance with these issues. | X | ||||
9. Can make oral presentations in English and Turkish to different audiences face-to-face, in writing or electronically. | X | ||||
10. Recognises that informatics has a wide range of applications and opportunities. | X | ||||
11. Is aware that informatics interacts with different fields, can communicate with experts from different fields and can learn necessary field knowledge from them. | X | ||||
12. Define a research problem and use scientific methods to solve it. | X |
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest