ANTALYA BİLİM UNIVERSITY
Course Information Package

CS 3001 - Algorithms

Basic Information

Course Code:
CS 3001
Course Name:
Algorithms
Language of Instruction:
English
Course Type:
Class
Course Level:
Bachelor
ECTS:
5.00
Instructor:
Prof. Dr. Hilal KAZAN

Course Objectives

The main objective of this course is to provide the students with a knowledge on foundations of problem solving, computational efficiency, and experience in the design and implementation of algorithms commonly employed in computer science and computational problems.

Course Content

Introduction to the main concepts of design and analysis of algorithms. Overview of basic analysis techniques: approximating functions asymptotically, bounding sums, and solving recurrences. Discussion of efficiently solvable problems with a focus on design techniques such as divide-and-conquer, randomization, dynamic programming, amortization, and greedy algorithms. Illustration of various new concepts through algorithms applied to problems related to sets, sequences, strings, graphs etc.

Prerequisites / Corequisites

CS 1002 and CS 2007

Learning Outcomes

Code Description
LO1 Explains the working principle of iteration and uses it in problem solving.
LO2 Explains the logic behind how different sorting algorithms work.
LO3 Analyzes the worst-case, average-case, and best-case time complexities of an algorithm.
LO4 Expresses the time and space complexity of an algorithm using asymptotic notation.
LO5 Solves problems using divide-and-conquer, greedy, and dynamic programming techniques, and compares these techniques.

Weekly Course Content

Week Content
1 Introduction and course Logistics
2 Divde and conquer, merge sort
3 Asymptotic analysis, Running time analysis of merge sort
4 Asymptotic analysis, Running time analysis of merge sort
5 Masters Theorem
6 Heapsort
7 Quicksort
8 Midterm
9 Quicksort and Selection Algorithm
10 Dynamic Programming (DP) (Rod Cutting)
11 Dynamic Programming (DP) (Longest Common Subsequence)
12 Greedy Algorithms (Activity Selection, Knapsack problems)
13 Greedy Algorithms (Huffman encoding)
14 Comparison of DP and Greedy algorithms
15 Review

Workload Calculation

Activity Count Duration (Hours) Total
Attendance 14 3.00 42.00
Pre-Class Individual Study 14 1.50 21.00
Midterm Exam/Preparation 1 15.00 15.00
Final Exam/Preparation 1 18.00 18.00
Quiz Preparation 3 10.00 30.00
Homework 3 8.00 24.00
Total Workload (Hours) 150
ECTS Credit (Workload / 25) 5

Assessment

# Assessment Type Contribution (%)
1 Final Exam %35
2 Midterm Exam %30
3 Quiz %25
4 Homework %10
TOTAL %100

PO - LO Matrix

PO \ LO
LO1
LO2
LO3
LO4
LO5
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
PO-10
PO-11
1
Low Contribution
2
Medium Contribution
3
High Contribution

Teaching and Learning Methods

# Method Name Description Tools
1 Lecture (expository teaching), interactive discussion Listening and taking notes. Standard classroom technologies, multimedia tools (projector, computer, digital presentations)
2 Homework Solving and analyzing homework questions using a computer and Excel. Computer

Sustainable Development Goals

SDG 4
SDG 8
SDG 9
SDG 10