Module title: Scripting for Cybersecurity and Networks

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

Module code: CSN08614
Module leader: Petra Leimich
School School of Computing
Subject area group: Computer Systems
Prerequisites

Examples of equivalent learning: Good understanding of fundamental programming concepts.

2018/9, Trimester 1, Face-to-Face,
Occurrence: 002
Primary mode of delivery: Face-to-Face
Location of delivery: MYANMAR
Partner:
Member of staff responsible for delivering module: Petra Leimich
Module Organiser:


Learning, Teaching and Assessment (LTA) Approach:
The module will be introduced by an Edinburgh Napier lecturer who will deliver an initial 25 hours of lectures, practical work and
tutorials the additional hours will be delivered by our partner Info Myanmar College (IMC). The module will run over 5
consecutive weeks with the later four weeks being delivered by IMC staff. Lectures are used to introduce underlying principles
and the practical and tutorial work is used to broaden & develop deeper understanding of the subject area. This is mixed with
student-centred work, such as research questions and online exercises, as well as group activities such as discussion groups,
group presentation exercises, and peer review.
Key concepts will be explained in lectures, where the subject matter will be illustrated with examples and interactive
demonstrations (LO1,2,3). Where possible, students should bring to the lectures a laptop, tablet or mobile phone with Python
installed so that they can try out small examples themselves. A key feature is to present the principles behind the applications
(LO1,2,3), discuss the concepts with the students (LO1,2,3) and, for each case study, discuss a starting solution and suitable
approaches (LO2).
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 extendinga 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.
In addition to timetabled classes, students should undertake private study to work through the learning materials and gain
further practice at solving conceptual and technical problems (LO1,3).
To provide an integrated understanding of the subject matter, each topic area will centre on a case study relevant to the
students' subject area. 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 weeks of delivery and aspects of this will be woven into the
delivery throughout the module, particularly in case studies (LO3). 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.
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 fundamental theory of the module. This focusses on
understanding and application of knowledge rather than fact-based recollection. The test will include 20 questions, using short
answer and related styles. As understanding is the key measure, the test is open-book. The test is carried out in a supervised
lab using Moodle. LO1-3.
The practical skills assessment requires the students to submit their scripts as solutions to a case study and requires the
students to apply and integrate many of the concepts learned. The assessment is marked during a one-to-one demo with staff
(15-20 minutes). This ensures that the student has a good understanding of their code; it also allows them to highlight notable
features and provides a setting where detailed specific feedback is discussed. A summary of the feedback is recorded in
moodle using a set of rubrics tailored to emphasise the specific skills assessed. LO1,2,3.

Student Activity (Notional Equivalent Study Hours (NESH))
Mode of activityLearning & Teaching ActivityNESH (Study Hours)
Face To Face Lecture 40
Face To Face Practical classes and workshops 60
Face To Face Demonstration 4
Independent Learning Guided independent study 36
Independent Learning Guided independent study 60
Total Study Hours200
Expected Total Study Hours for Module200


Assessment
Type of Assessment Weighting % LOs covered Week due Length in Hours/Words
Class Test 50 1,2,3 3 HOURS= 2, WORDS= 0
Practical Skills Assessment 50 1,2,3 5 HOURS= 30, WORDS= 0
Component 1 subtotal: 100
Component 2 subtotal: 0
Module subtotal: 100
2018/9, Trimester 2, Face-to-Face,
Occurrence: 001
Primary mode of delivery: Face-to-Face
Location of delivery: MYANMAR
Partner:
Member of staff responsible for delivering module: Petra Leimich
Module Organiser:


Learning, Teaching and Assessment (LTA) Approach:
The module will be introduced by an Edinburgh Napier lecturer who will deliver an initial 25 hours of lectures, practical work and tutorials the additional hours will be delivered by our partner Info Myanmar College (IMC). The module will run over 5 consecutive weeks with the later four weeks being delivered by IMC staff. Lectures are used to introduce underlying principles and the practical and tutorial work is used to broaden & develop deeper understanding of the subject area. This is mixed with student-centred work, such as research questions and online exercises, as well as group activities such as discussion groups, group presentation exercises, and peer review.

Key concepts will be explained in lectures, where the subject matter will be illustrated with examples and interactive demonstrations (LO1,2,3). Where possible, students should bring to the lectures a laptop, tablet or mobile phone with Python installed so that they can try out small examples themselves. A key feature is to present the principles behind the applications (LO1,2,3), discuss the concepts with the students (LO1,2,3) and, for each case study, discuss a starting solution and suitable approaches (LO2).
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 extendinga 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.
In addition to timetabled classes, students should undertake private study to work through the learning materials and gain further practice at solving conceptual and technical problems (LO1,3).
To provide an integrated understanding of the subject matter, each topic area will centre on a case study relevant to the students' subject area. 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 weeks of delivery and aspects of this will be woven into the delivery throughout the module, particularly in case studies (LO3). 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.
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 fundamental theory of the module. This focusses on understanding and application of knowledge rather than fact-based recollection. The test will include 20 questions, using short answer and related styles. As understanding is the key measure, the test is open-book. The test is carried out in a supervised lab using Moodle. LO1-3.

The practical skills assessment requires the students to submit their scripts as solutions to a case study and requires the students to apply and integrate many of the concepts learned. The assessment is marked during a one-to-one demo with staff (15-20 minutes). This ensures that the student has a good understanding of their code; it also allows them to highlight notable features and provides a setting where detailed specific feedback is discussed. A summary of the feedback is recorded in moodle using a set of rubrics tailored to emphasise the specific skills assessed. LO1,2,3.


Student Activity (Notional Equivalent Study Hours (NESH))
Mode of activityLearning & Teaching ActivityNESH (Study Hours)
Face To Face Lecture 40
Face To Face Practical classes and workshops 60
Face To Face Demonstration 4
Independent Learning Guided independent study 36
Independent Learning Guided independent study 60
Total Study Hours200
Expected Total Study Hours for Module200


Assessment
Type of Assessment Weighting % LOs covered Week due Length in Hours/Words
Class Test 50 1,2,3 3 HOURS= 2, WORDS= 0
Practical Skills Assessment 50 1,2,3 5 HOURS= 30, WORDS= 0
Component 1 subtotal: 100
Component 2 subtotal: 0
Module subtotal: 100

Description of module content:

12. 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 and networking. 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)
• Measuring the efficiency of code (e.g. by timing)
• generation of random numbers

Example case studies:
• Encryption and Decryption using a simple algorithm such as Caesar cipher;
• Cracking passwords with the use of rainbow tables;
• Web reconnaissance – e.g. scraping email addresses and links from websites;
• Network traffic analysis – working with network logs to extract traffic patterns, discovering the geolocation of IP addresses.




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: Solve complex, applied problems through abstraction by identifying, utilising and integrating specialist publicly available modules as appropriate

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