Skip to main content

Course Detail

Course Description

CourseCodeSemesterT+P (Hour)CreditECTS
ALGORITHM ANALYSIS-Spring Semester3+036
Course Program
Prerequisites Courses
Recommended Elective Courses
Language of CourseEnglish
Course LevelFirst Cycle (Bachelor's Degree)
Course TypeRequired
Course CoordinatorProf.Dr. Reda ALHAJJ
Name of Lecturer(s)Prof.Dr. Reda ALHAJJ
Assistant(s)
AimIntroduce fundamental techniques for designing algorithms and analyzing the time and space requirements of these algorithms in a formal way. Mathematical background for algorithm analysis, sorting, searching, basic algorithms design and graph algorithms will be covered.
Course ContentThis course contains; Week 1: Introduction: analysing algorithms, designing algorithms.,Week 2: Asymptotic Notation.,Week 3: Divide and Conquer Design Paradigm.,Week 4: Solving Recurrences.,Week 5: Analysis of Quicksort, Randomized Quicksort.,Week 6: Heapsort.,Week 7: Quicksort.,Week 8: Sorting in Linear Time.,Midterm,Week 10: Medians and Order Statistics.,Week 11: Dynamic Programming.,Week 12: Greedy Algorithms.,Week 13: Amortized Analysis, Dynamic Tables.,Week 13: Graphs, Breadth-first Search (BFS)..
Dersin Öğrenme KazanımlarıTeaching MethodsAssessment Methods
1) At the end of this course the students will be able to describe the fundamentals of algorithm analysis.12, 14, 16, 9A, E
2) At the end of this course the students will be able to construct complex algorithms using the data structures that they have learned. 12, 14, 16, 9A, E
3) At the end of this course the students will be able to develop complex algorithms and advanced data structures that are using trees and will be able to apply them to real world problems.10, 12, 14, 17, 9A, E, F
4) At the end of this course the students will be able to develop complex algorithms and advanced data structures that are using graphs and will be able to apply them to real world problems.10, 12, 14, 17, 9A, E, F
5) At the end of this course the students will be able to systematically look at a given computational problem and design a novel algorithm using techniques like dynamic programming, divide and conquer and greedy algorithms. 12, 14, 16, 19, 9A, E
Teaching Methods:10: Discussion Method, 12: Problem Solving Method, 14: Self Study Method, 16: Question - Answer Technique, 17: Experimental Technique, 19: Brainstorming Technique, 9: Lecture Method
Assessment Methods:A: Traditional Written Exam, E: Homework, F: Project Task

Course Outline

OrderSubjectsPreliminary Work
1Week 1: Introduction: analysing algorithms, designing algorithms.Lecture Slides and textbook chapters 1 & 2
2Week 2: Asymptotic Notation.Lecture Slides and textbook chapter 3
3Week 3: Divide and Conquer Design Paradigm.Lecture Slides and textbook chapter 4
4Week 4: Solving Recurrences.Lecture Slides and textbook chapter 4
5Week 5: Analysis of Quicksort, Randomized Quicksort.Lecture Slides and textbook chapter 5
6Week 6: Heapsort.Lecture Slides and textbook chapter 6
7Week 7: Quicksort.Lecture Slides and textbook chapter 7
8Week 8: Sorting in Linear Time.Lecture Slides and textbook chapter 8
9MidtermLecture Slides and textbook chapters from 1 to 9, inclusive.
10Week 10: Medians and Order Statistics.Lecture Slides and textbook chapter 9
11Week 11: Dynamic Programming.Lecture Slides and textbook chapter 15
12Week 12: Greedy Algorithms.Lecture Slides and textbook chapter 16
13Week 13: Amortized Analysis, Dynamic Tables.Lecture Slides and textbook chapter 17
14Week 13: Graphs, Breadth-first Search (BFS).Lecture Slides and textbook chapter 22
Resources
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, Mit Press and McGraw-Hill, 2009.
The notes and the presentations will be delivered during the lectures.

Course Contribution to Program Qualifications

Course Contribution to Program Qualifications
NoProgram QualificationContribution Level
12345
1
1. An ability to apply knowledge of mathematics, science, and engineering
X
2
2. An ability to identify, formulate, and solve engineering problems
X
3
3. An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
X
4
4. An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice
X
5
5. An ability to design and conduct experiments, as well as to analyze and interpret data
6
6. An ability to function on multidisciplinary teams
X
7
7. An ability to communicate effectively
X
8
8. A recognition of the need for, and an ability to engage in life-long learning
X
9
9. An understanding of professional and ethical responsibility
X
10
10. A knowledge of contemporary issues
11
11. The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context

Assessment Methods

Contribution LevelAbsolute Evaluation
Rate of Midterm Exam to Success 30
Rate of Final Exam to Success 70
Total 100
ECTS / Workload Table
ActivitiesNumber ofDuration(Hour)Total Workload(Hour)
Course Hours14342
Guided Problem Solving14456
Resolution of Homework Problems and Submission as a Report6530
Term Project000
Presentation of Project / Seminar000
Quiz000
Midterm Exam12222
General Exam12222
Performance Task, Maintenance Plan000
Total Workload(Hour)172
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(172/30)6
ECTS of the course: 30 hours of work is counted as 1 ECTS credit.

Detail Informations of the Course

Course Description

CourseCodeSemesterT+P (Hour)CreditECTS
ALGORITHM ANALYSIS-Spring Semester3+036
Course Program
Prerequisites Courses
Recommended Elective Courses
Language of CourseEnglish
Course LevelFirst Cycle (Bachelor's Degree)
Course TypeRequired
Course CoordinatorProf.Dr. Reda ALHAJJ
Name of Lecturer(s)Prof.Dr. Reda ALHAJJ
Assistant(s)
AimIntroduce fundamental techniques for designing algorithms and analyzing the time and space requirements of these algorithms in a formal way. Mathematical background for algorithm analysis, sorting, searching, basic algorithms design and graph algorithms will be covered.
Course ContentThis course contains; Week 1: Introduction: analysing algorithms, designing algorithms.,Week 2: Asymptotic Notation.,Week 3: Divide and Conquer Design Paradigm.,Week 4: Solving Recurrences.,Week 5: Analysis of Quicksort, Randomized Quicksort.,Week 6: Heapsort.,Week 7: Quicksort.,Week 8: Sorting in Linear Time.,Midterm,Week 10: Medians and Order Statistics.,Week 11: Dynamic Programming.,Week 12: Greedy Algorithms.,Week 13: Amortized Analysis, Dynamic Tables.,Week 13: Graphs, Breadth-first Search (BFS)..
Dersin Öğrenme KazanımlarıTeaching MethodsAssessment Methods
1) At the end of this course the students will be able to describe the fundamentals of algorithm analysis.12, 14, 16, 9A, E
2) At the end of this course the students will be able to construct complex algorithms using the data structures that they have learned. 12, 14, 16, 9A, E
3) At the end of this course the students will be able to develop complex algorithms and advanced data structures that are using trees and will be able to apply them to real world problems.10, 12, 14, 17, 9A, E, F
4) At the end of this course the students will be able to develop complex algorithms and advanced data structures that are using graphs and will be able to apply them to real world problems.10, 12, 14, 17, 9A, E, F
5) At the end of this course the students will be able to systematically look at a given computational problem and design a novel algorithm using techniques like dynamic programming, divide and conquer and greedy algorithms. 12, 14, 16, 19, 9A, E
Teaching Methods:10: Discussion Method, 12: Problem Solving Method, 14: Self Study Method, 16: Question - Answer Technique, 17: Experimental Technique, 19: Brainstorming Technique, 9: Lecture Method
Assessment Methods:A: Traditional Written Exam, E: Homework, F: Project Task

Course Outline

OrderSubjectsPreliminary Work
1Week 1: Introduction: analysing algorithms, designing algorithms.Lecture Slides and textbook chapters 1 & 2
2Week 2: Asymptotic Notation.Lecture Slides and textbook chapter 3
3Week 3: Divide and Conquer Design Paradigm.Lecture Slides and textbook chapter 4
4Week 4: Solving Recurrences.Lecture Slides and textbook chapter 4
5Week 5: Analysis of Quicksort, Randomized Quicksort.Lecture Slides and textbook chapter 5
6Week 6: Heapsort.Lecture Slides and textbook chapter 6
7Week 7: Quicksort.Lecture Slides and textbook chapter 7
8Week 8: Sorting in Linear Time.Lecture Slides and textbook chapter 8
9MidtermLecture Slides and textbook chapters from 1 to 9, inclusive.
10Week 10: Medians and Order Statistics.Lecture Slides and textbook chapter 9
11Week 11: Dynamic Programming.Lecture Slides and textbook chapter 15
12Week 12: Greedy Algorithms.Lecture Slides and textbook chapter 16
13Week 13: Amortized Analysis, Dynamic Tables.Lecture Slides and textbook chapter 17
14Week 13: Graphs, Breadth-first Search (BFS).Lecture Slides and textbook chapter 22
Resources
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, Mit Press and McGraw-Hill, 2009.
The notes and the presentations will be delivered during the lectures.

Course Contribution to Program Qualifications

Course Contribution to Program Qualifications
NoProgram QualificationContribution Level
12345
1
1. An ability to apply knowledge of mathematics, science, and engineering
X
2
2. An ability to identify, formulate, and solve engineering problems
X
3
3. An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
X
4
4. An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice
X
5
5. An ability to design and conduct experiments, as well as to analyze and interpret data
6
6. An ability to function on multidisciplinary teams
X
7
7. An ability to communicate effectively
X
8
8. A recognition of the need for, and an ability to engage in life-long learning
X
9
9. An understanding of professional and ethical responsibility
X
10
10. A knowledge of contemporary issues
11
11. The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context

Assessment Methods

Contribution LevelAbsolute Evaluation
Rate of Midterm Exam to Success 30
Rate of Final Exam to Success 70
Total 100

Numerical Data

Student Success

Ekleme Tarihi: 09/10/2023 - 10:50Son Güncelleme Tarihi: 09/10/2023 - 10:51