0% found this document useful (0 votes)
2 views

Design and Analysis of Algorithms (COMP3005)

COMP3005 Design and Analysis of Algorithms aims to teach students about algorithm design, efficiency analysis, and problem complexity through a mathematical lens. The course covers various techniques such as divide-and-conquer, dynamic programming, and advanced data structures, with assessments including continuous assignments and a final exam. Successful students will demonstrate proficiency in algorithm analysis, design, and implementation, achieving specific learning outcomes related to algorithm complexity and problem-solving.

Uploaded by

kethanchalla2809
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Design and Analysis of Algorithms (COMP3005)

COMP3005 Design and Analysis of Algorithms aims to teach students about algorithm design, efficiency analysis, and problem complexity through a mathematical lens. The course covers various techniques such as divide-and-conquer, dynamic programming, and advanced data structures, with assessments including continuous assignments and a final exam. Successful students will demonstrate proficiency in algorithm analysis, design, and implementation, achieving specific learning outcomes related to algorithm complexity and problem-solving.

Uploaded by

kethanchalla2809
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Title (Units): COMP3005 Design and Analysis of Algorithms (3,3,0)

Course Aims: The primary objective of this course is to introduce the topics of algorithms as a
precise mathematical concept, and study how to design algorithms and analyze
their efficiency and memory needs. Also, the issue of problem complexity will be
addressed. The course consists of a strong mathematical analysis component in
addition to the design of various algorithms. By the end of the course, the
successful student will be able to:
1. Understand, explain, model, and analyze a given problem as an algorithm.
2. Investigate whether the algorithm found is the most efficient.
3. Formulate the time order analysis for an algorithm.
4. Formulate the space needs for the implementation of an algorithm.
5. Identify the complexity of problems

Prerequisite: COMP2015 Data Structures and Algorithms


MATH1205 Discrete Mathematics

Course Intended Learning Outcomes (CILOs):


Upon successful completion of this course, students should be able to:

No. Course Intended Learning Outcomes (CILOs)


Knowledge
1 Explain the basic concepts of time and space complexity analysis of algorithms
2 Describe the techniques for designing efficient algorithms: divide-and-conquer, greedy and
approximate algorithms, dynamic programming, amortized analysis, and computational geometry
3 Describe the advanced data structures of red-black tree, B-tree and van Emde Boas Trees
4 Identify the complexity of problems
Professional Skill
5 Solve a problem using an algorithm
6 Formulate the time-complexity analysis for an algorithm

Calendar Description: This course is to introduce the techniques of designing efficient algorithms
including divide-and-conquer strategy, dynamic programming, greedy and
approximate algorithms, and so forth, and the applications of these techniques to
design non-trivial algorithms, e.g. advanced data structures, graph algorithms,
sorting algorithms and computational geometry. The time and space complexity
of algorithms will be analyzed from a theoretical point of view. Also, the issue of
problem complexity will be addressed.

Teaching and Learning Activities (TLAs):

CILOs Type of TLA


1-6 Students will learn concepts and skills on algorithm design and analysis in lectures.
Tutorials will be conducted to provide more examples and exercises to students so that they
have an in-depth understanding of the teaching materials.
2-6 Students will work on written assignments / programming assignment / in-class exercises,
and examination to enhance their understanding of algorithm design and analysis

Assessment:

No. Assessment Weighting CILOs to be Description of Assessment Tasks


Methods addressed
1 Continuous 40% 1-6 Continuous assessments in the forms of written
Assessment assignments and programming assignment are
designed to measure how well students have learned
the basic concepts and skills of analyzing, designing
and implementing an algorithm.
2 Examination 60% 1-6 Final Examination questions are designed to
evaluate how far students have achieved their

1
intended learning outcomes. Questions will
primarily be analysis and skills based to assess the
student’s ability in the analysis, design and
realization of algorithms.

Assessment Rubrics:

Excellent (A)  Achieve all CILOs, demonstrating a good mastery of both the theoretical and
practical aspects of the knowledge and skills associated with algorithm design and
analysis
 Able to develop correct and efficient solutions to problems with the algorithm
complexity analysis
 Demonstrate a thorough understanding and solid knowledge of algorithm design and
analysis concepts, and algorithm techniques
 Able to apply a variety of algorithm techniques and relevant knowledge for solving
new problems
Good (B)  Achieve most of the six CILOs, demonstrating a good understanding of the
knowledge and skills associated with algorithm design and analysis
 Able to develop correct solutions to problems with the basic algorithm analysis
 Demonstrate a competent level of knowledge of algorithm design and analysis
 Ability to make use of appropriate techniques and knowledge and apply them to
familiar problems
Satisfactory (C)  Achieve some of the six CILOs, demonstrating a basic level of understanding of the
knowledge and skills associated with algorithm design and analysis
 Able to provide acceptable solutions to problems with the basic knowledge of
algorithm complexity analysis
 Demonstrate an adequate level of knowledge of algorithm design and analysis
 Ability to make use of some techniques and knowledge and apply them to familiar
situations
Marginal Pass (D)  Achieve few of the six CILOs, with minimal understanding of the associated
concepts and underlying methodologies
 Able to provide solutions to simple problems
 Demonstrate a basic level of knowledge of algorithm design and analysis
 Ability to apply some techniques and knowledge to a limited number of typical
situations
Fail (F)  Achieve none of the six CILOs, with little understanding of the associated concepts
and underlying methodologies
 Unable to provide solutions to simple problems
 Knowledge of algorithm design and analysis falling below the basic minimum level
 Unable to apply techniques and knowledge to situations or problems

Course Content and CILOs Mapping:

Content CILO No. Hours


I Introduction and Mathematical Foundations 1,2 5
II Sorting Algorithms 1,2,5,6 7
III Advanced Data Structures 3,5 8
IV Algorithm Design and Analysis Techniques 1,2,5,6 7
V NP-Completeness 1,4 4
VI Computational Geometry 1,5 4
VII Approximation Algorithms 1,5 4

References:
 Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, Introduction to Algorithms,
3rd Edition, The MIT Press, 2009.

2
 Mark Allen Weiss, Data Structures and Algorithm Analysis in C++, 4th Edition, Addison Wesley, 2013.
 Anany Levitin, Introduction to the Design and Analysis of Algorithms, 3rd Edition, Addison Wesley, 2011.
 R.C.T. Lee, S.S. Tseng, R.C. Chang and Y.T. Tsai, Introduction to the Design and Analysis of Algorithms -
-- A Strategic Approach, McGraw-Hill, 2012.
 Jon Kleinberg and Eva Tardos, Algorithm Design, Pearson, 2006.

Course Content:

Topic

I. Introduction and Mathematical Foundations


A. Algorithms, analyzing and designing
B. Growth of functions
C. Recurrences
D. Probabilistic analysis and randomized algorithms

II. Sorting Algorithms


A. Quicksort
B. Sorting in linear time
C. Medians and order statistics

III. Advanced Data Structures


A. Red-black trees
B. B-trees
C. Van emde boas trees
D. Disjoint sets

IV. Algorithm Design and Analysis Techniques


A. Dynamic programming
B. Greedy algorithms
C. Amortized analysis
D. Divide-and-conquer

V. NP-Completeness
A. Polynomial time
B. Polynomial-time verification
C. NP-completeness and reducibility
D. NP-completeness proofs
E. NP-complete problems

VI. Computational Geometry


A. Line-segment properties
B. Determining segments intersection
C. Finding convex hull
D. Finding closest pair of points

VII. Approximation Algorithms


A. The vertex-cover problem
B. The traveling-salesman problem
C. The set-covering problem

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy