ANTALYA BİLİM UNIVERSITY
Course Information Package

CS 2002 - Data Structures

Basic Information

Course Code:
CS 2002
Course Name:
Data Structures
Language of Instruction:
English
Course Type:
Class
Course Level:
Bachelor
ECTS:
5.00
Instructor:
Dr. Öğr. Üyesi Zahra GOLRIZKHATAMI

Course Objectives

The main objective of this course is to provide the students with a knowledge on foundations of problem solving and experience in the design and implementation of discrete data structures commonly employed in computer science and computational problems.

Course Content

Introduction to the main concepts of data structures and algorithms. Overview of analysis tools and asymptotic notation. Discussion of recursion and its application to problem solving in computer science. Design and implementation of important abstract data types such as linked lists, doubly linked lists, stacks, queues, priority queues. Discussion of efficient sorting, searching and search tree structures.

Prerequisites / Corequisites

CS1002 and CS2007

Learning Outcomes

Code Description
LO1 Analyse and interpret main principles of recursion and its relation to mathematical induction
LO2 Employ recursion as a problem solving and programming technique and analyse efficiency of recursive solutions
LO3 Design and implement important abstract data types such as linked lists, doubly linked lists, stacks, and queues
LO4 Combinatorically analyse discrete structures such as trees, devise algorithmic solutions to search problems and gain experience in the design and implementation of common search structures such as binary search trees
LO5 Interpret and analyse hashing, mapping structures, priority queues, and analyse two common sorting algorithms

Weekly Course Content

Week Content
1 An overview of Java Programming constructs
2 The relationship between induction and recursive algorithms, operations on arrays- recursive vs iterative solutions
3 Algorithm analysis, runtime efficiency, O-notation
4 Linear search, binary search on arrays
5 Linked lists: Concept and design, algorithms for operations on lists (recursive and iterative)
6 Double linked lists: Concept, design and algorithms for defined operations
7 Stacks: Concept, design, implementation alternatives (array vs linked list implementation) and algorithms for defined operations
8 Queues: Concept, design, implementation alternatives (array vs linked list) and algorithms for defined operations
9 An introduction to trees, their combinatorial properties, design alternatives, traversal algorithms, sample application: expression trees
10 Binary search trees: Concept, design, Algorithms for operations on BSTs (recursive and iterative)
11 The efficiency of the operations defined on BSTs, balanced binary search trees
12 Priority queues: Concept, design, Algorithms on heaps
13 Maps, hashing, hash tables
14 Sorting, Merge sort, Quick sort, comparison of sorting algorithms

Workload Calculation

Activity Count Duration (Hours) Total
Attendance 15 3.00 45.00
Practice 4 2.50 10.00
Laboratory 10 2.00 20.00
Midterm Exam/Preparation 1 15.00 15.00
Final Exam/Preparation 1 20.00 20.00
Quiz Preparation 4 10.00 40.00
Total Workload (Hours) 150
ECTS Credit (Workload / 25) 5

Assessment

# Assessment Type Contribution (%)
1 Final Exam %100

PO - LO Matrix

PO \ LO
LO1
LO2
LO3
LO4
LO5
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
PO-10
PO-11
1
Low Contribution
2
Medium Contribution
3
High Contribution

Teaching and Learning Methods

# Method Name Description Tools
1 Lecture (expository teaching), interactive discussion Listening and taking notes. Standard classroom technologies, multimedia tools (projector, computer, digital presentations)
2 Controversial Course Listening and comprehension, critical thinking Standard classroom technologies, multimedia tools, projector, computer, overhead projector
3 Problem Solving * Analyzing physical and physiological problems using problem-solving techniques and developing appropriate solutions.
4 Simulation Exploring the operation of physical circuit designs through the use of simulation software. Simulation tools
5 Laboratory Listening, note-taking, conceptual analysis, critical thinking, questioning, and participation in discussions. Special equipment