This page displays the selected Module Descriptor.
Printer friendly version
Session: 2022/23
Last modified: 21/07/2022 15:43:15
Title of Module: Algorithms & Collections |
---|
Code: COMP09044 |
SCQF Level: 9 (Scottish Credit and Qualifications Framework) |
Credit Points: 20 |
ECTS: 10 (European Credit Transfer Scheme) |
---|
School: | School of Computing, Engineering and Physical Sciences |
---|
Module Co-ordinator: | Joanna
Olszewska |
---|
Summary of Module |
---|
The module builds on the foundation laid in the level 8 module, Structures and Algorithms, to further develop object-oriented programming and design concepts of algorithms and collections and their implementation using trees, heaps, hash-tables, and graphs. There is a major focus on the analysis of the algorithms and on the trade-offs involved in choosing how a collection should be represented. The treatment of recursion is also further developed, including backtracking as a strategy for goal-seeking.
This module is delivered long and thin over two trimesters, and provides students with knowledge in analysing and applying algorithms and collections in context of real-world applications, in analytically evaluating design and performance trade-offs, and in critically thinking about more general design considerations relevant to algorithms and collections when implemented in modern object-oriented languages such as Java or C++. Hence, undertaking this module will develop a range of graduate attributes such as analytical thinking and problem-solving. Furthermore, students will get practice in socially responsible, creative design and ethically-minded, autonomous development of a software embedding appropriate algorithms and collections. Students will also develop a range of scientific communication skills through a wide range of assessments such as essays, videos, etc.
|
Module Delivery Method |
---|
Face-To-Face | Blended | Fully Online | HybridC | HybridO | Work-based Learning |
|  |  | | | |
Face-To-Face
Term used to describe the traditional classroom environment where the students and the lecturer meet synchronously in the same room for the whole provision.
Blended
A mode of delivery of a module or a programme that involves online and face-to-face delivery of learning, teaching and assessment activities, student support and feedback. A programme may be considered “blended” if it includes a combination of face-to-face, online and blended modules. If an online programme has any compulsory face-to-face and campus elements it must be described as blended with clearly articulated delivery information to manage student expectations
Fully Online
Instruction that is solely delivered by web-based or internet-based technologies. This term is used to describe the previously used terms distance learning and e learning.
HybridC
Online with mandatory face-to-face learning on Campus
HybridO
Online with optional face-to-face learning on Campus
Work-based Learning
Learning activities where the main location for the learning experience is in the workplace.
|
Term(s) for Module Delivery |
---|
(Provided viable student numbers permit).
|
Term 1 |  | Term 2 |  | Term 3 | |
[Top of Page]
Learning Outcomes: (maximum of 5 statements) |
---|
On successful completion of this module the student will be able to:
L1.
Evaluate requirements relating to collections of data in a given scenario and select an appropriate concrete implementation for the collection, taking in to account space and time performance trade-offs.
L2.
Design and develop implementations of collection classes, applying the principles of object-oriented programming and conforming to the relevant conventions, standards and accepted best practice in the programming language used.
L3.
Identify and implement algorithms, using recursion where appropriate, for a variety of technically demanding tasks including explorations of graphs and search spaces to find and/or arrive at a destination or goal state.
L4.
Recognise the implications for type safety and the guaranteeing of object invariants that arise when trying to meet requirements for persistence, and in designing classes for serialization and de-serialization take full account of these. |
Employability Skills and Personal Development Planning (PDP) Skills |
---|
SCQF Headings |
During completion of this module, there will be an opportunity to achieve
core skills in:
|
---|
Knowledge and Understanding (K and U) |
SCQF Level 9.
Demonstrate a broad and integrated knowledge and understanding of the technologies available for the design and implementation of data collections.
Demonstrate a detailed understanding of existing collections frameworks and the performance of a variety of implementations of the collections in the frameworks. |
Practice: Applied Knowledge and Understanding |
SCQF Level 9.
Design and develop implementations of collection classes, making use of advanced programming language features, and where appropriate to obtain good performance using data structures that are algorithmically complex to manipulate.
Use algorithmic analysis and development practices at an advanced level in designing solutions involving collections of data.
|
Generic Cognitive skills |
SCQF Level 9.
Critically evaluate the requirements for a collection, taking account of a range of considerations including reusability, performance, security and other aspects of the problem scenario.
|
Communication, ICT and Numeracy Skills |
SCQF Level 9.
Communicating effectively and appropriately in speech and writing.
Interpreting complex primary materials.
Making effective use of information retrieval systems and use information technology applications to present documents in an appropriate form. |
Autonomy, Accountability and Working with others |
SCQF Level 9.
Exercise autonomy and initiative at a professional level in the design and development of applications involving collections |
Pre-requisites: |
Before undertaking this module the student should have
undertaken the following:
|
---|
Module Code: COMP08034
| Module Title: Structures & Algorithms
|
Other: | |
Co-requisites | Module Code:
| Module Title:
|
---|
* Indicates that module descriptor is not published.
[Top of Page]
Learning and Teaching |
---|
Theory is presented in lectures and applied in tutorial exercises and laboratories. Online laboratory classes and animations are used to illustrate the behaviour of a variety of algorithms and structures. Additional reading materials and other resources, including some research publications, are provided on each topic. Opportunities are taken to link the materials to problems arising in the students area of study in tutorial and laboratory sessions. |
Learning Activities During completion of this module, the learning activities undertaken to
achieve the module learning outcomes are stated below:
| Student Learning Hours (Normally totalling 200 hours): (Note: Learning hours include both contact hours and hours spent on other learning activities) |
Lecture/Core Content Delivery | 20 |
Laboratory/Practical Demonstration/Workshop | 20 |
Independent Study | 160 |
| 200
Hours Total
|
**Indicative Resources: (eg. Core text, journals, internet
access)
|
---|
The following materials form essential underpinning for the module content
and ultimately for the learning outcomes:
Lecture and Laboratory materials (published on Moodle)
C++ and Java development environments (Microsoft Visual Studio and Eclipse, for example).
The following texts represent useful supplementary reading material:
Albahari, J. and Albahari, B. (2015). C# 6.0 in a Nutshell. O'Reilly Media. ISBN-10: 1491927062
Collins, W.J. (2011). Data Structures and the Java Collections Framework. 3rd edition. John Wiley & Sons. ISBN-10: 9780470482674.
Heinemann, G. T., Pollice, G., and Selkow, S. (2015). Algorithms in a Nutshell. O'Reilly Media. ISBN-10: 1491948922
Josuttis, N. M. (2012). The C++ Standard Library: A Tutorial and Reference (2nd Edition). Addison Wesley. ISBN-10: 0321623215
|
(**N.B. Although reading lists should include current publications,
students are advised (particularly for material marked with an asterisk*) to
wait until the start of session for confirmation of the most up-to-date
material)
|
Engagement Requirements |
---|
In line with the Academic Engagement Procedure, Students are defined as academically engaged if they are regularly engaged with timetabled teaching sessions, course-related learning resources including those in the Library and on the relevant learning platform, and complete assessments and submit these on time. Please refer to the Academic Engagement Procedure at the following link: Academic engagement procedure |
[Top of Page]
Supplemental Information
Programme Board | Computing |
---|
Assessment Results (Pass/Fail) |
No
|
---|
Subject Panel | Business & Applied Computing |
---|
Moderator | James Riordan |
---|
External Examiner | D Doolan |
---|
Accreditation Details | This module forms part of a number of programmes accredited by the BCS and by Skillset. |
---|
Version Number | 2.12 |
---|
[Top of Page]
Assessment: (also refer to Assessment Outcomes Grids below) |
---|
Two class tests, worth 40% of the final mark (20% for each test) allow the student to demonstrate knowledge and understanding of the data structures used in implementing collections and the ability to evaluate the impact of design and representation choices on the performance of a collection’s operations. Preparation for these tests will include two formative (practice) tests, whose solutions are then discussed with the class. |
A development project with supporting documentation and an evaluative report of the work are worth the remaining 60% of the final mark. The project provides an opportunity for students to demonstrate an ability to apply the principles learned in the module in the development and testing of a collection and to experimentally assess the performance obtained. The project will be issued in two parts, with detailed written feedback on the first part given to the students before they undertake the second part. In addition, prior to the first part of the project being issued, formative lab exercises exploring basic implementation considerations in implementing a simple collection are included which students submit and receive feedback on. |
(N.B. (i) Assessment Outcomes Grids for the module
(one for each component) can be found below which clearly demonstrate how the learning outcomes of the module
will be assessed.
(ii) An indicative schedule listing approximate times
within the academic calendar when assessment is likely to feature will be
provided within the Student Handbook.)
|
Assessment Outcome Grids (Footnote A.)
Footnotes
A. Referred to within Assessment Section above
B. Identified in the Learning Outcome Section above
[Top of Page]
Note(s):
- More than one assessment method can be used to assess individual learning outcomes.
-
Schools are responsible for determining student contact hours. Please refer to University Policy on contact hours (extract contained within section 10 of the Module Descriptor guidance note).
This will normally be variable across Schools, dependent on Programmes &/or Professional requirements.
|
Equality and Diversity |
---|
This module is appropriate for any student. UWS Equality and Diversity Policy |
(N.B. Every effort
will be made by the University to accommodate any equality and diversity issues
brought to the attention of the School)
|