Information
| Unit | FACULTY OF ENGINEERING |
| COMPUTER ENGINEERING PR. (ENGLISH) | |
| Code | CEN203 |
| Name | Data Structures |
| Term | 2015-2016 Academic Year |
| Semester | 3. Semester |
| Duration (T+A) | 3-2 (T-A) (17 Week) |
| ECTS | 5 ECTS |
| National Credit | 4 National Credit |
| Teaching Language | İngilizce |
| Level | Üniversite Dersi |
| Type | Normal |
| Label | C Compulsory |
| Mode of study | Yüz Yüze Öğretim |
| Catalog Information Coordinator | |
| Course Instructor |
Prof. Dr. SELMA AYŞE ÖZEL
(Güz)
(A Group)
(Ins. in Charge)
|
Course Goal / Objective
The objectives of this course are to introduce students how to analyze algorithms and data structures in terms of running time and memory requirements; to investigate basic sorting and searching algorithms and to analyze them in terms of memory requirements and running time perfromance; to introduce linked lists, stack, queue, tree, and graph data structures as well as their array and pointer based implementations; and to make programming practices using the learned data sturctures.
Course Content
Definition of the concepts "data structures" and "data models". Run time and memory requirement analysis of algorithms. Insertion sort, Selection sort, Bubble sort, Merge sort, Heap sort, Quick sort algorithms and their analysis. Sequential search, Binary search, and hashing algorithms and their analysis. Linked lists and their applications. Stack and queue data structures and their applications. Tree and graph data models and their applications.
Course Precondition
Yok
Resources
Notes
Course Learning Outcomes
| Order | Course Learning Outcomes |
|---|---|
| LO01 | Be able to compute run time and memory requirement of the algorithms. Bu able to implement linked lists, stack, queues, tree and graph data structures using arrays and pointers; and to apply these data structures to real life programming problems. Be a |
Relation with Program Learning Outcome
| Order | Type | Program Learning Outcomes | Level |
|---|---|---|---|
| PLO01 | - | Has capability in the fields of mathematics, science and computer that form the foundations of engineering | |
| PLO02 | - | Identifies, formulates, and solves engineering problems, selects and applies appropriate analytical methods and modeling techniques, | |
| PLO03 | - | Analyzes a system, its component, or process and designs under realistic constraints to meet the desired requirements,gains the ability to apply the methods of modern design accordingly. | |
| PLO04 | - | Ability to use modern techniques and tools necessary for engineering practice and information technologies effectively. | |
| PLO05 | - | Ability to design and to conduct experiments, to collect data, to analyze and to interpret results | |
| PLO06 | - | Has ability to work effectively as an individual and in multi-disciplinary teams, take sresponsibility and builds self-confidence | |
| PLO07 | - | Can access information,gains the ability to do resource research and uses information resources | |
| PLO08 | - | Awareness of the requirement of lifelong learning, to follow developments in science and technology and continuous self-renewal ability | |
| PLO09 | - | Ability to communicate effectively orally and in writing, and to read and understand technical publications in at least one foreign language | |
| PLO10 | - | Professional and ethical responsibility, | |
| PLO11 | - | Awareness about project management, workplace practices, employee health, environmental and occupational safety, and the legal implications of engineering applications, | |
| PLO12 | - | Becomes aware of universal and social effects of engineering solutions and applications, entrepreneurship and innovation, and knowledge of contemporary issues |
Week Plan
| Week | Topic | Preparation | Methods |
|---|---|---|---|
| 1 | Introduction to the concepts of "data structures" and "data models" by giving some examples | Reading the lecture notes | |
| 2 | Explanation of how to compute running time performance and memory requirements of algorithms with some sample program codes. | Reading the lecture notes | |
| 3 | Explanation of how to compute running time performance and memory requirements of algorithms with some sample program codes. | Reading the lecture notes, homework assignment | |
| 4 | Sorting algorithms and their analysis (insertion sort, selection sort, bubble sort algoritms and their comparisons) | Reading the lecture notes | |
| 5 | Sorting algorithms and their analysis (merge sort, heap sort, quick sort algorithms and their analysis, and also comparison of the all sorting algoritms that have learned) | Reading the lecture notes, homework assignment | |
| 6 | Sequential search and binary search algorithms; their analysis and applictaions. | Reading the lecture notes, homework assignment | |
| 7 | Hashing methods, their analysis and applications. | Reading the lecture notes | |
| 8 | Midterm exam | Reading the lecture notes | |
| 9 | Single and doubly linked lists and their applications | Reading the lecture notes, homework assignment | |
| 10 | Stack data structure and its applications | Reading the lecture notes | |
| 11 | Queue data structure and its applications | Reading the lecture notes, homework assignment | |
| 12 | Definition of the tree data model | Reading the lecture notes | |
| 13 | Binary trees, parse trees, heaps, coding trees and their applications | Reading the lecture notes, homework assignment | |
| 14 | Definition of the graph data model | Reading the lecture notes | |
| 15 | Applications of the graph data model | Reading the lecture notes | |
| 16 | Final exam | Reading the lecture notes | |
| 17 | Final exam | Reading the lecture notes |
Assessment (Exam) Methods and Criteria
| Assessment Type | Midterm / Year Impact | End of Term / End of Year Impact |
|---|---|---|
| 1. Midterm Exam | 50 | -10 |
| 1. Performance Task (Laboratory) | 50 | -10 |
| 1. Midterm Exam | 50 | -10 |
| 1. Performance Task (Laboratory) | 50 | -10 |
| General Assessment | ||
| Midterm / Year Total | 200 | -20 |
| 1. Final Exam | - | 60 |
| 1. Final Exam | - | 60 |
| Grand Total | - | 100 |
Student Workload - ECTS
| Works | Number | Time (Hour) | Workload (Hour) |
|---|---|---|---|
| Course Related Works | |||
| Class Time (Exam weeks are excluded) | 14 | 3 | 42 |
| Out of Class Study (Preliminary Work, Practice) | 14 | 2 | 28 |
| Assesment Related Works | |||
| Homeworks, Projects, Others | 6 | 5 | 30 |
| Mid-term Exams (Written, Oral, etc.) | 1 | 15 | 15 |
| Final Exam | 1 | 20 | 20 |
| Total Workload (Hour) | 135 | ||
| Total Workload / 25 (h) | 5,40 | ||
| ECTS | 5 ECTS | ||