CS4D768 - Object Oriented Programming with Data Structures and Algorithms 01 Sep 2022 - 31 Aug 2028 | Version 2
Associated Module Information
| Module Code: | CS4D768 | ||
|---|---|---|---|
| Module Title: | Object Oriented Programming with Data Structures and Algorithms | ||
| Faculty: | Faculty of Computing, Engineering and Science | ||
| Faculty Group: | Computing and Mathematical Sciences | ||
| Faculty Sub Group: | Computer Science | ||
| Module Leader: | Janusz Kulon | ||
| Module Team: | Shiny Verghese, Christopher Tubb, Elliot Naylor | ||
| First Intended Intake: | JUL 2018 | Final Year of Intake: | |
| Date Closed: | |||
| Credit Value: | 40 | Credit Level: | 7 |
| Language: | English | ||
| Percentage of Module Taught in Welsh: | 0 | ||
| Equivalent Module: | |||
| HECOS codes: | 100956 - programming | ||
| HECOS Code Weighting: | 100 | ||
Document Version Information
| Version | 2 |
|---|---|
| Valid From | 01 Sep 2022 |
| Valid To | 31 Aug 2028 |
Module Aims
To obtain advanced knowledge and practical skills in the analysis, synthesis, design and implementation of advanced algorithms and data structures.
Content Summary
Data Structures:
Implementation and performance analysis of advanced data structures such as: Queues, B-trees, Oct-tree, Quad-trees, AVL, binary space partitioning grids or multi-resolution maps
Choosing and working with advanced data structures and recognizing which data structure is the best to use to solve a particular problem
Problem Solving and Algorithms:
Developing object-oriented solutions to complex problems involving multiple classes and design patterns
Application of secure coding principles and practices to non-trivial programming problems
Analysis of efficiency and computational complexity of various algorithms such as: searching, sorting, recursive dimensional clustering, Gilbert–Johnson–Keerthi algorithm
Modelling simple physics e.g. using Euler and Runge–Kutta integration techniques and principle of force accumulation
Analysis and development of solutions to complex problems such as: real time vehicle motion, spatial partitioning and collision detection
Learning and Teaching Methods
| Activity Type | Hours |
|---|---|
| Lecture | 48 |
| Practical classes and workshops | 48 |
| Independent Study | 160 |
| Directed Study | 144 |
| Total Hours Selected | 400 |
Learning Outcomes
| # | Learning Outcome |
|---|---|
| LO1 | Demonstrate a critical understanding of the concepts associated with applying and implementing a variety of data structures and algorithms |
| LO2 | Create data structures and appraise their role of in producing software solutions to non-trivial programming problems |
Module Requisites
N/A
Assessment Criteria
| Assessment Category | Assessment Type | Description | Duration | Word Count | Weight (%) | Best of? | Pass Mark |
|---|---|---|---|---|---|---|---|
| Asynchronous Assessment | Practical Written Work 2 | Apply knowledge to the solution of a problem and report on findings | 0 | 3000 | 50 | No | 40 |
| Asynchronous Assessment | Practical Written Work 1 | Apply knowledge to the solution of a problem and report on findings | 0 | 3000 | 50 | No | 40 |
Assessment Matrix
| Assessment Type | Learning Outcomes | ||
|---|---|---|---|
| LO1 | LO2 | ||
| Practical Written Work 2 | ✔ | ✔ | |
| Practical Written Work 1 | ✔ | ✔ | |