CYB103 – Foundations of Programming for Cybersecurity
In this unit students are introduced to the principles of computer programming based on the Python programming language. Python is an essential language for cybersecurity practitioners because of its applicability to network scanning, secure software design, IoT programming, malware analysis and penetration testing. Moreover, the ability to learn programming languages is itself an important skill for practitioners in a field that evolves as rapidly as cybersecurity.
Topics covered include principles of software development, data types and expressions. Programming concepts include control statements, strings and text processing, lists and dictionaries. The second module of the unit comprises advanced programming concepts such as design of functions, graphics and image processing, classes, user interfaces, and a case study on software design for cybersecurity systems, including the design of a basic intrusion detection system. Students will be able to design, implement, test and evaluate computer programs for cybersecurity applications.
Learning Outcomes:
- Perform coding tasks in relevant programming languages, using their environments of deployment and operation
- Explain the concepts associated with object orientation as an approach to data abstraction
- Describe and discuss the elements of good programming style for cybersecurity applications
- Apply sound program analysis, design, coding, debugging, testing and documentation techniques to simple programming problems