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 EMEL KOÇ
Course Lecturer(s):


Course Assistants:

Course Objective and Content

Course Objectives: Data structures and algorithms are fundamental to Computer Science, providing the foundation for efficiently solving programming problems. Computing students must understand the various ways data is represented and manipulated by a computer. Prior programming studies introduce data types, including primitive types like integers, floating-point numbers, and characters, as well as basic static structures such as arrays, strings, and records. This module builds on that knowledge, exploring the creation and utilization of more dynamic data structures, including linked lists, stacks, queues, and trees.
Course Content: 1 Data Structures & Algorithms
2 Algorithms Basics, Asymptotic Analysis, Greedy Algorithms
3 Divide and Conquer, Dynamic Programming
4 Data Structures Basic, Arrays Data Structures
5 Linked List Basic, Simple Linked List, Doubly Linked List, Circular Linked List
6 Stack Representation, Basic Operations, Implementation
7 Infix Notation, Prefix Notation, Postfix Notation, Parsing Expressions, Postfix Evaluation Algorithm
8 Queue Representation, Basic Operations
9 Linear Search, Binary Search
10 Interpolation Search, Hash Table
11 Bubble Sort, Insertion Sort, Selection Sort
12 Merge Sort, Quick Sort
13 Tree, Tree Traversal, Binary Search Tree
14 AVL Trees, Spanning Tree, Heap Data Structures

Learning Outcomes

The students who have succeeded in this course;
Learning Outcomes
1 - Knowledge
Theoretical - Conceptual
1) Define basic data structures and relevant standard algorithms.
2) Describe algorithms and data structures in terms of operations time and memory complexity.
3) Demonstrate advantages and disadvantages of specific algorithms and data structures.
4) Apply different solutions for programing problems using learned algorithms and data structures.
2 - Skills
Cognitive - Practical
1) Demonstrate bugs in program; recognize needed basic operations with data structures.
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) Data Structures & Algorithms: -Overview -Environment Setup
2) Algorithms Basics, Asymptotic Analysis, Greedy Algorithms.
3) Divide and conquer, dynamic programming
4) Data structures basic, arrays data structures
5) Linked list basic, simple linked list, doubly linked list, circular linked list
6) Stack representation, basic operations, implementation
7) Infix notation, prefix notation, postfix notation, parsing expressions, postfix evaluation algorithm
8) Queue representation, basic operations, implementation
9) Linear search, binary search
10) Interpolation search, hash table
11) Bubble sort, insertion sort, selection sort
12) Merge sort, quick sort
13) Tree, tree traversal, binary search tree
14) AVL trees, spanning tree, heap data structures
15) Final Exam

Sources

Course Notes / Textbooks: O'Learn sistemindedir.
It's in the O'Learn system.
References: Data Structures and Algorithms in Java: A Project-Based Approach
Author: Dan S. Myers
Published: 2024
ISBN 9781009260336

Course-Program Learning Outcome Relationship

Learning Outcomes

1

2

3

5

4

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 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
2) The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modeling methods for this purpose. 4
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.) 3
4) Ability to develop, select and use modern techniques and tools necessary for engineering applications; ability to use information technologies effectively. 3
5) Ability to design experiments, conduct experiments, collect data, analyze and interpret results for examination of engineering problems. 5
6) The ability to work effectively in disciplinary and multidisciplinary teams; individual work skill.
7) Effective communication skills in 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.

Learning Activity and Teaching Methods

Individual study and homework
Lesson
Reading
Homework
Problem Solving
Project preparation

Assessment & Grading Methods and Criteria

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

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Quizzes 3 % 0
Homework Assignments 3 % 0
Project 1 % 0
Midterms 1 % 50
Final 1 % 50
total % 100
PERCENTAGE OF SEMESTER WORK % 50
PERCENTAGE OF FINAL WORK % 50
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 1 15 15
Homework Assignments 3 10 30
Quizzes 3 1 3
Midterms 1 2 2
Final 1 2 2
Total Workload 136