Programme/Approved Electives for 2023/24
None
Available as a Free Standing Elective
No
CSC-20037 Programming II - Data Structures and Algorithms (or equivalent experience).
This module provides a deeper understanding of object-oriented programming, and to the concept of concurrent programming, using Java as a working language.
Aims
To provide a deeper understanding of object-oriented programming, and to the concept of parallelism and concurrent programming.
Intended Learning Outcomes
apply object-oriented concepts in Java making use of reference-based data structures and Java Collections: 112analyse the fundamental issues that need to be addressed as a result of the application of concurrent patterns: 2apply common design patterns to effectively structure software projects: apply the programming language structures to guarantee appropriate synchronisation of concurrent code and mutually exclusive access to shared data:
20 hours lectures20 hours practicals40 hours assessment preparation70 hours private study
Description of Module Assessment
1: Coursework weighted 50%Programming assignment - structuring sequential codeApply appropriate concepts and techniques to create sequential programming applications. The programming applications require selection, design and use of advanced programming constructs seen during the module. A program summary should describe and explain the principles and concepts used. This should take around 20 hours of preparation.
2: Coursework weighted 50%Programming assignment - structuring concurrent codeApply appropriate concepts and techniques to create concurrent programming applications. The programming applications require appropriate access to shared data structures, synchronisation of concurrent code and liveness checks when appropriate. A program summary should describe and explain the principles and concepts used. This should take around 20 hours of preparation.