Algorithms Data Structures and Efficiency
Code | School | Level | Credits | Semesters |
COMP2066 | Computer Science | 2 | 10 | Autumn Malaysia |
- Code
- COMP2066
- School
- Computer Science
- Level
- 2
- Credits
- 10
- Semesters
- Autumn Malaysia
Summary
This module covers important aspects of algorithms and data structures, namely their general principles and efficiency. To address the issue of efficiency we cover the use of mathematical descriptions of the computational resources needed to support algorithm design decisions. You'll study topics such as: sorting algorithms, heaps, binary search trees, hashmaps, and graph algorithms. The emphasis is upon understanding data structures and algorithms so as to be able to design and select them appropriately for solving a given problem.
Target Students
Available to Level 2 students in the School of Computer Science. Available to inter-campus mobility students and other exchange students in computer science. This module is not available to students not listed above, without explicit approval from the module convenor(s). This module is part of the Foundations of Computer Science theme in the School of Computer Science. Available to JYA/Erasmus students.
Classes
- One 1-hour tutorial each week for 12 weeks
- One 2-hour lecture each week for 12 weeks
- One 1-hour computing each week for 12 weeks
Assessment
- 25% Coursework 1: Continuous assessment, including programming and writing of reports, possibly with some under exam conditions.The reassessment for this module will be 100% Examination.
- 75% Exam 1 (2-hour): 2-hour examination. Reassessment is 100% exam.
Assessed by end of autumn semester
Educational Aims
The aim of this module is to develop mathematical and formal reasoning skills necessary to reason about software systems, and in particular their efficiency. To gain understanding of the issues involved in designing a program for a specific task, and a good working knowledge of some common algorithms and data structures.Learning Outcomes
Knowledge and Understanding:
The theory and practice of designing algorithms.
To know of and understand the mathematical properties of algorithms, and of the relevant basic mathematical concepts, definitions and notations, with emphasis on their efficiency.
Intellectual Skills:
To be able to apply mathematical techniques to algorithms and data structures.
To be able to understand the specification of data structures and algorithms, and analyse their efficiency.
Professional Skills:
To understand data structures and algorithms and their efficiency, evaluate available tools,applications, algorithms and data structures, and select those that are fit for purpose within a given domain/scenario.
Transferable Skills:
To be able to solve problems using a variety of data structures and algorithms.
To use mathematical techniques when necessary to achieve the above. The ability to use mathematics to solve problems."
Conveners
- Mr Sze-Ker Chew