PROGRAMMING FOR CYBER SECURITY AND NETWORKS 1

SHE Level 1
SCQF Credit Points 20.00
ECTS Credit Points 10.00
Module Code M1I326580
Module Leader Mohammadmehdi Yousefi
School School of Computing, Engineering and Built Environment
Subject Cyber Security and Networks
Trimester
  • A (September start)

Pre-Requisite Knowledge

There are no prerequisites for Programing1. However, having the knowledge of algorithms and experience of programming in any other programming language would be beneficial.

Summary of Content

This module will provide an introduction to the principles and practice of programming language. It will also introduce the process of developing programs using an appropriate high level managed object-oriented programming language such as Python. It will enable students to develop a software solution given a simple set of program requirements. The student will be introduced to the fundamental concepts of object-oriented programming, the basic practical knowledge and skills required to implement programs and a range of program development practices.

Syllabus

Introduction: -360b7 Python and computer programming Python Environment -360b7 Data types b7 Variables b7 input-output operations b7 basic operators Flow Control -360b7 Conditional expressions b7 Relational and Boolean operators b7 loops Sequences -360b7 Lists and list methods b7 Tuples b7 Dictionaries b7 Data processing Functions -360b7 Defining functions b7 Parameters Object-oriented Programming, exception handling and files -360b7 Classes b7 Methods b7 Objects b7 The standard objective features b7 Exception handling b7 Working with files

Learning Outcomes

On successful completion of this module, the student should be able to:1 - Demonstrate an understanding of fundamental concepts of coding using data structures and control flow2 - Demonstrate an understanding of object-oriented features provided by modern object-oriented languages and when to use the functional or object oriented approach. 3 - Demonstrate the ability to develop reusable, and efficient code.

Teaching / Learning Strategy

The course will be presented as a Blended learning approach. It combines online educational materials and opportunities for interaction online with traditional place-based classroom methods. Course materials for self-study will be made available online using GCU Learn. Thus, the course will be suitable for distance and flexible learning and to improve accessibility in accordance with the University's Strategy for Learning 2015-2020. This module emphasises an active "hands-on" approach to learning. Case studies will be used formatively in tutorials throughout the module in order to promote the application of knowledge to specific problems and to facilitate discussion.

Indicative Reading

Books and articles: 'Python Cookbook: Recipes for Mastering Python 3' by David Beazley, Brian Jones b7 O'Reilly Media, Incorporated b7 Paperback b7 687 pages b7 ISBN 1449340377 'Learn Python Programming: A Beginner's Guide to Learning the Fundamentals of Python Language to Write Efficient, High-Quality Code, 2nd Edition' by Fabrizio Romano b7 Packt Publishing b7 Paperback b7 508 pages b7 ISBN 1788996666 Online sources: https://www.learnpython.org/ https://docs.python.org/3/tutorial/index.html https://www.tutorialspoint.com/python/

Transferrable Skills

By the end of this module students will have gained competence in the following key areas: D1 Specialist knowledge and application D2 Critical thinking and problem solving D4 Communication skills, written, oral and listening D5 Numeracy D7 Computer literacy D8 Self confidence, self discipline & self reliance (independent working) D10 Creativity, innovation & independent thinking D15 Ability to prioritise tasks and time management

Module Structure

Activity Total Hours
Independent Learning (FT) 144.00
Seminars (FT) 36.00
Assessment (FT) 20.00

Assessment Methods

Component Duration Weighting Threshold Description
Course Work 01 n/a 100.00 40% Practically based programming assignment.