Faculty: Faculty of Engineering
Department(s): CE
Course: Algorithms
Weekly hours: Theory: 2 Exercises: 2
ECTS Credits: 6
Semester: Spring

Lecture Schedule:

Lecturer: Dr. Hiqmet Kamberaj
Room Number:
Phone Number of the lecturer: +389 (0)23174010 (ext. 123)
E-mail address of the lecturer: moc.kooltuo|jarebmakh#moc.kooltuo|jarebmakh

Course Objectives:

This course aims to introduce the classic algorithms in various domains, and techniques for designing efficient algorithms. It covers fundamental ideas in algorithms; and teach the students to design algorithms, prove their correctness, and analyze their efficiency. Emphasis is on the cost associated with different algorithms, studying the basic mathematical tools for analyzing algorithm cost, exploring design heuristics, and how the cost can be affected by subtle choices. For the semester project(s), the C/C++ programming language is going to be used.

Learning Outcomes:

After completing this course, students will be able to:

  1. Prove the correctness and analyze the running time of the basic algorithms for those classic problems in various domains.
  2. Apply the algorithms and design techniques to solve problems.
  3. Analyze the complexities of various problems in different domains.
  4. Using a C programming language to implement algorithms.
Skill outcomes Necessary ( + ) Not Necessary ( –)
Written communication skills +
Oral communication skills +
Computer skills +
Working in laboratory +
Working team +
Preparing projects +
Knowledge of foreign language +
Scientific and professional literature analysis +
Problem solving skills +
Management skills +
Presentation skills +

Course Textbooks:

  1. H. Kamberaj, Introduction to Algorithms: Learning Algorithms by Examples, Lambert Academic Publishing, 978-620-6-15263-7, March 29, 2023.
  2. T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein, Introduction to Algorithms, 2nd Edition, McGraw-Hill Higher Education (2002).
  3. K. Loudon, Mastering Algorithms with C, 1st Edition, O’ Reilly & Associates, USA, (1999).
Teaching methods Ideal %
Teaching ex-cathedra (teacher as the figure of authority, standing in front of the class and lecturing) 15
Teaching cathedra (prepare solved exercises, explaining lectures/slides materials, preparing solved laboratory problems, writing textbook) 60
Interactive teaching (ask questions in class, assign and check homework, or hold class or group discussions) 10
Mentor teaching (consultant-teacher who has supervisory responsibility and supervising the students) 5
Laboratory work -
Seminar work -
Field Work (enables students to examine the theories and the practical experiences of a particular discipline interact) -
Semester project -
Case Study (An in-depth exploration of a particular context) -
Students Team work (in-class laboratory work) 10


  • Students are obliged to attend at least 72 % out of 12 weeks of lectures, exercises, and other activities.
  • The teaching staff should monitor and submit the Course Attendance Report to the Student Affairs Office at the end of the 14th week of each semester.
  • The attendance rule for failed overlapping courses is 36 % out of 12 weeks of lectures, exercises, and other activities.
  • The attendance rule for the course from the upper semester is 57% out of 12 weeks of lectures, exercises, and other activities.
  • Students are not obliged to attend the course if the course is double repeated. However, they need to register for the course.

Exams (Mid-Term Exam, Final Exam, Make-up Exam):

There are two exams, the Mid-Term and Final Exam, at the middle and at the end of the semester, respectively. The students, who do not earn minimum of 50 credit points from the Mid-Term, Final Exam including Homework Assignments, have to take the Make-Up Exam, which counts only for Final Exam credit points. The terms of the exams are defined by the Academic Calendar announced on the University web site.

Passing Score:

The maximum number of credit points is collected during the semester, as follows: Mid-term Exam = 40 Credit Points (minimum requirement is 10CPs - midterm + activity - to enter Final Exam), Final Exam (minimum requirement is 25 % to pass) = 40 Credit Points. Homeworks, quizzes, specific assignments, and term papers = 20 Credit Points. Total=100.

Weekly Study Plan

Weeks Topics
1 Introduction to the philosophy of this course. Introduction to Algorithms: The role of algorithms in computing, analyzing and designing algorithms.
2 Growth of functions: Asymptotic notations.
3 Growth of functions: Standard notations and common functions.
4 Merge-sort algorithm.
5 Recurrences: The substitution method.
6 Mid term review.
- Mid Term Exam Week
7 Recurrences: Recursion-tree method and The master method.
8 Probabilistic analysis and randomized algorithms.
9 Sorting and order statistics algorithms. Quicksort algorithm.
10 Binary search trees.
11 Red-black trees.
12 Final exam review.
- Final exam week.

Student workload:

For calculating the Total Student Work Load we multiply the course ECTS credits with standard figure 30. (ECTS Credit: 6) x 30 = 180 hours.

Activities Hours
Lecture hours for 12 weeks: 24
Laboratory and class exercises for 12 weeks: 24
Student Mentoring for 12 weeks: -
Consultations for 12 weeks: 12
Exam preparations and exam hours (Midterm, final, Makeups) Exam preparations and exam hours: Each one should be at least a minimum of 10 hours. 30
Individual reading work for 12 weeks (Reading assignments/expectations for reading and comprehension is 5 pages per hour. Example: If a book 300 pages, total Individual reading work for 12 weeks 300:5 = 60 hours. 46
Homework and work practice for 12 weeks: 44
Preparation of diploma work, for 12 weeks: -
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License