Programmes / Bachelors Programmes / Bachelor of Science in Computer Science – Cybersecurity / Module Descriptors – Cybersecurity
The aim of this module is to examine computer systems and learn how they can enhance personal productivity. The module will focus on essential computer skills in today’s world, including computer hardware, important software applications, such as word processing, worksheets, database, and presentation graphics.
The course teaches the basics of programming. Students will learn about fundamental programming concepts such as control conditions, loops, and recursion. Fundamental data structures such as Arrays and Strings will also be studied. The course has extensive lab sessions to ensure students get hands-on experience of taught materials.
This module introduces the foundations of discrete mathematics as they apply to computer science, focusing on providing a solid theoretical foundation for further work. Topics include functions, relations, sets, simple proof techniques, Boolean algebra, propositional logic, digital logic, elementary number theory, and the fundamentals of counting.
The course teaches the basics of object-oriented programming. Students will learn about fundamental programming concepts such as recursion, abstraction, higher-order functions and data types, whilst at the same time emphasizing the practical use of such constructs by applying them. Students will also learn the general principles of object oriented frameworks.
This course introduces the fundamental concepts of data structures and the algorithms that proceed from them. Topics include recursion, the underlying philosophy of object-oriented programming, fundamental data structures (including stacks, queues, linked lists, hash tables, trees ), the basics of algorithmic asymptotic analysis, fundamental sorting and searching algorithms
This module continues the discussion of discrete mathematics introduced in Discrete Structures I. Topics in the second course include predicate logic, recurrence relations, graphs, trees, matrices, computational complexity, elementary computability, and discrete probability.
Principles of Software Engineering; Software Engineering; Software Products,– a broad overview of the notations, techniques, methods and tools that can be used to support the various software/requirements engineering activities; Object-Oriented Analysis and Design with UML and UP – knowledge of the principles of object orientation and extensive practice in the application of these principles using the Unified Process (UP) and Unified Modelling Language (UML); Introduction to UML Principles and the Unified Process (UP); UML Requirements Model – Use Case Modelling; UML Analysis – Analysis Model; UML Design Modelling – Class Diagram Model; Special Software Engineering Topics: Agile Software Engineering; Security and Privacy; DevOps and Code Management: DevSecOps – SecDevOps – DevOpsSec – Explained
This course is an introduction to the principles underlying the design and implementation of databases and database management systems. It will cover the languages that have been developed for relational databases, their implementation and optimisation. It will also introduce some recent developments in databases including object-oriented, object-relational systems, semistructured data. The bare essentials of transaction processing will also be covered.
This module includes general principles and techniques for disciplined low-level software design; BNF and basic theory of grammars and parsing; use of parser generators; basics of language and protocol design; formal languages; state-transition and table-based software design; formal methods for software construction; techniques for handling concurrency and inter-process communication; techniques for designing numerical software; tools for model-driven construction; introduction to middleware; hot-spot analysis and performance tuning.
This course covers mark-up languages and methods for manipulating marked-up content. In particular, the students will learn techniques for developing web pages using XHTML and Cascading Style Sheets (CSS).
This module introduces students to the organisation and architecture of computer systems, beginning with the standard von Neumann model and then moving forward to more recent architectural concepts.
This course will introduce the basic principles in artificial intelligence research. It will cover simple representation schemes, problem solving paradigms, constraint propagation, and search strategies. Areas of application such as knowledge representation, natural language processing, expert systems, vision and robotics will be explored.
The design and implementation of efficient, effective and user-friendly computing systems depends upon understanding both the technology and its users. Only then can designers be confident that computer systems will be properly matched to the skills, knowledge and needs of their users. The study of Human-Computer Interaction (HCI) seeks to combine perspectives and methods of enquiry drawn from disciplines such as Psychology and Sociology with the tools, techniques and technologies of Computer Science to create an approach to design which is both relevant and practical.
The System Design Project is intended to give students practical experience of (a) building a large scale system, and (b) working as members of a team. The project involves applying and combining material from several courses to complete a complex design and implementation task. At the end of the course each group demonstrates its implemented system and gives a formal presentation to an audience of students, supervisors, and visitors from industry.
This course provides an introduction to the design and implementation of general purpose multi-tasking operating systems. It concentrates on the kernel aspects of such systems with the emphasis being on concepts which lead to practical implementations. Throughout the course reference is made to a number of significant actual operating systems (Linux, Windows variants etc.) to illustrate real implementations.
There are many commercial, engineering and professional issues, complementary to the necessary scientific knowledge and technical skills, that impinge on the work of the computing professional. The Professional Issues course aims to provide a general awareness of these issues and to cover some of them in depth. The course will mostly involve directed reading but there will be some lectures from members of staff and visitors.
This module includes history of computing and software engineering; principles of professional software engineering practice and ethics; societal and environmental obligations of the software engineer; role of professional organisations; intellectual property and other laws relevant to software engineering practice.
This is an introductory course on Computer Communications and Networks, focusing on fundamental concepts, principles and techniques. The course will introduce basic networking concepts, including: protocol; network architecture; reference models; layering; service; interface; multiplexing; switching and standards. An overview of digital communication from the perspective of computer networking will also be provided. Topics covered in this course include: Internet (TCP/IP) architecture and protocols; network applications; congestion/flow/error control; routing and internetworking; data link protocols; error detection and correction; channel allocation and multiple access protocols; communication media; and selected topics in wireless and mobile networks.
This module includes an in-depth look at software design; continuation of the study of design patterns, frameworks, and architectures; survey of current middleware architectures; design of distributed systems using middleware; component based design; measurement theory and appropriate use of metrics in design; designing for qualities such as performance, safety, security, reusability, reliability; measuring internal qualities and complexity of software; evaluation and evolution of designs; basics of software evolution, reengineering, and reverse engineering.
The module aims to cover the concepts, relevance and practical implementation of use of open source web frameworks to develop complex, data driven, web applications, and of distributed web solutions, focusing primarily on the development of XML web services via Visual Studio.NET. The module also aims to discuss issues, core technologies and applications whilst further developing students’ problem solving, coding and investigative skills.
Agent technology has emerged as a new area within Artificial Intelligence in the last two decades, exploring systems in which it is assumed that the computational components are autonomous and interact with each other in a common environment. The aim of this course is to provide a comprehensive introduction to agents and multi-agent systems. It covers a broad range of topics including agent architectures, agent interaction and communication, and game-theoretic methods and models of distributed rational decision making.
The aim of this course is to explain basic techniques of Natural Language Processing programming, with special focus on the Python programming language and NLTK and their application in processing natural language.
The aim of this module is to teach the principles and technologies of knowledge management. The module covers the fundamental concepts in the study of knowledge and its creation, representation, dissemination, use and re-use, and management. The focus is on methods, techniques, and tools for computer support of knowledge management, knowledge acquisition, and how to apply a knowledge management system using one of the knowledge-based system tools.
An internship work experience is intended to help students apply their formal classroom education to “real world” work experience and help them begin to gain valuable experience in a related field of work. The work assignment must be related to their area of interest and may be conducted within business or industry, the public or private sector, state, federal or local government, or social service agencies.
This module aims to take students with a background in programming to an advanced level of understanding and experience of modern interactive 3D game engine development. On completing the module, students will have developed a fully interactive and graphically realistic 3D game application at a low level using Visual Studio.
This course is designed to cover advanced database system design and implementation. It quickly goes through relational databases and then moves on to advanced topics in modern database systems, including object-oriented databases, XML databases, distributed databases, and on-line analytical processing. The course also discusses various data description and query languages, database design, and query processing and optimisation, and also looks at distributed object models, and data mining and data warehouses. Students undertake a semester project that includes the design and implementation of a database system. This database project includes the use of object-oriented features and XML.
The aim of this module is to explain basic techniques of AI programming, with special focus on the Prolog programming language and AI applications. Students will explore this through problem-solving paradigms, logic and theorem proving, search and control methods, and learning.
This course covers the following topics: Introduction to decision support systems (DSS); DSS components; Decision making and DSS; DSS software and hardware; developing DSS; DSS models; types of DSS; group DSS; executive information systems; data mining; artificial intelligence and expert systems.
This module aims to give an insight to the process of analysing documents (scanned and electronic) to extract the information contained in them. The topics covered include: principles of labelling and analysis of web-accessible data; document engineering concepts and methodologies; and document representation and use in different contexts.
This module gives students a solid understanding of the basic technologies for managing the security (confidentiality, integrity and availability) of information systems, their roles and relevance, and how they are used.
The aims of this course are to introduce the fundamental problems of producing real world intelligent behaviour in robots, some of the different kinds of information processing techniques and control architectures that have been developed, and how biological systems can be modelled on robots and contribute to their design.
Machine Translation deals with computers translating human languages (for example, from Arabic to English). The field is now sufficiently mature that Google uses it to allow millions of people to translate Web Documents each day. This course deals with all aspects of designing, building and evaluating a range of state-of-the-art translation systems. The systems covered are largely statistical and include word-based, phrase-based, syntax-based and discriminative models. As well as exploring these systems, the course will cover practical aspects such as using very large training sets, evaluation and the open problem of whether linguistics can be useful for translation.
The course will cover common approaches to content selection and organisation, sentence planning, and realisation. The course will cover both symbolic approaches to generation, as well as more recent statistical and trainable techniques. It also aims to provide an understanding of key aspects of human language production; an understanding of evaluation methods used in this field; exposure to techniques and tools used to develop practical systems that can communicate with users; insight into open research problems in applications of natural language generation, e.g. summarisation, paraphrase, dialogue, multimodal discourse.
Blockchain technology and distributed ledgers have been hailed as a turning point in scaling information technology services at a global level. Although the digital currency Bitcoin is the best-known Blockchain application today, the technology is set to play a much broader role in cybersecurity innovation. This course is an introduction to the design and analysis of blockchain systems and distributed ledgers.
In this module students study topics related to creating a business on the web, with particular focus on e-commerce. Students will study the IT issues raised by electronic business and commerce. Techniques and technologies available for designing and implementing e-business and e-commerce applications will be discussed. Students will gain a thorough understanding of internet-based tools and services for designing e-business solutions.
The course deals with retrieval technologies behind search engines such as Google. The course will aim to strike a balance between theoretical and system-related aspects of the field. The course will cover: 1) theoretical aspects, including properties of text, queries, relevance, major retrieval models and evaluation; and 2) system-related aspects, including crawlers, text processing, index construction and retrieval algorithms.
This module provides students with an opportunity to gain an in-depth understanding of the theories and issues on a selected topic. The course should cover new technologies that are not offered in the current module descriptions (e.g. Energy Aware Computing, Bioinformatics, Embedded Software, Adaptive Learning Environments)
The module provides a comprehensive exploration of computer network and data security, focusing on the perspectives of a system administrator and a penetration tester. It covers topics related to computer network security, practical cryptography, and operating systems security. Students will gain knowledge and skills in areas such as malicious software, denial of service attacks, intrusion detection systems, firewalls, access control, and security assessment
This module provides an introduction to the principles, methods, and techniques of cyber offensive capabilities and advanced penetration testing in the context of cybersecurity. Students will explore the full life cycle of cyber offensive penetration testing, including exploit development and ethical hacking. The module covers various tools and methods commonly used to compromise information and control systems. Topics include cyber psychological operations (CyberPSYOPS), automated cyber PsyOps, socialbots, and infiltration techniques.
The module offers students the opportunity to explore cutting-edge theories, technologies, and issues not covered in the regular curriculum. With a focus on practical applications, students will develop a deep understanding of the chosen topic, identify real-world problems associated with it, and analyze various theoretical solutions. Emphasizing teamwork, the course cultivates collaborative skills essential for working effectively in cybersecurity contexts.
This module focuses on secure programming and problem-solving using internet network programming in the context of software engineering. Students will develop a strong understanding of secure network programming concepts and explore the advantages of connection-oriented software engineering. They will learn about connectionless interaction with datagrams, multithreaded server programming, secure remote method invocation, HTTP protocol, URL concepts, and object-oriented programming features relevant to network programming in software engineering.
Students will gain knowledge and skills in real-time cyber-attack prediction and mitigation using Security Event & Incident Management (SEIM) platforms and big data analytics. They will learn techniques for detecting and analysing threats such as malware, ransomware, and Advanced Persistent Threats (APTs). Students will also engage in active threat hunting and explore visualisations for effective security analytics. Indicative topics include: Introduction to SIEM platforms and big data analytics; Machine Learning; Active threat hunting and security visualization; Malware, ransomware and APT detection; and Stream data processing for real-time cyber threat analysis.
This module equips students with the essential skills to create cybersecurity strategic plans that safeguard critical assets of organizations. Students will develop the tools necessary to become cybersecurity leaders who can align cybersecurity strategic plans with the objectives of executive leadership. It covers cybersecurity management principles, policy analysis and drafting, critical thinking and risk analysis, intrusion prevention techniques, and the cultivation of a cybersecurity culture. Students will also explore evolving threats, cyber law, ethics, digital forensics, and case studies of data breaches.
This module is designed to integrate the knowledge and skills acquired throughout the Cybersecurity curriculum, allowing students to work on a real-world project that demonstrates their mastery of Cybersecurity concepts, techniques, and technologies. In this project-based course, students will identify, design, and implement Cybersecurity-driven solutions to complex problems that the industry faces. The course will emphasize critical thinking, collaboration, and effective communication while fostering a deeper understanding of Cybersecurity solutions’ ethical and societal implications. The project is conducted by students under the supervision of a faculty member from the department.
Block 11, 1st and 2nd floor, Dubai International Academic City PO Box 345015, Dubai, UAE
Tel: +971 4 279 1400
Whatsapp:
Email: [email protected]