IY1S408 - Programming 01 Jul 2022 - 31 Aug 2028 | Version 1

Associated Module Information

Module Code: IY1S408
Module Title: Programming
Faculty: Faculty of Computing, Engineering and Science
Faculty Group: Computing and Mathematics
Faculty Sub Group: Cyber Security
Module Leader: Richard Ward
Module Team: Beth Jenkins, Sharan Johnstone, Andrew Bellamy, Madhu Khurana, Emma Derbi, Joshua Richards, Peter Eden, Arun Kumar, Rachael Medhurst, Nisha Rawindaran
First Intended Intake: Final Year of Intake:
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 100385 - computer forensics 100956 - programming
HECOS Code Weighting: 40 30 30

Document Version Information

Version 1
Valid From 01 Jul 2022
Valid To 31 Aug 2028

Module Aims

To introduce the fundamentals of procedural programming and understand the factors associated with the development of applications, and to be able to customise and build simple applications.

Content Summary

  • Secure Programming Concepts 

    • The role and usage of software development. 

    • Environments in the production of software solutions. 

    • The software development process. 

    • Good programming practices. 

    Secure Design 

    • Design methodologies. 

    • Algorithms, flow charts and pseudo-code. 

    • UML OOP design. 

    Testing 

    • Debugging. 

    • Functional testing. 

    • Input validation fundamentals. 

    • Exception handling. 

    • Defence in depth strategies. 

    Programming Concepts 

    • Variables and data types. 

    • Sequence and selection. 

    • Iteration and loops. 

    • Functions. 

    • File handling. 

    OOP Programming 

    • Principles of OOP. 

    • Classes and objects. 

    • Constructors and destructors. 

    • Operators. 

Learning and Teaching Methods

Activity Type Hours
Lecture 12
Tutorial 12
Practical classes and workshops 24
Independent Study 72
Directed Study 48
Formative Assessment - Scheduled 2
Groupwork 6
Interdisciplinary work 10
Problem / challenge based learning 14
Total Hours Selected 200

Learning Outcomes

# Learning Outcome
LO1 Apply program design and implementation techniques to satisfy a specific requirement.
LO2 Demonstrate introductory level of python coding knowledge, security issues and how to write secure python code.

Module Requisites

N/A

Assessment Criteria

Assessment Category Assessment Type Description Duration Word Count Weight (%) Best of? Pass Mark
Asynchronous Assessment Portfolio 1 Tasks based on real-world challenges including a design of a real world challenge, a program code to meet requirements of the design, and a code demo element linked to an industry partner 0 N/A 100 No 40

Assessment Matrix

Assessment Type Learning Outcomes
LO1 LO2
Portfolio 1

Reading List

https://rl.talis.com/3/southwales/lists/40C5A9D9-7A2C-E3DF-5FF4-034D8338EF1B.html?lang=en&login=1

Essential Reading:

Parker, JR (2016), Python : An Introduction to Programming, Mercury Learning & Information, Bloomfield. Available from: ProQuest Ebook Central.

Seitz, J (2014), Black Hat Python : Python Programming for Hackers and Pentesters, No Starch Press, Incorporated, San Francisco. Available from: ProQuest Ebook Central.

Recommended Reading:

Bradbury, A, Everard, B, & Winder, R (2014), Learning Python with Raspberry Pi, John Wiley & Sons, Incorporated, New York. Available from: ProQuest Ebook Central.

Fankar Armash Aslam et al. (2015) Efficient Way Of Web Development Using Python And Flask. International journal of advanced research in computer science.

Romano, F. (2018), Learn Python Programming : The No-Nonsense, Beginner's Guide to Programming, Data Science, and Web Development with Python 3. 7, 2nd Edition, Packt Publishing, Limited, Birmingham. Available from: ProQuest Ebook Central.