Algorithms

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


Lecture Schedule:

Monday: (Lectures - Avtocomanda, Classroom 105) : 11:15 - 13.00
Monday: (Exercises - Avtocomanda, Classroom 105) : 13:00 - 14.15


Lecturer: Dr. Hiqmet Kamberaj
Room Number: 409
Phone Number of the lecturer: +389 (0)23174010 (ext. 123)
E-mail address of the lecturer: km.ude.ubi|jarebmakh#km.ude.ubi|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), 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 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. T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein, Introduction to Algorithms, 2nd Edition, McGraw-Hill Higher Education (2002).
  2. K. Loudon, Mastering Algorithms with C, 1st Edition, O’ Reilly & Associates, USA, (1999).
  3. H. Kamberaj, Solved Problems in Algorithms, International Balkan University, 2015.
Teaching methods Ideal %
Teaching ex cathedra (teacher as the figure of authority, standing in front of the class and lecturing) 80
Interactive teaching (ask questions in class, assign and check homework, or hold class or group discussions) 10
Mentor teaching (consultant-teacher who has a supervisory responsibility and supervising the students) -
Laboratory work -
Seminar work -
Field Work (enables students to examine the theories and the practical experiences of a particular discipline interact) -
Semester project 5
Case Study (An in-depth exploration of a particular context) -
Students Team work 5

Attendance:

  • Students are obliged to attend at least 10 weeks out of 14 weeks of lectures, exercises, and other activities (72%).
  • The teaching staff should monitor and submit Course Attendance Report to the Student Affairs Office at the end of 14th week of each semester.
  • The attendance rule for failed overlapping courses is %36 (5 weeks) and for non-overlapping courses is 57% (8 weeks);
  • The attendance rule for course from upper semester is 57% (8 weeks).
  • Students are not obliged to attend the course if the course is double repeated. However, they need to register and to pay repeated 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 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 (minimum requirement is 5 credit points to enter Final Exam). 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. Recurrences: The substitution method.
5 Recurrences: Recursion-tree method and The master method.
6 Recurrences: Proof of the master theorem.
7 Mid term review - discussion - 2 CPs Activity.
- Mid Term Exam Week
8 Probabilistic analysis and randomized algorithms: Hiring problem and Indicator random variables
9 Probabilistic analysis and randomized algorithms: Randomized algorithms and probabilistic analysis.
10 Sorting and order statistics algorithms: Quicksort.
11 Binary search trees.
12 Randomly build binary search trees.
13 Red-black trees.
14 Final exam review - discussion - 3 CPs Activity.
- 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 14 weeks: 28
Laboratory and class exercises for 14 weeks: 14
Student Mentoring for 14 weeks: -
Consultation for 14 weeks: 2
Exam preparations and exam hours (Midterm, final, Makeups) Exam preparations and exam hours: Each one should be at least minimum 10 hours. 30
Individual reading work for 14 weeks (Reading assignments/expectations for reading and comprehension is 5 pages per hour. Example: If a book 300 pages, total Individual reading work for 14 weeks 300:5 = 60 hours. 54
Homework and work practice for 14 weeks: 52
Preparation of diploma work, for 14 weeks: -
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License