SWE209 Data Structures and AlgorithmsIstinye UniversityDegree Programs Software Engineering(English)(For Other Faculties)MinorGeneral Information For StudentsDiploma SupplementErasmus Policy StatementNational Qualifications

Course Introduction and Application Information

Course Code: SWE209
Course Name: Data Structures and Algorithms
Semester: Fall
Course Credits:
ECTS
6
Language of instruction: English
Course Condition:
Does the Course Require Work Experience?: No
Type of course: Compulsory Courses
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. Üy. MUHAMMED DAVUD
Course Lecturer(s): Assist. Prof. Dr. Muhammed Davud
Course Assistants:

Course Objective and Content

Course Objectives: This course covers a range of topics, including basic data structures such as arrays, linked lists, stacks, queues, trees, and graphs, as well as more complex data structures such as hash tables and heaps. Students will also learn about algorithm analysis and design, including sorting and searching algorithms. Additionally, students will gain knowledge of algorithmic problem-solving techniques, algorithmic complexity, and the big-O notation. Throughout the course, students will be required to complete programming assignments and projects that apply the concepts covered in lectures and readings.
Course Content: This course covers a range of topics, including basic data structures such as arrays, linked lists, stacks, queues, trees, and graphs, as well as more complex data structures such as hash tables and heaps. Students will also learn about algorithm analysis and design, including sorting and searching algorithms. Additionally, students will gain knowledge of algorithmic problem-solving techniques, algorithmic complexity, and the big-O notation. Throughout the course, students will be required to complete programming assignments and projects that apply the concepts covered in lectures and readings.

Learning Outcomes

The students who have succeeded in this course;
1) Understand and apply the fundamental concepts of data structures and algorithms.
2) Understand and apply algorithm analysis and design techniques, including sorting and searching algorithms.
3) Analyze algorithmic problems and implement appropriate solutions using the concepts learned in the course.
4) Understand and apply algorithmic complexity and big-O notation to analyze and compare different algorithms.
5) Develop efficient and optimized algorithms for solving programming problems.

Course Flow Plan

Week Subject Related Preparation
1) Introduction
2) Complexity Analysis of Algorithms
3) Recursion
4) Stacks
5) Queues
6) Lists
7) Sorting Algorithms
8) Midterm Exam
9) Searching Algorithms
10) Trees
11) Heaps
12) Graphs
13) Graphs
14) Hashing

Sources

Course Notes / Textbooks: Ellis Horowitz, Sartaj Sahni and Dinesh Mehta, Fundamentals of Data Structure in C++, W.H.Freeman
References: Lecture notes

Course - Program Learning Outcome Relationship

Course Learning Outcomes

1

2

3

4

5

Program Outcomes

Course - Learning Outcome Relationship

No Effect 1 Lowest 2 Average 3 Highest
       
Program Outcomes Level of Contribution

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Quizzes 1 % 10
Midterms 1 % 40
Final 1 % 50
total % 100
PERCENTAGE OF SEMESTER WORK % 50
PERCENTAGE OF FINAL WORK % 50
total % 100

Workload and ECTS Credit Calculation

Activities Number of Activities Workload
Course Hours 13 39
Laboratory 13 26
Study Hours Out of Class 14 60
Quizzes 4 8
Midterms 1 3
Final 1 3
Total Workload 139