Core Module Information
Module title: Scripting for Cybersecurity and Networks

SCQF level: 08:
SCQF credit value: 20.00
ECTS credit value: 10

Module code: CSN08114
Module leader: Mouad Lemoudden
School School of Computing, Engineering and the Built Environment
Subject area group: Cyber Security and Systems Engineering
Prerequisites

Requisites: AND Pre-requisite: Good understanding of fundamental programming concepts AND Pre-requisite: [Module SET07102] Software Development 1

Description of module content:

The aim of the module is to deepen the students' understanding of fundamental programming concepts and introduce more advanced concepts for applications development. Throughout the module, the concepts will be contextualised through case studies relevant to the students' programmes of study, namely cybersecurity, digital forensics and networking. Additionally, the module integrates some fundamental aspects of mathematics, particularly discrete maths, which are important in Computing and Cybersecurity. Python is used throughout as this is a general purpose programming and scripting language which is used extensively in computer security and related fields. The syllabus includes topics such as:• Introduction to Python and Building Applications using a general purpose scripting language• Functions, Modules, packages and libraries• Coding and scripting techniques including Exception handling, Testing and Debugging• Working with external data and applications (e.g. text files, databases, network traces)• Algorithms, including examples such as searching and sorting• Measuring the efficiency of algorithms theoretically (Big-O) and practically (e.g. by timing code)• Mathematical and stochastic concepts including permutations, sampling, randomness and generation of random numbersExample case studies:• Encryption and Decryption using a simple algorithm such as Caesar cipher;• Cracking passwords – brute force and dictionary attacks;• Web reconnaissance – e.g. scraping email addresses and links from websites;• Network traffic analysis – working with network logs to extract traffic patterns, mapping the geolocation of IP addresses.• Comparison of the performance of several algorithms, e.g. for spell-checking.

Learning Outcomes for module:

Upon completion of this module you will be able to

LO1: Design, implement and test substantial Python scripts to solve problems in Computer Security, Networking and Digital Forensics.

LO2: Employ good practice programming and scripting techniques to develop well-written modular code which is reusable, well documented and uses comprehensive error handling techniques.

LO3: Demonstrate the application of discrete mathematics concepts to problem solving in Computing.

Full Details of Teaching and Assessment
2024/5, Trimester 1, In Person,
VIEW FULL DETAILS
Occurrence: 001
Primary mode of delivery: In Person
Location of delivery: MERCHISTON
Partner:
Member of staff responsible for delivering module: Petra Leimich
Module Organiser:


Student Activity (Notional Equivalent Study Hours (NESH))
Mode of activityLearning & Teaching ActivityNESH (Study Hours)NESH Description
Face To Face Lecture 24 LECTURE
Face To Face Practical classes and workshops 24 Practical classes and workshops
Face To Face Demonstration 0.5 DEMO
Online Guided independent study 151.5 Guided independent study
Total Study Hours200
Expected Total Study Hours for Module200


Assessment
Type of Assessment Weighting % LOs covered Week due Length in Hours/Words Description
Class Test 40 1~2~3 Week 8 HOURS= 1 Class Test
Practical Skills Assessment 60 1~2~3 Exam Period HOURS= 30 Practical Skills Assessment
Component 1 subtotal: 100
Component 2 subtotal: 0
Module subtotal: 100

Indicative References and Reading List - URL:
Scripting For Cybersecurity and Networks