MQF Level 5 Year 1 Full Time
This module is designed to provide students with an introduction to problem solving and programming. It covers areas including fundamental programming concepts and syntax, algorithmic thinking, control structures, functions and modular programming. The module is aimed at equipping students with the knowledge and skills necessary for effective problem-solving, algorithmic thinking and software development.
This module aims to provide students with a comprehensive understanding of the fundamental components and operation of computer systems, including hardware, software, and their interaction.
The Fundamentals of Computer Systems module provides students with an introductory understanding of the core components of computer systems. Over the course of this module, students will learn about CPU architecture, assembly language basics, input/output devices, peripheral components, memory and storage systems, operating systems, and device drivers. Real-world applications in computer science are emphasized throughout the course, by referring to and demonstrating resources such as Intel development boards, Nvidia boards, Raspberry Pi, Arduino and other single-board computers.
The aim of this module is to introduce students to fundamental algorithms, data structures, and principles of software design. It provides a solid foundation for students to understand and analyze algorithms, develop efficient software solutions, and apply algorithmic thinking to solve computational problems. This module covers fundamental algorithm concepts, sorting and searching algorithms, simple data structures, and algorithm design techniques.
The aim of this module is to introduce students to fundamental concepts, principles and technologies related to computer networking. The Networking Technologies module introduces students to core networking concepts, hardware devices, and software requirements in the context of computer science. This module covers networking fundamentals, network protocols and models (TCP/IP, OSI, etc.), IP addressing and subnetting (including IPv6), network hardware devices (routers, switches, wireless access points), routing and switching, network, configuring network devices, and an appreciation of cloud solutions in network management.
This module aims to provide students with the mathematical foundations necessary for understanding and analyzing computational problems in computer science and related fields. This module covers discrete mathematics, graphs, set theory, logic, number control and linear algebra.
This module also provides an introduction to mathematics for data collection, data science and data analysis including data cleansing, statistical analysis and probability, all in the context of computer science and information technology applications.
The Group Project in Computer Science module is designed to provide students with hands-on experience in planning, collaborating, and executing a project working in small groups. This module covers project planning, team formation, idea generation, requirements analysis, design, implementation, testing, documentation, and concludes with a final project presentation and evaluation. Students may choose a project from one of the areas studied from the modules; an area selected may be from, for example, networking, programming, algorithms and software design.
Working in small groups students are expected to develop a range of competencies, skills, and knowledge that are essential for successful teamwork, project management, troubleshooting and outcome evaluation.
MQF Level 5 Year 2 Full Time
The Programming 2: Advanced Programming module builds upon the foundation laid in the Programming 1: Basic Programming module and delves deeper into advanced programming concepts and languages. Students will explore topics such as: advanced object-oriented programming (OOP), inheritance, polymorphism, encapsulation, advanced data structures, memory management and advanced algorithms. The focus is on developing expertise in these concepts and their real-world applications in the field of computer science.
The Security Systems, Solutions and Practice module is designed to provide students with an understanding of cybersecurity principles, technologies, and best practices. It covers the fundamentals of network security, encryption, and methods of secure communication. The module covers various aspects of cybersecurity systems, solutions, and practices, enabling students to analyze cybersecurity threats, design secure systems, and implement effective cybersecurity measures.
The Cloud Technologies and Cloud Storage module provides students with an understanding of cloud computing concepts, models, and practical hands-on experience with a selected cloud platform. Students will learn about cloud architecture, service models (IaaS, PaaS, SaaS), deployment models (public, private, hybrid), various cloud providers, security and compliance considerations, and cost management in cloud environments. Students will also gain practical experience with cloud platforms, including setting up virtual machines and storage in both cloud and local environments, deploying cloud-based applications, implementing serverless computing, and managing cloud-based databases. This module equips students with the knowledge and skills needed to leverage cloud technologies and storage solutions in computer science applications using resources from vendors such as e.g., AWS, Azure, Google etc.
The Operating Systems: Principles and Practices module is designed to provide students with an understanding of operating system principles and their practical applications. Students will explore the core concepts of operating systems, including process management, memory management, and file systems, while also delving into advanced topics such as process scheduling algorithms, deadlock prevention, and file system security. Real-world examples and scenarios will be incorporated to reinforce theoretical knowledge of operating systems such as Android, Linux, Windows, etc. for real time systems, phones, PC and laptops.
The Data Science and Introduction to Artificial Intelligence (AI) module provides students with essential knowledge and skills in data science techniques and principles of artificial intelligence. The module covers a range of topics including data collection, data manipulation, data analysis, data visualization, basics of machine learning, and basic concepts in artificial intelligence. Through a combination of lectures, practical exercises, and assignments, students will gain hands-on experience in working with real-world datasets, applying data analysis techniques, and implementing basic AI algorithms.
This module explores software development methodologies, design ideas, and best practices in the context of computer science. Students will gain knowledge of development methodologies such as Agile, Waterfall, etc. along with essential design principles and coding standards. Students will also learn how to apply these principles and methodologies to real-world projects, perform code reviews, and implement software testing strategies. Also, students will learn about the concepts of Continuous Integration and Continuous Delivery (CI/CD) pipelines and explore the application of these principles in the broader field of computer science.
MQF Level 6
The User Experience Design Principles module provides students with a comprehensive understanding of user experience (UX) design principles and methodologies. Over the module, students will learn about the intricacies of the User-Centered Design (UCD) process, usability testing, and User Interface (UI) design, all within the context of computer science applications. Students will gain an understanding of how to create engaging and intuitive user experiences across digital products and services. The module covers topics such as usability principles, information architecture, interaction design, visual design, and user research methods, equipping students with the knowledge and skills necessary to design user-friendly interfaces that meet user needs and preferences.
The Machine Learning and Artificial Intelligence module provides students with advanced knowledge and skills in machine learning algorithms and artificial intelligence techniques. Building upon foundational concepts introduced in earlier modules, this module explores a range of advanced machine learning models, deep learning architectures, and AI algorithms. The module progresses through foundational concepts, advanced algorithm implementation, deep learning and neural networks, recurrent neural networks, advanced deep learning architectures, and concludes with project work and application examples.
The DevOps and Cloud Computing module provides students with advanced knowledge and skills in DevOps practices, cloud computing technologies, cloud management. The module covers a range of topics including continuous integration and continuous deployment (CI/CD), infrastructure as code (IaC), containerisation, microservices architecture, and cloud infrastructure management. Through lectures, practicals and hands-on experiences students will gain practical insights in designing.
The Emerging Technologies module explores cutting-edge advancements and trends in the field of computer science and information technology. The module covers a wide range of emerging technologies, including but not limited to artificial intelligence, blockchain, Internet of Things (IoT), quantum computing, augmented reality (AR), virtual reality (VR), and cybersecurity.
The Computer Science and Information Technology Final Year Project module provides students with the opportunity to undertake an independent project that demonstrates their ability to apply knowledge and skills acquired throughout their undergraduate studies on this programme. The module enables students to work on a substantial project related to computer science/information technology under the supervision of academic staff. Students will have the flexibility to choose a project topic of their interest, conduct research, design and implement solutions, and present their findings to a wider audience.
This module guides students through the practical realisation of their project proposal. It also prepares them for the final presentation and provides insights into potential professional and career development opportunities.
Credits needed to earn the degree:
ECTS Credits | UK Credits |
60 ECTS/year | 120 Credits/year |