Software and Programming III
Overview
- Credit value: 15 credits at Level 6
- Convenor: Dr Keith Mannock
- Prerequisite: Software and Programming II
- Assessment: a programming portfolio (50%) and three-hour examination (50%)
Module description
In this module you will have the opportunity to further develop the scope of your problem-solving skills by continuing your study of advanced programming techniques.
You should study a (free) short course in the term prior to taking the prerequisite module. The short course completes the coverage of Java started in Software and Programming I and II and is available as a separate module on Moodle. On enrolling for the Software and Programming III module you will receive access to the short course materials.
Indicative syllabus
- Recursive methods
- Further development of the ideas of inheritance, polymorphism and abstraction
- Generic classes and methods, including wildcards
- Functional interfaces and lambdas
- The Collections framework
- The reflection API
- Modularity, versioning, packaging and managing the build process
- Concurrent programming
- Graphical/Web user interfaces
- REST APIs
- Linked and self-referential data structures: linked lists, stacks, queues and trees
Learning objectives
By the end of this module, you will have the necessary skills for developing software using the object-oriented and functional programming paradigms through appropriate programming languages (e.g. Java, Kotlin and Rust).