Deree College Syllabus For: Itc 3413 Algorithms and Complexity 3/0/3 Uk Level 5 Uk Credits: 15
Deree College Syllabus For: Itc 3413 Algorithms and Complexity 3/0/3 Uk Level 5 Uk Credits: 15
Deree College Syllabus For: Itc 3413 Algorithms and Complexity 3/0/3 Uk Level 5 Uk Credits: 15
RATIONALE: The course aims to acquaint students with the notion of algorithms
and complexity, to present generalised techniques for the design
and analysis of algorithms for problems that are useful in practice,
to argue about the correctness of algorithms, and to become
acquainted with the notion of computational classes.
LEARNING OUTCOMES:
As a result of taking this course, the student should be able to:
1. Determine the characteristics of complexity classes and
evaluate algorithms in terms of time and space complexity.
2. Choose among the major algorithmic techniques the most
appropriate to solve a given problem including discussion of
space and time trade-offs.
3. Develop the appropriate algorithms and relevant data structures
for graph processing.
METHOD OF TEACHING AND In congruence with the teaching and learning strategy of the
LEARNING: college, the following tools are used:
• Lectures, class discussions, laboratory practical sessions and
problem solving.
• Office hours: Students are encouraged to make full use of the
office hours of their instructor, where they can ask questions and
go over lecture material.
• Use of the Blackboard Learning platform, where instructors post
lecture notes, assignment instructions, timely announcements,
as well as additional resources.
ASSESSMENT: Summative:
Project: Problem solving, writing programs 40%
Final Examination 60%
Formative:
Coursework : programming problems 0
The formative coursework aims to acquaint students with the
material and prepare them for the summative assessments.
ITC3413 - 1 of 3
The project tests learning outcomes 2
The final examination tests learning outcomes 1,2,3
INDICATIVE READING:
REQUIRED READING:
Levitin, A. (2012). Introduction to the design & analysis of
algorithms. Boston: Pearson.
RECOMMENDED READING:
Cormen, T. H. (2009). Introduction to algorithms. Cambridge, MA:
MIT Press.
Dasgupta, S., & Papadimitriou, C. (2008). Algorithms. Boston:
McGraw-Hill Higher Education.
Edmonds, J. (2008). How to think about algorithms. Cambridge:
Cambridge University Press.
Kleinberg, J., & Tardos, E. (2006). Algorithm design. Boston:
Pearson/Addison-Wesley.
Lewis, H., & Papadimitriou, C. Elements of the theory of
computation (207). Upper Saddle River, N.J.: Prentice-Hall.
COMMUNICATION Daily access to the course’s site on the College’s Blackboard CMS.
REQUIREMENTS: Effective presentation skills using proper written and oral English.
Communicate and coordinate during team activities.
SOFTWARE
Java, C or Python programming languages
REQUIREMENTS:
ITC3413 - 2 of 3
ACM Transactions on Algorithms http://talg.acm.org/
INDICATIVE CONTENT:
1. The role of algorithms in computing
2. Growth of functions & Asymptotic notations
2.1 Analysis of non-recursive and
2.2 Analysis of recursive algorithms
3. NP-completeness
3. Brute Force
3. Divide and Conquer
5. Hash Tables
6. Space and Time trade-offs
6. Graph Algorithms
7. Dynamic Programming
8. Greedy Algorithms
9. Linear Programming
ITC3413 - 3 of 3