IY1S414 - Programming for Cyber Security 01 Sep 2024 - 30 Jul 2030 | Version 0
Associated Module Information
| Module Code: | IY1S414 | ||
|---|---|---|---|
| Module Title: | Programming for Cyber Security | ||
| Faculty: | Faculty of Computing, Engineering and Science | ||
| Faculty Group: | Cyber Security | ||
| Faculty Sub Group: | Cyber Security | ||
| Module Leader: | Christopher Tubb | ||
| Module Team: | Ashley Nute, Barbara Hayman, David Reed, Gaynor Davies, Robert James, Christopher Harrison, Michael Aubrey, Dafydd Griffiths | ||
| First Intended Intake: | SEP 2024 | Final Year of Intake: | 2029 |
| Date Closed: | |||
| Credit Value: | 20 | Credit Level: | 4 |
| Language: | English | ||
| Percentage of Module Taught in Welsh: | 0 | ||
| Equivalent Module: | |||
| HECOS codes: | 100376 - computer and information security | 100956 - programming | |
| HECOS Code Weighting: | 40 | 60 | |
Document Version Information
| Version | 0 |
|---|---|
| Valid From | 01 Sep 2024 |
| Valid To | 30 Jul 2030 |
Module Aims
To introduce the fundamentals of programming to engender an understanding of the factors associated with the development of applications, and the ability to customise and build simple applications.
Content Summary
Paradigms: Procedural, Object Orientated, Functional, Scripting etc.
Programming fundamentals; data types, control statements, functions, lists and sets, modules and files, algorithms, secure coding practice.
Programming security issues.
Examples of published exploits written in the delivery language (from CVE database).
Testing code for security.
Object-Orientated programming concepts.
How to write secure code; Secure Software Development Lifecycle; Safecode, MS SDL, DevOps and testing methodologies, Security by Design principles
Development and version control tools (Github)
Learning and Teaching Methods
| Activity Type | Hours |
|---|---|
| Practical classes and Workshops | 48 |
| Independent Study | 72 |
| Direct Study (including online independent learning) | 36 |
| Formative Assessment (scheduled) | 2 |
| Groupwork | 8 |
| Interdisciplinary Work | 10 |
| Problem/Challenge based learning | 24 |
| Total Hours Selected | 200 |
Learning Outcomes
| # | Learning Outcome |
|---|---|
| LO1 | Apply program design and implementation techniques to satisfy a specific requirement. |
| LO2 | Demonstrate a knowledge of security issues in relation to software development and how to write secure code. |
Module Requisites
N/A
Assessment Criteria
| Assessment Category | Assessment Type | Description | Duration | Word Count | Weight (%) | Best of? | Pass Mark |
|---|---|---|---|---|---|---|---|
| Asynchronous Assessment | Practical Coursework 1 (Asynch) | Exercises undertaken in class or in laboratory aimed at assessing the application of knowledge, analytical, problem-solving, or evaluative skills | 0 | 2000 | 40 | No | 40 |
| Asynchronous Assessment | Practical Written Work 1 | A write up of a piece of practical work that has been undertaken. | 0 | 2000 | 60 | No | 40 |
Assessment Matrix
| Assessment Type | Learning Outcomes | ||
|---|---|---|---|
| LO1 | LO2 | ||
| Practical Coursework 1 (Asynch) | ✔ | ✔ | |
| Practical Written Work 1 | ✔ | ✔ | |