This module will cover the principles of monitoring network performance and gathering network management data. You’ll learn to extract network parameters using industry standard tools like OpenNMS and PRTG. You’ll also be trained on SNMP protocol and will be able to put this into context of management of corporate networks. We'll practise critically analysing, evaluating and explaining the concepts, architectures and operation of network management systems. You'll reflect on the changing needs and requirements of network management in industrial contexts and propose efficient management solutions to complex network architectures.
With demand for cloud computing skills soaring, this module teaches you how to build and deliver cloud services to client systems. You'll explore essential communication protocols, security considerations, and multi-tier (n-tier) architectures. Next, you'll dive into the core principles and technologies behind cloud computing, including service-oriented architecture, web services, virtualisation, networking, and DevOps practices. As you progress, you'll investigate key service models such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). You'll also develop skills to select the most suitable design and architectural solutions from a range of methods and technologies. By the end of the module, you'll be able to critically evaluate these options against business needs and system requirements.
Explore modern service computing models and the key principles behind planning and deploying commercial software. You'll build a strong foundation of software engineering techniques used in advanced development, including test-driven development and unit testing. Throughout the module, you'll apply your skills by working on a complete, mid-sized project that mirrors real-world professional practice. You'll also deepen your understanding of quality assurance, version control, and software documentation to round out your professional toolkit.
Study the techniques and technologies used in low-level systems and embedded programming. This module investigates various approaches to designing and programming modern-day computer systems at an intricate level. You'll be introduced to fundamental hardware concepts alongside the development languages, tools, and techniques used in lower-level software implementations. Topics include assembly-level programming, arithmetic logic unit (ALU) operations, branch and memory-based instructions, common logic gates (e.g. adder, subtracter, comparator), and computer organisation. You'll also examine code generation – from high-level languages to assembly and machine code – and gain an understanding of the Application Binary Interface (ABI). Upon completion, you'll have a solid foundation in the core principles that underpin software execution and systems design at the hardware interface.
Study the latest developments in machine learning techniques within the fields of artificial intelligence and data mining. You'll gain an appreciation of the role and architecture of machine learning models, informed by current research and academic literature. This module examines how emerging machine learning approaches can be applied across various sectors, such as smart cities, healthcare, business, and manufacturing. By the end of the module, you'll be able to critically evaluate the machine learning model lifecycle and assess relevant methodologies from both theoretical and practical perspectives.
Develop your theoretical and practical understanding of microservices, a state-of-the-art paradigm in service computing. You'll learn to engineer software as units of services and gain familiarity with methods and concepts used ubiquitously in the industry. Demand for skills to manage complexity in software engineering is growing rapidly. This module will give you theoretical comprehension of microservices, dependency management, dependency injection, REST, SOAP, unit, integration and functional testing. You'll also gain practical experience using Spring, Hibernate, Maven/Gradle, Junit, Spock and Mockito. This is a practice-oriented module with a strong software development focus.