CENG203 Data Structures Istanbul Okan UniversityDegree Programs Computer Engineering (English)General Information For StudentsDiploma SupplementErasmus Policy StatementNational Qualifications
Computer Engineering (English)
Bachelor TR-NQF-HE: Level 6 QF-EHEA: First Cycle EQF-LLL: Level 6

General course introduction information

Course Code: CENG203
Course Name: Data Structures
Course Semester: Spring
Course Credits:
Theoretical Practical Credit ECTS
3 0 3 5
Language of instruction: EN
Course Requisites: CENG106 - Object Oriented Programming I
Does the Course Require Work Experience?: No
Type of course:
Course Level:
Bachelor TR-NQF-HE:6. Master`s Degree QF-EHEA:First Cycle EQF-LLL:6. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator : Dr.Öğr.Üyesi ALİ UFUK PEKER
Course Lecturer(s): Öğr.Gör. KÜBRA CENGİZ
Assoc. Prof. SHADI HILLES
Dr.Öğr.Üyesi RÜYAM ACAR
Assoc. Prof. YUSUF KAVURUCU
Öğr.Gör. Behnam Rahnama
Course Assistants:

Course Objective and Content

Course Objectives: The course concentrates on programming and problem solving in the context of real applications. The focus is on algorithms and data structures. In the first part of the course algorithm analysis, basic data structures such as lists, stacks, bags, queues, priority queues, trees, hash tables and classic algortihms for sorting and searching are introduced. In the second part, more advanced algorithms such as graphs, algorithms for processing strings are considered.
Course Content: 1 Introduction, Case Study: Union-Find, Analysis of Algorithms
2 Stacks and Queues
Elementary Sorts (Selection Sort, Insertion Sort, Shell Sort)
3 Mergesort, Quicksort
4 Priority Queues, Heapsort
5 Elementary Symbol Tables, Binary Search Trees Project 1
6 Balanced Search Trees, Geometric Applications of BSTs
7 Hash Tables, Symbol Table Applications
8 Midterm
9 Undirected Graphs Project 2
10 Directed Graphs,
11 Minimum Spanning Trees, Shortest Paths
12 String Sorts, Tries, Substring Search
13 Regular Expressions, Data Compression

Learning Outcomes

The students who have succeeded in this course;
Learning Outcomes
1 - Knowledge
Theoretical - Conceptual
1) Learn Basic data structures ( Stacks, Queues)
2.1) Learn elementary sorting algorithms ( Selection Sort, Insertion Sort, Shell Sort)
2.2) Learn advanced sorting algorithms ( Mergesort, Quicksort, Heapsort)
2.3) Learn tree algorithms and data structures
2) Learn symbol table algorithms and data structures
3) Learn graph algorithms and data structures
2 - Skills
Cognitive - Practical
1)
2.1) Build a project by use of sorting algorithms and basic data structures
2)
3.1) Build a project using learned data structures and algorithms
3 - Competences
Communication and Social Competence
Learning Competence
Field Specific Competence
Competence to Work Independently and Take Responsibility

Lesson Plan

Week Subject Related Preparation
1) Introduction, Case Study: Union-Find, Analysis of Algorithms
2) Stacks and Queues Elementary Sorts (Selection Sort, Insertion Sort, Shell Sort)
3) Mergesort, Quicksort
4) Priority Queues, Heapsort
5) Elementary Symbol Tables, Binary Search Trees
6) Balanced Search Trees, Geometric Applications of BSTs
7) Hash Tables, Symbol Table Applications
8) Midterm
9) Undirected Graphs
10) Directed Graphs
11) Minimum Spanning Trees, Shortest Paths
12) String Sorts, Tries, Substring Search
13) Regular Expressions, Data Compression

Sources

Course Notes / Textbooks: Algorithms,4th Edition, R. Sedgewick and K. Wayne, Addison-Wesley Professional, 2011, ISBN 0-321-57351-X
References: Book website: http://algs4.cs.princeton.edu
Algoritma Geliştirme ve Veri Yapıları, 3. Basım, Rifat Çölkesen, Papatya Yayıncılık, 2016, ISBN 978-975-6797-94-5

Course-Program Learning Outcome Relationship

Learning Outcomes

1

6

7

Program Outcomes
1) Sufficient knowledge in mathematics, science and engineering related to their branches; the ability to apply theoretical and practical knowledge in these areas to model and solve engineering problems.
2) The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modeling methods for this purpose.
3) The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose. (Realistic constraints and conditions include such issues as economy, environmental issues, sustainability, manufacturability, ethics, health, safety, social and political issues, according to the nature of design.)
4) Ability to develop, select and use modern techniques and tools necessary for engineering applications; ability to use information technologies effectively.
5) Ability to design experiments, conduct experiments, collect data, analyze and interpret results for examination of engineering problems.
6) The ability to work effectively in disciplinary and multidisciplinary teams; individual work skill.
7) Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge.
8) Awareness of the need for lifelong learning; access to knowledge, ability to follow developments in science and technology, and constant self-renewal.
9) Professional and ethical responsibility.
10) Information on project management and practices in business life such as risk management and change management; awareness about entrepreneurship, innovation and sustainable development.
11) Information on the effects of engineering applications on health, environment and safety in the universal and social dimensions and the problems of the times; awareness of the legal consequences of engineering solutions.

Course - Learning Outcome Relationship

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
           
Program Outcomes Level of Contribution
1) Sufficient knowledge in mathematics, science and engineering related to their branches; the ability to apply theoretical and practical knowledge in these areas to model and solve engineering problems.
2) The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modeling methods for this purpose. 1
3) The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose. (Realistic constraints and conditions include such issues as economy, environmental issues, sustainability, manufacturability, ethics, health, safety, social and political issues, according to the nature of design.) 4
4) Ability to develop, select and use modern techniques and tools necessary for engineering applications; ability to use information technologies effectively. 2
5) Ability to design experiments, conduct experiments, collect data, analyze and interpret results for examination of engineering problems.
6) The ability to work effectively in disciplinary and multidisciplinary teams; individual work skill. 5
7) Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge.
8) Awareness of the need for lifelong learning; access to knowledge, ability to follow developments in science and technology, and constant self-renewal.
9) Professional and ethical responsibility.
10) Information on project management and practices in business life such as risk management and change management; awareness about entrepreneurship, innovation and sustainable development. 3
11) Information on the effects of engineering applications on health, environment and safety in the universal and social dimensions and the problems of the times; awareness of the legal consequences of engineering solutions.

Learning Activity and Teaching Methods

Expression
Lesson
Project preparation

Assessment & Grading Methods and Criteria

Written Exam (Open-ended questions, multiple choice, true-false, matching, fill in the blanks, sequencing)
Individual Project

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Attendance 10 % 10
Project 2 % 30
Midterms 1 % 20
Final 1 % 40
total % 100
PERCENTAGE OF SEMESTER WORK % 60
PERCENTAGE OF FINAL WORK % 40
total % 100

Workload and ECTS Credit Grading

Activities Number of Activities Duration (Hours) Workload
Course Hours 14 3 42
Study Hours Out of Class 14 3 42
Project 2 15 30
Midterms 1 2 2
Paper Submission 2 1 2
Final 1 2 2
Total Workload 120