You are on page 1of 7

© Curriculum and Academic Quality Committee

Informal Minutes
Sri Lanka Institute of Information Technology
Unit Outline

Course Identification
Unit Name Design and Analysis of Algorithms
Unit Code 214 Version No. 1 (2009)
Credit Points 4
Pre-requisites Software Technology I

Co-requisites None

Methods of Delivery Lecture (Face-to-face) 2 hours/week


Tutorials 1 hour/week
Lab Practical Classes 2 hours/week
Intranet
Course Web Site http://moodle.sliit.lk

Course Description
Introduction This unit will give the students the ability to understand the problem in
algorithmic way, Analyse and find the best suitable algorithm. The primary
aim of this unit is to give students a solid foundation for further study in
computing.
Unit Learning On completion of this unit you should be able to cast problems in algorithmic
Outcomes terms; identify efficient algorithms to solve problems; construct their own
algorithms to solve problems; and analyse algorithms to determine resource
requirements.
Assessment During the semester, there will be one mid-term and a final exam. The mid-
Criteria term test will be based on the practical work and the lecture material covered
until the week before it is held. The final examination will be a
comprehensive exam based on the practical assignments and lecture materials
covered during the semester.
The distribution of marks for the assessed components of the unit are as
follows:
Midterm 20% 1 hour, Essay Type, 4 questions
with equal marks
Sri Lanka Institute of Information Technology Page 1 of 7
© Curriculum and Academic Quality Committee

Informal Minutes
Assignment 10%
Final Examination 70% 3 hours, Essay Type, 6 questions
with equal marks
Total 100%
Unit To pass this unit, students are required to get at least 45% of the marks for the
Requirement midterm, and the final examination.

Learning Required Text


Resources
T.H. Cormen, C.E. Leiserson, and R.L. Rivest, Introduction to Algorithms,
first or second edition,
MIT-Press, ISBN 0-262-03293-7.
Alternate Texts
The following textbook takes a more practical approach, presenting Java code
for much of the work covered in this unit. Some students, particularly those
with strong Java skills, may find it helpful. Sartaj Sahni,
Data Structures, Algorithms, and Applications in Java, McGraw-Hill, ISBN 0-
07-109217-X. Cambridge.

Unit Administration Procedure


Contact Information
Course Dr.Koliya Pulasinghe.
Coordinator
Telephone 011-2413900 E-mail Koliya.p@sliit.lk
Lecturers-in- Mr.Samantha Rajapaksha
charge
Telephone 011-2301904 E-mail samantha.r@sliit.lk
Location Metropolitan Campus (16th Floor)
Consultation
Time
Tutor
Telephone
Location
Tutor
Telephone

Sri Lanka Institute of Information Technology Page 2 of 7


© Curriculum and Academic Quality Committee

Informal Minutes
Location
Instructor
Telephone
Location
Instructor
Telephone
Location

Time Schedule
Week 1 Lecture 1:
Unit Outline
Introduction to algorithm- Pseudocode, Space Complexity, Time
Complexity, RAM Model, Analysis of Insertion sorting algorithm, Time
complexity analysis of an algorithm,

Tutorial 1

Exercises on theory and some calculations of algorithm analysis with


RAM model and operation count method.
Week 2 Lecture 2:
Introduction to Asymptotic notations.
Big O – notation, Big Omega - notation, Big theta – notation.

Tutorial 2
Exercises on Asymptotic notations
Week 3 Lecture 3:
Introduction to recursion and Data structure- Recursion tree, Recurrence
equation, Time complexity analysis of a recursive algorithm
Data structure-Arrays, Stacks, Queues, Lists, Trees.

Tutorial 3
Exercises on recursive algorithm and operations on data structures.

Week 4 Lecture 4:

Sri Lanka Institute of Information Technology Page 3 of 7


© Curriculum and Academic Quality Committee

Informal Minutes
Analysis of Divider and conquer algorithms (Quick sort and merge sort
algorithm). Illustration of quick sort algorithm and analyzing the time
complexity with recurrence equation.

Tutorial 4
Exercises on divider and conquer method. Some calculations on quick
sort analysis.

Week 5 Lecture 5:
Illustration of merge sort algorithm and analyzing the time complexity
with recurrence equation of merge sort algorithm.
Introduction to heaps, Binary Tree
Complete Binary Tree
, Heap properties and heap sort algorithm.

Tutorial 5
Exercises on merge sort algorithm and heaps.

Assignment 1
Week 6 Lecture 6:
Introduction to heap algorithm- Heapify, Build Heap, Heap sort.
Maintaining the heap property.

Tutorial 6
Exercises on heap sort algorithm and heaps.

Week 7 Lecture 7:
Introduction to graphs algorithms- Applications of graphs, Weighted
Graphs, Multigraph, Graph Terminology, Representation of Graphs,
Searching the graphs.-
Breadth First Search (BFS)-Implemented with a queue.
Depth First Search (DFS) -Implemented with a stack..

Tutorial 7
Exercises on Graph algorithms.

Sri Lanka Institute of Information Technology Page 4 of 7


© Curriculum and Academic Quality Committee

Informal Minutes
Week 8: Mid-Term Examination
Week 9 Lecture 8:
Introduction to Greedy algorithm-
Spanning tree, Minimum cost spanning tree, Applications of greedy
algorithm,
Kruskal’s algorithm, Prim’s algorithm, Dijkstra’s Single-source shortest
path algorithms.

Tutorial 8
Exercises on Kruskal’s algorithm, Prim’s algorithm, Dijkstra’s Single-
source shortest path algorithm.

Week 10 Lecture 9:
Introduction to data compressions algorithms-Lossless compression,
Lossy compression, Fixed Length Coding, Shannon Fano Code, Huffman
Coding, Hu – Tucker Algorithm, Ziv – Lempel model,
Gzip

Tutorial 9
Exercises on data compressions algorithms (Shannon Fano, Huffman ,
Hu – Tucker Algorithm, Ziv – Lempel model
).

Week 11 Lecture 10:


String Searching and Finite State Machines- The naive string-matching
algorithm, The Rabin-Karp Algorithm, String matching with finite
automata.

Tutorial 10
Exercises on string searching algorithms and finite automata.

Week 12 Lecture 11:


Introduction to Dynamic programming- Elements of Dynamic
Programming, Recursive and dynamic solution for 0 / 1 Knapsack
Problem.

Sri Lanka Institute of Information Technology Page 5 of 7


© Curriculum and Academic Quality Committee

Informal Minutes
Tutorial 11
Exercises on Dynamic programming.

Week 13 Lecture 12:


Dynamic programming with matrix multiplication-Scalar Multiplication
, Paraenthesization, The matrix-chain

Tutorial 12
Exercise on matrix chain multiplication.
Week 14 Lecture 13:
Introduction to backtracking, branch and bound-finding a solution for
Traveling salesperson and 0/1 knapsack problem, Time & space analysis
of Backtracking and Branch & Bound.
Introduction to Parallel and Distributed Algorithms.

Tutorial 13
Exercises on backtracking, branch and bound algorithms, Parallel and
Distributed Algorithms.

Final Examination

Generic Information

Plagiarism: : Academic honesty is crucial to a student's credibility and self-esteem, and


ultimately reflects the values and morals of the University as a whole. A student may
work together with one or a group of students discussing assignment content, identifying
relevant references, and debating issues relevant to the subject. Plagiarism occurs when
the work of another person, or persons, is used and presented as one's own, unless the
source of each quotation or the piece of borrowed material is acknowledged with an
appropriate citation. The University regards very seriously any acts of cheating, or
dishonesty by way of plagiarism. Penalties for such incidences have been defined within
the University's Acts.

End of Unit Outline

Sri Lanka Institute of Information Technology Page 6 of 7


© Curriculum and Academic Quality Committee

Informal Minutes

Sri Lanka Institute of Information Technology Page 7 of 7

You might also like