Indicative Content
This module will address topics of:
Advanced features of programming
Generic classes and collections
Inner and anonymous classes
Lambda expressions
Enumerated types
Cloning
Auto-closable resources
Custom exceptions
Mutable vs Immutable objects
Functional interfaces
The Stream API
The Reflection API
Unit Testing
The application of advanced features of programming in a server-based environment
Additional Assessment Details
Practical Assessment - An implementation and testing of an artefact, that uses advanced features of a suitable programming language, based on a server-based application. Students will show and describe their solution in a demonstration providing rationale as to its design and development (Learning Outcome 1 to 3).
Learning Strategies
All teaching sessions will blend theory and practical learning. Students will be introduced to curriculum concepts and ideas and will then be able to apply theory to practical examples within the same sessions. In addition, students will be provided with a range of resources for independent study such as case studies, academic papers and industry stories. There will be a mixture of practical and theoretical formative (mock or practice) exercises which will help students build knowledge and confidence in preparation for summative (formal) assessment.
Learning Outcomes
1. Implement an Object-Oriented application using advanced features of a suitable programming language
Analysis, Application
2. Show practical ability in selecting testing methods and applying these
Application
3. Apply the most appropriate advanced programming features to the design and implementation of a server-based application
Application, Problem Solving
Resources
Java SE Developers Kit
Java IDE (e.g. IntelliJ IDEA Ultimate)
Texts
Spring (2022) Spring Boot. [Online] Available at: https://spring.io/projects/spring-boot [Accessed 28/12/2022]
Webb, P. et al (2022) Spring Boot Reference Documentation. [Online] Available at: https://docs.spring.io/spring-boot/docs/current/reference/html/ [Accessed 28/12/2022]
Rocca, L, M. (2021), Algorithms and Data Structures in Action, Manning Publications; 1st edition
Skiena, S. (2020), The Algorithm Design Manual (Texts in Computer Science), Springer; 3rd ed. 2020 edition
Wengrow, J. (2020), A Common-Sense Guide to Data Structures and Algorithms, 2e: Level Up Your Core Programming Skills, The Pragmatic Programmers; 2nd ed. edition
Barry, P. (2016), Head First Python, O'Reilly
Schneider, D.I. (2015), An introduction to programming using Python, Pearson
Web Descriptor
In this module, you will build on the foundation laid in Level 4 of your award by learning some of the advanced features of programming. This will add a degree of sophistication to the coding skills you have already gained. You will also learn how to use these skills in a server-based application development scenario.