Core Module Information
Module title: Scripting for Cybersecurity and Networks

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

Module code: CSN08714
Module leader: Petra Leimich
School School of Computing, Engineering and the Built Environment
Subject area group: Cyber Security and Systems Engineering

Examples of Equivalent Learning Good understanding of general programming concepts

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 and randomness, and generation of random numbers and assessment of their suitability in cryptography

Example 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. 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 Cybersecurity, 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 mathematical concepts to problem solving in Computing.

Full Details of Teaching and Assessment
2022/3, Trimester 1, FACE-TO-FACE,
Occurrence: 001
Primary mode of delivery: FACE-TO-FACE
Location of delivery: UK PARTNER
Member of staff responsible for delivering module: Petra Leimich
Module Organiser:

Learning, Teaching and Assessment (LTA) Approach:
The delivery is full time, face to face, within a UK Higher Apprenticeship scheme. For a module this equates to 7 hours per day, 5 days a week, for 4 weeks (although the days or weeks need not be sequential). Each week has 3 days of lectorials/practicals, while the last 2 days in a week are workshop based. Thus the module runs for 20 full-time days in total, plus assessments.

Key concepts will be explained in lectorials; here the subject matter will be illustrated with examples and interactive demonstrations, where students try out small examples themselves (LO1,2,3). A key feature is to present the principles behind the applications (LO1,3), discuss the concepts with the students (LO1,2,3) and, for each case study, discuss a starting solution and suitable approaches (LO1,2).

Practical labs focus on problem solving and case studies to provide practice in the application of theory (LO1,2,3). Students develop their own applications, initially often by extending a starting solution provided. As the module progresses, this will gradually require more independent work and research of advanced concepts. Throughout the labs, students will be encouraged to interact with staff and peers to explore concepts in depth and receive feedback on their progress and understanding.

To provide an integrated understanding of the subject matter, each topic area will centre on a case study relevant to the students' subject area. Later topics will reuse and integrate functions and modules developed earlier and emphasise exception handling (LO2).

Mathematical and statistical concepts will be the focus of several days of delivery and aspects of this will be woven into the delivery throughout the module, particularly in case studies.
Moodle will be used to distribute course materials including starting solutions and to point the students to selected third party resources.

Formative Assessment:
Interactive elements of lectures encourage students to test their understanding continuously. There will be additional formative challenges such as quizzes. Continuous feedback is given by staff through discussions in the labs, and lab exercises include formative quizzes with instant feedback.
To support the first summative assessment, a practice test will be available with immediate, automated feedback.
The second assessment will be based partly on earlier lab exercises, for which feedback is available during the practicals.

Summative Assessment:
The first assessment is a class test designed to cover most of the theory of the module. This focusses on understanding and application of knowledge. As understanding is the key measure, the test is open-book. The test is carried out using Moodle. LO1-3.

The second assessment is a practical skills assignment designed to assess the students' ability to use scripting to solve problems, occasionally with reference to the mathematical concepts covered in the module. This takes the form of a substantial case study, in which students apply and integrate many of the concepts learned. The submission takes the form of a report which includes both evaluation and code listings. This ensures that the student has a good understanding of their code; it also allows them to highlight notable features and discuss design decisions and possible alternatives. The report is submitted to Turnitin via Moodle. Marking and feedback are given using a detailed marking guide. LO1-3.

Student Activity (Notional Equivalent Study Hours (NESH))
Mode of activityLearning & Teaching ActivityNESH (Study Hours)
Face To Face Tutorial 140
Independent Learning Guided independent study 60
Total Study Hours200
Expected Total Study Hours for Module200

Type of Assessment Weighting % LOs covered Week due Length in Hours/Words
Class Test 40 1,2,3 2 HOURS= 01.00, WORDS= 0
Practical Skills Assessment 60 1,2,3 4 HOURS= 00.00, WORDS= 4000
Component 1 subtotal: 100
Component 2 subtotal: 0
Module subtotal: 100

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