TR EN

DATA STRUCTURE AND ALGORITHMS PROGRAMME COURSE DESCRIPTION

Code Name of the Course Unit Semester In-Class Hours (T+P) Credit ECTS Credit
BIL202 DATA STRUCTURE AND ALGORITHMS 4 5 4 7

GENERAL INFORMATION

Language of Instruction : Turkish
Level of the Course Unit : BACHELOR'S DEGREE, TYY: + 6.Level, EQF-LLL: 6.Level, QF-EHEA: First Cycle
Type of the Course : Compulsory
Mode of Delivery of the Course Unit -
Coordinator of the Course Unit Assist.Prof. OĞUZHAN ÖZTAŞ
Instructor(s) of the Course Unit
Course Prerequisite No

OBJECTIVES AND CONTENTS

Objectives of the Course Unit: The goal is to teach students to analyze the time and space requirements of essential algorithms and data structures, to examine various data structures such as stacks, queues, trees, and graphs, and to implement algorithms in Python.
Contents of the Course Unit: Stacks, applications of stack structures, queues, enqueue and dequeue operations, priority queues, tree structures, tree applications, binary search trees, applications of heap structures, balanced search trees, graph structures, and applications of graph structures.

KEY LEARNING OUTCOMES OF THE COURSE UNIT (On successful completion of this course unit, students/learners will or will be able to)

Understand the fundamental principles of recursion and its relationship with mathematical induction.
Use recursion as a problem-solving and programming technique.
Develop design and implementation skills for key abstract data types such as linked lists, doubly linked lists, stacks, and queues.
Analyze discrete data structures, such as trees, using combinatorial methods.
Understand algorithmic solutions for sorting and searching problems and design common search structures like binary search trees.

WEEKLY COURSE CONTENTS AND STUDY MATERIALS FOR PRELIMINARY & FURTHER STUDY

Week Preparatory Topics(Subjects) Method
1 Written Resources Introduction to the stack data structure Face-to-Face Instruction
2 Written Resources Coding the stack data structure in Python Face-to-Face Instruction
3 Written Resources Coding the stack data structure in Python Face-to-Face Instruction
4 Written Resources Coding the stack data structure in Python Face-to-Face Instruction
5 Written Resources Queue, deque, and priority queue data structures Face-to-Face Instruction
6 Written Resources Coding queue, deque, and priority queue data structures in Python Face-to-Face Instruction
7 Written Resources Introduction to the tree data structure Face-to-Face Instruction
8 - MID-TERM EXAM -
9 Written Resources Coding the tree data structure in Python Face-to-Face Instruction
10 Written Resources Binary search trees and coding them in Python Face-to-Face Instruction
11 Written Resources Heap data structure and coding it in Python Face-to-Face Instruction
12 Written Resources Heap structures Face-to-Face Instruction
13 Written Resources Balanced search trees Face-to-Face Instruction
14 Written Resources Introduction to the graph data structure Face-to-Face Instruction
15 Written Resources Coding the graph data structure in Python Face-to-Face Instruction
16 - FINAL EXAM -
17 - FINAL EXAM -

SOURCE MATERIALS & RECOMMENDED READING

Data Structures and Program Design In C, Robert L. Kruse, Bruce P. Leung, ve Clovis L. Tondo, Pearson, 1996 Goodrich, M. T., Tamassia, R., & Goldwasser, M. H. (2013). Data structures and algorithms in Python (pp. 978-1). Hoboken: Wiley.

ASSESSMENT

Assessment & Grading of In-Term Activities Number of Activities Degree of Contribution (%) Description
Level of Contribution
0 1 2 3 4 5

CONTRIBUTION OF THE COURSE UNIT TO THE PROGRAMME LEARNING OUTCOMES

KNOWLEDGE

Theoretical

Programme Learning Outcomes Level of Contribution
0 1 2 3 4 5
1
Explains the fundamental engineering concepts of computer science and relates them to the groundwork of computer science.
3

KNOWLEDGE

Factual

Programme Learning Outcomes Level of Contribution
0 1 2 3 4 5
1
Uses theoretical and practical knowledge coming from mathematics, probability, statistics and various other branches of life sciences, to find solutions to engineering problems.
3

SKILLS

Cognitive

Programme Learning Outcomes Level of Contribution
0 1 2 3 4 5
1
Determines the components and the underlying process of a system and designs an appropriate computational model under reasonable constraints.
3
2
Designs a computer-aided conceptual model with modern techniques.
3

SKILLS

Practical

Programme Learning Outcomes Level of Contribution
0 1 2 3 4 5
1
Determines, detects and analyzes the areas of computer science applications and develops appropriate solutions.
3
2
Identifies, models and solves computer engineering problems by applying appropriate analytical methods.
3
3
Determines and uses the necessary information technologies in an efficient way for engineering applications.
3

OCCUPATIONAL

Autonomy & Responsibility

Programme Learning Outcomes Level of Contribution
0 1 2 3 4 5
1
Possess the responsibility and ability to design and conduct experiments for engineering problems by collecting, analyzing and interpreting data.
4
2
Possess the ability to conduct effective individual study.
3
3
Takes responsibility as a team work and contributes in an effective way.
3

OCCUPATIONAL

Learning to Learn

Programme Learning Outcomes Level of Contribution
0 1 2 3 4 5
1
Monitors the developments in the field of information technologies by means of internet and related journals and possess the required knowledge for the management, control, development and security of information technologies.
3
2
Develops positive attitude towards lifelong learning.
3

OCCUPATIONAL

Communication & Social

Programme Learning Outcomes Level of Contribution
0 1 2 3 4 5
1
Communicates effectively by oral and/or written form and uses at least one foreign language.
3
2
Possess sufficient consciousness about the issues of project management, practical applications and also environmental protection, worker's health and security.
4

OCCUPATIONAL

Occupational and/or Vocational

Programme Learning Outcomes Level of Contribution
0 1 2 3 4 5
1
Possess professional and ethical responsibility and willingness to share it.
3
2
Possess sufficient consciousness about the universality of engineering solutions and applications and be well aware of the importance of innovation.
4

WORKLOAD & ECTS CREDITS OF THE COURSE UNIT

Workload for Learning & Teaching Activities

Type of the Learning Activites Learning Activities (# of week) Duration (hours, h) Workload (h)
Lecture & In-Class Activities 14 5 70
Preliminary & Further Study 14 3 42
Land Surveying 0 0 0
Group Work 0 0 0
Laboratory 0 0 0
Reading 0 0 0
Assignment (Homework) 0 0 0
Project Work 0 0 0
Seminar 0 0 0
Internship 0 0 0
Technical Visit 0 0 0
Web Based Learning 0 0 0
Implementation/Application/Practice 0 0 0
Practice at a workplace 0 0 0
Occupational Activity 0 0 0
Social Activity 0 0 0
Thesis Work 0 0 0
Field Study 0 0 0
Report Writing 0 0 0
Final Exam 1 1 1
Preparation for the Final Exam 5 4 20
Mid-Term Exam 1 1 1
Preparation for the Mid-Term Exam 4 4 16
Short Exam 0 0 0
Preparation for the Short Exam 0 0 0
TOTAL 39 0 150
Total Workload of the Course Unit 150
Workload (h) / 25.5 5,9
ECTS Credits allocated for the Course Unit 6,0