You are on page 1of 3

logo Infolink University College

Hawassa Campus
Department of Computer Science
E-Mail:
Module Title Algorithm Module Code CoSC-M2041

Course Title Design and Analysis of Algorithms Course Code CoSc3042


ECTS/Cr.Hr. 5 ECTS / 3 CrH Study Hours
Lec: 2 Lab: 0 Tut: 0 HS: 71
Course Category Compulsory
Instructor’s Name: Gezahegn H. Gaje
Information Phone Number: 0928978311 Email: gezagize@gmail.com
Consultation Hour: Tuesday 10:30-12:00AM
Course Academic Year: III
Information Semester: I
Course Schedule: Sat 3:00pm
Prerequisite(s): Data Structure and Algorithms (CoSc3039)
Course The course focuses on the design and analysis of algorithms. Topics Include: Review
Description of the basic data structures; Design techniques: divide-and-conquer, dynamic
programming, greedy algorithms, And graph algorithms: Elementary graph
algorithms, Breadth-first search (BFS), Depth-first search (DFS), Strongly-connected
components, Minimum spanning tree, shortest paths.
Learning By the end of this course, students will be able to:
Outcomes  Perform algorithm analysis using the different techniques;
 Demonstrate the use of algorithm design techniques; and
 Describe the basics of computational complexity
 Apply advanced searching and sorting algorithms
 Develop, and reason about the correctness and performance of algorithms, in
particular for string
 Searching and graph manipulation
Course Content
Topic Duration (Week)

Chapter 1: Introduction to Design and Analysis of Algorithms(8hrs) Week 1-3


0.1. Elementary Data Structures
0.1.1. Array
0.1.2. Linked List
0.1.3. Stack
0.1.4. Queue
0.1.5. Tree
0.1.6. Graphs
1.1. What is algorithm?
1.2. Problems solved by algorithms
1.3. Analyzing algorithms
1.3.1. Complexity of algorithms
1.3.2. Asymptotic Notations
1.3.3. Rules for analyzing algorithms
1.4. Algorithm Design and its goals
Chapter 2: Divide and Conquer (8 hr) Week 3-6
2.1. The General Method of Divide and Conquer
2.2. Master Theorem
2.3. Binary Search
2.4. Finding Maximum and Minimum
2.5. Merge Sort
2.6. Quick Sort
2.7. Selection Sort
Chapter 3: Greedy Algorithms ( 8 hr) 6-8
3.1. General Characteristic of Greedy Algorithms
3.3. Fractional Knapsack
3.2. Minimum Spanning Tree (MST) –
3.2.1. Kruskal’s Algorithm
3.2.2. Prims’s Algorithms
3.3. Dijkstra Algorithm
3.4. Scheduling
Chapter 4: Dynamic Programming (8 hr) 9-11
4.1. Introduction to Dynamic Programming
4.2. All pairs Shortest Path - Floyd-Warshall Algorithm
4.3. Shortest Path - Dijkstra Algorithm
4.4. 0/1 Knapsack
4.5. Depth First Search
Chapter 5: Back Tracking (8 hr) 11-13
5.1. 8 Queens Problem
5.2. Graph Coloring
5.3. Hamiltonian Cycle
5.4. Knapsack Problems
5.5. Traveling Salesman Problems
Chapter 6: Introduction to Probabilistic Algorithms - Parallel Algorithms (2hr) 14
Exam Week Week 15-16
Minimum laboratory activities for this course: NA
Required o NA
SW/HW tools
Teaching and The course will be delivered in the form of lectures, presentations, group discussions,
Learning Strategy and individual and group project works. Three contact hours of lectures, three contact
(Method) hours of lab and 1 contact hour of tutorials per week.
Assessment The evaluation shall be based on both formative and summative assessment which
Criteria include:
Assessment Forms % of credit allotted
• Assignment 15
• Quiz 10
• Mid Exam 25
• Final Exam 50
References: 1. Cormen, T.H. et al. (1990) Introduction to Algorithms. MIT Press and McGraw-
Hill Book Company.
2. Manna, Z. (1974) Mathematical Theory of Computation McGraw-Hill.
3. Baase, S. (1988) Computer Algorithms: Introduction to Design and Analysis, 2nd
ed. Addison-Wesley Publishing Company.
4. T. H. Cormen, C. E. Leiserson, R. L. Rivest. Introduction to Algorithms the MIT
Press, Cambridge, Massachusetts, 3rd edition.
Role of Delivers lectures, prepares reading assignments and topics for group discussion,
Instructor(s) prepares projects by discussion with student, gives consultation and advises students
on project works and assignments, prepares and evaluates quiz, assignment, midterm
and final examination.
Role of Students Attend lectures, presentation, work in team on group work, participate in group
discussion, discusses with the instructor on topics of interest for project work, delivers
and presents project work, attend quiz, test and final examination.

You might also like