Deree College Syllabus For: Itc 3413 Algorithms and Complexity 3/0/3 Uk Level 5 Uk Credits: 15

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

DEREE COLLEGE SYLLABUS FOR:

ITC 3413 ALGORITHMS AND COMPLEXITY 3/0/3

(Updated Spring 2016) UK LEVEL 5


UK CREDITS: 15

PREREQUISITES: ITC 1070 LE Information Technology Fundamentals –or –


CS 1070 Introduction to Information Systems
ITC 2188 Introduction to Programming
ITC 3106 Mathematics for Computing
MA 1108 College Algebra

CATALOG Study of algorithms and their complexity. Design, analysis and


DESCRIPTION: evaluation of performance. Complexity theory and classes of
complexity. O, Big O and Theta notation. Computational classes.
Union-Find, Divide and Conquer, Greedy, Dynamic programming,
Linear Programming, Search in graphs, NP-completeness.

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.

INDICATIVE MATERIAL: REQUIRED MATERIAL: N/A


(e.g. audiovisual, digital material,
etc.) RECOMMENDED MATERIAL:

Coursera, Algorithms Part-1


https://www.coursera.org/course/algs4partI

Udacity, Introduction to algorithms


https://www.udacity.com/wiki/cs215

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:

WWW RESOURCES: ACM wiki on algorithms and complexity:


http://wiki.acm.org/cs2001/index.php?title=Algorithms_and_compl
exity

Algorithms wiki: http://en.wikibooks.org/wiki/Algorithms

Complexity theory from Wolfram:


http://mathworld.wolfram.com/ComplexityTheory.html

Information and Computation journal:


http://projects.csail.mit.edu/iandc/

Journal of Graph Algorithms and Applications:


http://www.cs.brown.edu/sites/jgaa/

ACM journal on experimental Algorithms:


http://www.jea.acm.org/about.html

ITC3413 - 2 of 3
ACM Transactions on Algorithms http://talg.acm.org/

Journal of the ACM http://jacm.acm.org/

The NP versus P source, http://www.win.tue.nl/~gwoegi/P-versus-


NP.htm
Algorithms and Complexity resources:
http://www.dcs.gla.ac.uk/research/algorithms/links.html

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

You might also like