Course Information
SemesterCourse Unit CodeCourse Unit TitleT+P+LCreditNumber of ECTS CreditsLast Updated Date
1BBM408ALGORITHM ANALYSIS3+0+03606.09.2024

 
Course Details
Language of Instruction English
Level of Course Unit Bachelor's Degree
Department / Program COMPUTER ENGINEERING
Type of Program Formal Education
Type of Course Unit Elective
Course Delivery Method Face To Face
Objectives of the Course The purpose of algorithm analysis is to predict the behavior, especially the running time, of an algorithms. This course will provide an introduction to mathematical tools needed to analyze algorithms. Students will be introduced to fundamentals techniques for designing and analyzing algorithms.
Course Content Asymptotic notations, recurrences, general techniques in algorithm design, sorting and order statistics, greedy/matrix algorithms, dynamic programming
Course Methods and Techniques Lecture, Problem Solving
Prerequisites and co-requisities ( BBM104 ) and ( BBM102 )
Course Coordinator None
Name of Lecturers Associate Prof.Dr. Lale Ă–zkahya
Assistants None
Work Placement(s) No

Recommended or Required Reading
Resources Cormen H. T., Leiserson C. E., Rivest R. L., ?Introduction to Algorithms ?, The MIT Press, 1994 Aho A.V., Hopcroft J. E., Ullman J. D., ?The design and analysis of computer algorithms?,Addison-Wesley Pub. 1974
Course Notes 1. Cormen H. T., Leiserson C. E., Rivest R. L., “Introduction to Algorithms “, The MIT Press, 1994
2. Aho A.V., Hopcroft J. E., Ullman J. D., “The design and analysis of computer algorithms”,Addison-Wesley Pub. 1974


Planned Learning Activities and Teaching Methods
Activities are given in detail in the section of "Assessment Methods and Criteria" and "Workload Calculation"

Assessment Methods and Criteria
In-Term Studies Quantity Percentage
Midterm Exam 2 % 20
Assignment 4 % 20
Project 1 % 10
Final examination 1 % 50
Total
8
% 100

 
ECTS Allocated Based on Student Workload
Activities Quantity Duration Total Work Load
Course Duration 14 3 42
Hours for off-the-c.r.stud 5 9 45
Assignments 4 7 28
Project 1 15 15
Preparation for Midterm Exam 2 15 30
General Exam Preparation 1 20 20
Total Work Load   Number of ECTS Credits 6 180

 
Course Learning Outcomes: Upon the successful completion of this course, students will be able to:
NoLearning Outcomes
1 Upon successful completion of this course, the students will be able to derive closed-form and asymptotic expressions from series and recurrences.
2 The students will be able to analyze the performance of different algorithms.
3 The students will be able to understand the difference among the lower, upper and tight bounds of various problems.
4 The students will be able to use various techniques for efficient algorithm design(greedy, divide-and-conquer, and dynamic algorithms)
5 The students will be able to differentiate between various algorithms for sorting(e.g. insertion sort, merge sort, heap sort, quick sort)
6 Sıralama(arama yada seçme) algoritmalarını ayırabilme
7 yeteneğini kazanır.
8  

 
Weekly Detailed Course Contents
WeekTopicsStudy MaterialsMaterials
1 Asymptotic notations
2 Worst, best and average case analysis
3 Recurrence relations, generating functions
4 Solving recurrence relations; substitution and iteration method
5 Master theorem
6 Midterm exam
7 General techniques in algorithm design; divide and conquer, backtracing, dynamic programming, greedy
8 Multiplying two n-bits numbers
9 Maximum subsequence sum problem, finding minimum and maximum
10 Analysis of the Euclidean algorithm, generating a random permutation, Strassen?s algorithm for matrix multiplication
11 Midterm exam
12 Overview of sorting and selection; : Sorting in linear time, tournament method, selecting the k-th smallest element in linear time
13 Lower bound for sorting, average-case analysis of quicksort, analysis of heap generation
14 Dynamic programming: matrix-chain multiplication, longest common subsequence
15 Final exam preparation
16 Final exam

 
Contribution of Learning Outcomes to Programme Outcomes
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12
All 5 5 5 1 1 1 1 1 1 1 1
C1
C2
C3
C4
C5
C6
C7
C8

  Contribution: 1: Very Slight 2:Slight 3:Moderate 4:Significant 5:Very Significant

  
  https://bilsis.hacettepe.edu.tr/oibs/bologna/progCourseDetails.aspx?curCourse=2687558&lang=en