Module/Course Title: Algorithm Design and Analysis

Module course code

KOMS120403

Student Workload
119 hours

Credits

3 / 4.5 ETCS

Semester

4

Frequency

Even Semester

Duration

16

1

Type of course

Core Study Courses

Contact hours


40 hours of face-to-face (theoretical) class activity

Independent Study


48 hours of independent activity
48 hours of structured activities

Class Size

30

2

Prerequisites for participation (if applicable)

-

3

Learning Outcomes

  1. Students can demonstrate systematic thinking in analyzing and designing software and database solutions
  2. Students can apply effective methods in developing software and databases
  3. Students can create and evaluate software and database solutions
  4. Students understand the method for calculating the complexity of the algorithm.
  5. Students understand algorithm design strategies.
  6. Students understand design efficient algorithms according to conditions.
  7. Students understand the limitations of the algorithm's ability.

4

Subject aims/Content

This course studies the design and analysis of algorithms, which includes a discussion of the types of algorithmic problems in the computer world, efficiency analysis, namely the time and space complexity of algorithms, algorithm design strategies, and the limitations of each algorithm strategy. The algorithm design strategies discussed include Brute Force strategies, Recursive techniques, Divide-and-Conquer, Decrease-and-Conquer, Transform-and-Conquer, Greedy, Backtracking, Branch and Bound, Dynamic Programming, as well as algorithm complexity classes (Theory P, NP, and NP-Complete). After taking this course, students are expected to understand various kinds of algorithm design strategies, and be able to apply algorithm design techniques to solve problems in real life.

Study Material
  • Introduction
  • Review of Data Structure material

Algorithm complexity analysis

Brute Force

Brute Force

Divide-and-Conquer

Divide-and-Conquer

Decrease-and-Conquer

Decrease-and-Conquer

All materials that have been given from the 1st meeting to the 8th meeting.

Transform-and-Conquer

Transform-and-Conquer

Discussion about the trade-off of speed with memory efficiency

Dynamic Programming

Greedy Technique

Algorithm capability limitation

All materials

5

Teaching methods

Lecture, discussions, and questions and answers.

6

Assesment Methods

Assignment

7

This module/course is used in the following study programme/s as well

Computer Science Study Programme

8

Responsibility for module/course

  • Ni Luh Dewi Sintiari, S.Pd., M.Sc., Ph.D
  • NIDN : -

9

Other Information

  1. Reference book Introduction to The Design & Analysis of Algorithms, Anany Levitin, Pearson Education, Inc.
  2.  Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, Ronald Rivest, Clifford Stein (1989).
  3. Lecture slides of "Analysis of Algorithms", by Robert Sedgewick.
  4. Lecture notes of "Algorithm Strategy" (in Indonesian), by Rinaldi Munir, Institut Teknologi Bandung.
  5. Youtube video playlist "Design and Analysis of Algorithms", by Gate Smashers.
  6. Lecture slides and handouts by the supporting lecturer.