- Module code: CY903
- Module name: Practical Algorithms & Data Structures
- Department: Physics
- Credit: 12
Module content and teaching
The module provides students with a coherent introduction to uni- and shared memory multi-processor data structures with a strong focus on practical scientific computing algorithms and parallel computing. The primary focus of this module will be to educate students on the primary building blocks required to solve problems using modern desktop machines composed of uniprocessors or multicore/multiprocessors.
Principal learning outcomes
By the end of the module the student should be able to: Understand and develop a variety of techniques for designing algorithms both on uni- and multi-processor technology; Design a variety of data structures and algorithms and should be able to use them appropriately to solve problems in scientific computing; Understand some fundamental algorithms used in scientific computing and solve computational problems using these algorithms; Develop new or re-use already existing efficient algorithms to solve problems; Comprehend algorithmic complexity and be able to make educated choices when problem solving; Comprehend the importance of parallelism on modern desktop PCs and understand the pitfalls when designing algorithms for such machines.
Timetabled teaching activities
Teaching and learning methods include lectures and reading material as well as weekly practical computer laboratory sessions.
|Assessment group||Assessment name||Percentage|
|12 CATS (Module code: CY903-12)|
|C (Assessed/examined work)||Assessed Course Work||25%|
|Assessed Course Work||25%|
|Examination - Main Summer Exam Period (weeks 4-9)||50%|
This module is available on the following courses:
- Postgraduate Taught Complexity Science (F3P4) - Year 2