The way we build software and systems is rapidly evolving, becoming more and more automated and integrated. Security needs to be considered as a primary concern throughout the development and deployment process. This module encompasses a spectrum of principles, methodologies and processes aimed at facilitating secure and efficient end-to-end software product development and deployment. Building upon previously acquired software design and development skills, students are taught coding practices that safeguard against inadvertent introduction of common security vulnerabilities. Additionally, students gain insights into secure and sustainable application deployment, leveraging cloud-based platforms, all within the context of security standards, legislation and ethics.
The learning and teaching method for this module is centred on a series of predominantly practical guided activities, initiated by short theoretical introductions. Secure development is best learned through practical application, as it involves writing and testing code to ensure it is free from vulnerabilities. A workshop can include project-based activities where students will develop and test software applications, applying secure coding practices and tools to identify and fix security issues. The goal is to develop the students’ critical perspective while gaining up-to-date domain knowledge through practical work. Each session includes preliminary exercises and readings based on online materials conducted by students on their own. After the workshop, students individually consolidate their understanding through additional activities and further readings.
Workshops
Hours: 20
Group Size: All Cohort
Guided independent study
Hours: 130
Secure artefact development and evaluation: Students design, develop and evaluate a secure solution to meet an industrially inspired specification that demands a range of the skills and techniques taught on the module. Students will be assessed on how comprehensively they meet the specification, along with the robustness and quality of their solution.
In computer science classes, formative assessment serves to bolster the skills essential for module success. This includes engaging in practical labs, undertaking design and modelling tasks, delivering case study presentations, completing short quizzes and conducting specific investigation tasks. The provision of formative feedback is integrated seamlessly into class sessions, ensuring an ongoing and iterative process to enhance learning outcomes.
Full details are available in the Module Handbook.
001 Secure artefact development and evaluation; 2000 word equiv; end of semester 1 100%
Module Coordinator - Antesar Shabut
Level - 6
Credit Value - 15
Pre-Requisites - NONE
Semester(s) Offered - 6S1