MSc Computer Science with Cyber Security SCIENCE COMPUTER MSc PREPARINGModule FOR YOUR STUDIES Online Programme Speci ication Guide f Back to Contents 1 Contents: Security Engineering Cyber Security Threats Algorithms and Data Structures Advanced Programming Computer Architecture and Operating Systems Computer and Mobile Networks Software Engineering Arti icial Intelligence and Machine Learning Research Methods Research Proposal Independent Research Project f Back to Contents Security Engineering 15 credits Module Summary This module teaches fundamental concepts, methods, techniques and tools involved in the development of secure application systems, from security requirement analysis and speci ication to design of secure application systems, secure programming and security testing. Module Learning Outcomes Academic and graduate skills On successful completion of the module, students will be able to:• Critically analyse the concept of security and security threats in the context of dependable systems, • Formulate different types of security requirements that may be required in a complex system, • Critically evaluate and apply security design and secure coding principles, technologies and tools • Communicate design decisions for security problems. f Back to Contents Subject Content Indicative Reading Assessment Weekly module content: 1. Identity, authentication and authorisation 2. Security models 3. Origins of vulnerabilities - architectural and operating system concepts 4. Vulnerability reduction and avoidance techniques 5. Programming security mechanisms 6. Incident investigation readiness assessment • Elements of P leeger, P leeger,and Margulies - "Security in Computing",5th ed. PrenticeHall 2015 may be useful. Essay/coursework Written report f f Back to Contents Cyber Security Threats 15 credits Module Summary This module will provide the fundamental aspects of cyber security. Students will develop an understanding of typical threats, and become familiar with a range of technologies that can help to reduce risks. The module will also explore the leading edge research challenges, legal and ethical issues in cyber security. Module Learning Outcomes Academic and graduate skills Successful completion of the module will demonstrate that students are able to: • Identify and analyse major threat types in a variety of systems, • Propose an appropriate high-level security management approach for a security-sensitive system in a de ined regulatory environment, • Critically evaluate and apply a standard risk assessment approach/tools to identify threats to a system, • Critically assess the relative merits of speci ic solution approaches for particular contexts, • Critically discuss leading edge research in cyber security and the challenges faced. • Critically evaluate the legal and ethical issues in cyber security. f f Back to Contents Subject Content Indicative Reading Assessment Weekly module content: 1. Computer security major threat types 2. Hacker techniques 3. Computer security technology 4. Security policy, including data classi ication 5. Network scanning 6. Cyber attacks and cyber detective 7. Forensic evidence • William (Chuck) Easttom, Computer Security Fundamentals, 3rd Edition, Pearson IT Certi ication, 2016. Essay/coursework Written report f f Back to Contents Algorithms and Data Structures 15 credits Module Summary The aim of this module is to provide students with techniques for using some algorithms and their associated data structures. This includes the concept of computational thinking; the theoretical underpinnings of Computer Science; programming including data types, control structures, methods, inheritance, arrays, graphics and the mechanics of running and testing; algorithms, their complexity and implementation in programs; the application of these ideas in a practical context. Module Learning Outcomes Academic and graduate skills Successful completion of the module will demonstrate that students are able to:• Express a problem solution algorithmically using pseudocode • Analyse the time complexity of an algorithm • Construct computer programs to implement algorithms • Test a computer program against the speci ication. f Back to Contents Subject Content Indicative Reading Assessment Weekly module content: 1. Java building blocks: data types, operators and expressions 2. Program controls, methods and classes 3. Inheritance, JavaFX and packages 4. Pseudo-code conventions and algorithm analysis 5. Linear data structures and sorting 6. Hash table and hash functions 7. Trees, tree algorithms and graphs • Quentin Charatan & Aaron Kans, Java in two semesters, 4th edition, Springer, 2019. • Cormen et al. Introduction to Algorithms, 3rd edition, MIT Press, 2009 Essay/coursework Practical programming report (30% weighted) Open examination Limited time open exam (70% weighted) Back to Contents Advanced Programming 15 credits Module Summary This module aims to build on the concepts of programming from the Algorithms and Data Structure module and provide students with advanced programming concepts such as ile manipulation, event driven programming, multithreaded programming and the use of packages and documentation. The module also explores how to program for big data analysis, and discusses the social context of computing: social impact of computers and the Internet; professionalism, codes of ethics, and responsible conduct; copyrights, intellectual property, and software piracy. Module Learning Outcomes Academic and graduate skills Successful completion of the module will demonstrate that students are able to: • Demonstrate critical understanding of the theory and application of advanced programming techniques • Design and implement programs for real world problems • Communicate design decisions for the selection, storage and manipulation of data • Critically evaluate the legal and ethical impact of software developments within real world contexts f Back to Contents Subject Content Indicative Reading Assessment Weekly module content: 1. Data types, data collections, decisions and control structures 2. Event driven programming 3. Multithreaded programming 4. Data storage and processing 5. Statistics, plotting and visualisation 6. Regression and clustering 7. Legal and ethical issues • McKinney, Wes: Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, 2nd edition, O'Reilly Media 2017. Essay/coursework Coursework Back to Contents Computer Architecture and Operating Systems 15 credits Module Summary The module aims to provide students with an understanding of the concepts of modern computer architectures and system software. This module starts with an overview of computer architecture, then progresses to topics on how computer systems execute programs, store information, and communicate. It will provide the principles, design and implementation of system software such as operating systems. Module Learning Outcomes Academic and graduate skills On successful completion of the module, students will be able to:• Recognise the main components of a typical computer, analyse and communicate their individual behaviour, as well as their interactions, • Identify the main components of an operating system (OS), analyse and communicate the structure and behaviour of OS components in isolation, as well as their interactions, • Apply the principles of resource management and concurrency to analyse the main design problems at the Operating System level, and critically evaluate the approaches taken by modern-day operating systems in solving them, • Critically evaluate security risks in operating systems and the role operating systems can and should play in establishing security. Back to Contents Subject Content Indicative Reading Assessment Weekly module content: 1. Computer architecture and processor principles 2. Operating systems and their architectures 3. Processor management: multiprogramming, scheduling, synchronisation and communication 4. Memory management: basic techniques, virtual memory, paging and segmentation 5. Device management: drivers and storage management 6. File management: structure, protection and integrity 7. Performance analysis, system administration, and analysis of popular operating systems • Stallings, W. Computer Organization and Architecture: Design For Performance (8th Edition) Pearson 2010. • Silberschatz A., Galvin P.B., and Gagne G. Operating System Concepts (8th ed.) Wiley 2009. Open Examination Limited time open exam Back to Contents Computer and Mobile Networks 15 credits Module Summary The module aims to provide a sound understanding of the Internet architecture, protocols and technologies. This includes discussion of modern computer networks and the Internet, network architectures, communication protocols and their design principles, the components and layers of the TCP/IP network model used on the Internet from the physical layer to applications, wireless and mobile networks; network security issues and networking standards. These are presented together with their realworld applications. The module will also cover the social, privacy and copyright issues related to computer networks and the Internet. Module Learning Outcomes Academic and graduate skills Successful completion of the module will demonstrate that students are able to: • Critically analyse the core concepts in modern computer networks such as LANs and WANs, network architecture, communication protocols and their design principles, the layered organisation of computer networks, and mobile networks, • Apply network concepts and design principles, design/communicate and implement a networked application, • Critically evaluate and apply tools for computer network performance analysis, • Critically evaluate network security techniques, • Critically evaluate the legal and ethical impact of computer networks and Internet. Back to Contents Subject Content Indicative Reading Assessment Weekly module content: 1. Computer networks and their applications 2. The physical layer and data link layer, LAN and WAN 3. The network layer and IP 4. The transport layer and TCP 5. The application layer, DNS, email and FTP 6. Wireless and mobile networks 7. Network security • James Kurose & Keith Ross, Computer Networking: A Top-Down Approach, 7th Edition, Pearson, 2017. Essay/coursework Report with an executive summary Back to Contents Software Engineering 15 credits Module Summary This module focuses on designing and building software systems, which these days are often large, complex and long-lived. They are worked on by teams of engineers, and changed constantly over their lifetimes. We will look at principles and patterns of software design, where to apply them, and how they may inform our design choices. We will also look at techniques for ensuring that systems you build behave correctly. We show how the application of these makes it possible to evolve systems effectively in a rigorous way. Module Learning Outcomes Academic and graduate skills On successful completion of the module, students will be able to:• Investigate and analyse a problem, write a software requirement speci ication and design blueprint expressed in UML which provides a basis for code generation, • Apply a range of design patterns and principles to solve particular design problems, • Apply a range of refactoring techniques to improve code quality • Critically evaluate and apply a range of tools and techniques for automated software testing, including test-driven development, • Manage risk in making changes to an existing software system through rigorous engineering practices, • Critically evaluate the appropriateness of different software engineering techniques/tools in different circumstances, and on the quality of the design of an application. f Back to Contents Subject Content Weekly module content: 1. Software development process 2. Requirement capture and modelling 3. Requirement analysis and speci ication 4. High-level and lower level design 5. Design patterns and state machines 6. Refactoring and software testing 7. Software risk and quality management Indicative Reading Assessment • Bennett, Simon; McRobb, Steve; Farmer, Ray, Object-Oriented System Analysis and Design, 4th Ed, McGraw Hill, 2010. • Sommerville I., Software Engineering, 9th edition, Addison Wesley, 2015. Essay/coursework Practical software modelling report (30% weighted) Open Examination Limited time software engineering exam (70% weighted) f Back to Contents Arti icial Intelligence and Machine Learning 15 credits Module Summary This module will explore the ield of arti icial intelligence and study the principal ideas and techniques in three core topic areas: solving problems by searching, logic, and machine learning. It will help students to develop practical skills in AI problem-solving and to understand the legal and ethical implications of AI for business and society. Module Learning Outcomes Academic and graduate skills On successful completion of the module, students will be able to:• Critically analyse the principal ideas and techniques of Arti icial Intelligence, • Apply AI search to solve problems that may be represented as states, transitions and goals, • Design logical systems that are able to represent knowledge and make decisions, • Apply machine learning techniques to create AI agents that can learn from observed data, • Critically evaluate the societal impact of AI including legal and ethical issues. f f f f Back to Contents Subject Content Indicative Reading Assessment Weekly module content: 1. Arti icial intelligence and its application areas 2. Basic AI search algorithms 3. More advanced AI algorithms 4. Basics of logical systems 5. More advanced topics in provisional logical systems 6. Overview of the three main types of machine learning: supervised, unsupervised and reinforcement 7. Theory and examples of supervised learning on a range of methods • Stuart Russell and Peter Norvig, Arti icial Intelligence: A Modern Approach (3rd ed. 2009) Open Examination Limited time exam f f Back to Contents Research Methods 15 credits Module Summary This module introduces a range of research methods and types of research projects. You will learn how to formulate a research question and to ind answers using both quantitative and qualitative methods. Module Aims The module aims to introduce the student to a range of possible approaches to research and types of individual research project that they may undertake. Students will have the opportunity to formulate research questions appropriate to an area of interest and to evaluate the relationship between question, methodology and method. f Back to Contents Module Learning Outcomes Indicative Reading Academic and graduate skills On successful completion of the module, students will be able to:• Formulate potential research questions appropriate to an area of interest • Consider the role of theory in research • Outline basic methods of conducting and analysing quantitative and qualitative research • Evaluate different methods of investigating an area of research interest and consider the nature of the relationship between research question, methodology and method • Critically assess the key characteristics of qualitative and quantitative research methods • Consider the nature of different types of independent study; a study in a workplace setting, a non-work-based literature based study and a non-workbased study using primary or secondary data • • • • • Assessment Saunders, M.L. and Lewis, P., 2009. P. and Thornhill, A.(2009). Research methods for business students, 4. Wellington, J. and Szczerbinski, M., 2007. Research methods for the social sciences. A&C Black. Cameron, S. and Price, D., 2009. Business research methods: a practical approach. Kogan Page Publishers. Hart, C. 2005 Doing your masters dissertation. Sage,. Silverman, D., 2011. Interpreting qualitative data: A guide to the principles of qualitative research. Essay/coursework 2500 word assignment Back to Contents Research Proposal 15 credits Module Summary The research proposal (RP) is an extended research proposal for the students’ inal Individual Research Project (IRP). The module is designed to ensure that students have planned their IRP in suf icient depth before they undertake their inal study. The module has been designed to give students the lexibility of developing a proposal which explores a work based problem or one that is more driven by indings in the literature. Module Learning Outcomes Academic and graduate skills On successful completion of the module, students will be able to:• Identify an individual research project within the area of specialism of the degree programme, • Apply knowledge of research philosophy and methods to justify an appropriate approach for a speci ic research question, • Critically analyse signi icant bodies of literature in the chosen topic area to justify an area of research, • Develop a research plan for a researchable problem, • Identify and address ethical issues associated with a speci ic piece of research, and attain ethical approval for the project. f f f f f f f f Back to Contents Indicative Reading • Projects in computing and information systems: a student's guide. Pearson Education. C.W Dawson. 2009 • Research Design, Qualitative, Quantitative and Mixed Methods Approaches. John W Creswell. Fourth edition. SAGE publication, 2014 • Writing for computer science, 2nd edn. Zobel, J. Springer 2004 • Dissertations and Project Reports : A Step by Step Guide. Cottrell, Stella, 2014. Basingstoke : Palgrave Macmillan. Palgrave Study Skills. Web. Assessment Essay/coursework Research proposal report Back to Contents Independent Research Project 30 credits Module Summary The 30 credit Individual Research Project (IRP) builds on the Research Proposal module (which is a pre-requisite module) where students will have de ined and developed a plan for a researchable question within the area of specialism of the degree programme. The IRP is the implementation and the writeup of the results of this plan. It provides an opportunity to develop understanding and skill in the methods and techniques of research in Computer Science, ranging from software or hardware engineering needed for implementation-based investigations to the scienti ic method of hypothesis generation and experiment, or other appropriate and rigorous methods depending on the topic of the project. By undertaking a longer piece of sustained research and writing, students will demonstrate: critical analytical skills; ability to gather and synthesise literature and/or data from a range of sources; writing skills; subject-speci ic knowledge. As a self study module, they will also draw on the skills they have acquired through their whole degree, including self-management, working to deadlines, and subject knowledge. f f f Back to Contents Module Learning Outcomes Indicative Reading Assessment Academic and graduate skills On successful completion of the module, students will be able to:• Critically evaluate and apply new techniques and tools, • Develop artefact, as appropriate, serving the purpose of the experiment, • Apply knowledge of research philosophy and methods to undertake empirical research involving collection of primary data (where appropriate) • Undertake secondary analysis of existing data and information (where appropriate) • Critically analyse signi icant bodies of literature in the chosen topic area particularly in the context of the research indings • Communicate complex computational problems and their solutions in wellpresented written format. • Dawson, CW, 2009, Projects in Computing and Information Systems: a student's guide, 2nd edition, Pearson Prentice Hall • Zobel, J, 2014, Writing for Computer Science, 3rd edition, Springer University - project Research project report f f Back to Contents