The ability to understand the fundamental systems in a microcontroller is a key concept in embedded system development. In this module, you’ll learn the fundamental systems that form an embedded system and how to write the code to control relevant components. On completing this module, you’ll develop an understanding of systems such as digital input and output, analogue input and output, Pulse Width Modulation, interrupts and core coding principles. You’ll develop the theoretical framework and the practical skills necessary to develop simple systems controlled by a microprocessor. This core knowledge will provide you with the necessary skills to go on to develop more complex systems in later modules. You’ll benefit from exposure to a number of real-world examples which will enable you to analyse the requirements of a system and produce a suitable embedded design. Using the provided simulator, you will be able to experiment with various configurations of hardware in a virtual environment and test your code to refine any solution you develop.
The Internet of Things (IoT) is a crucial foundation for the next era of computing, and Arm technology is powering the IoT revolution. This module offers beginners a rapid path to acquiring the knowledge necessary to thrive in a world reshaped by IoT advancements. Upon completing this module, you’ll have a solid understanding of the IoT ecosystem, basic practical skills for developing Arm-based IoT applications, and a foundation in the principles and implementation of artificial intelligence (AI), machine learning (ML), and edge ML. In addition to gaining the fundamentals of the IoT ecosystem and basic practical skills for building Arm-based IoT applications, you’ll also learn about the social implications of this technology. The module also highlights the global impact of IoT applications, particularly in developing economies. From "smart farming" to solar panels and "blood drones," each case study examines IoT in real-world "first mile" and "last mile" applications, helping you grasp the transformative power of this technology in the real world. The module will also provide a foundation in the basic concepts of Artificial Intelligence and Machine Learning, with a focus on their implementation at the edge server. It will cover the various processes involved in developing an AI pipeline, such as data processing, feature selection, and the training of machine learning algorithms on the edge server. This module will equip you with knowledge of various AI algorithms, including Artificial Neural Networks (ANN) and Convolutional Neural Networks (CNN), specifically for applications like computer vision. Additionally, you’ll acquire knowledge about the optimisation processes for edge microcontrollers.
Machine learning is a sub-discipline of artificial intelligence that deals with teaching the computer to act without being programmed. In this module, you’ll learn about the tools and algorithms that can be used to create machine learning models. We’ll also investigate how large data sets should be divided into a training set and a test set. Different types of problems that can be solved with machine learning will be introduced; supervised learning algorithms and examples of where they can be applied will be presented. A range of parametric algorithms such as linear regression, logistic regression, and non-parametric algorithms such as K-Nearest neighbour, decision trees, SVMs, will be discussed. To be able to evaluate a model, a few performance metrics will be explored. The metrics chosen have influence on how the performance of machine learning algorithms is measured and compared. An important concept that we must be aware of when training machine learning algorithms is 'overfitting'. You will learn to apply regularisation techniques to mitigate overfitting and enhance model performance. You’ll investigate and experiment with the various models and algorithms covered in the module using standard libraries such as scikit-learn, statsmodels and Python ML packages, gaining practical skills that are directly applicable in real-world scenarios.
The rise of Generative Artificial Intelligence (AI) is undoubtedly one of the biggest technological breakthroughs in modern times. It is provoking a major rethink in many fundamental aspects of our lives including the balance of work between humans and machines, and the foundational knowledge, skills, and abilities that modern humans ought to learn and develop in the era of Generative AI. This course aims to equip you with the crucial skill of prompt engineering and working with Generative AI for efficient task automation, focusing on the art of communicating effectively and systematically with Large Language models to automate tasks and optimise the outcomes. This course begins with a comprehensive introduction to Generative AI, laying the groundwork for an in-depth exploration of prompt engineering. It starts by building a solid understanding of neural networks, deep learning principles, and fundamental Natural Language Processing (NLP) concepts, essential for effectively engaging with AI models. As the course progresses, it delves into Generative AI models, including Variational Autoencoders (VAEs) and Generative Adversarial Networks (GANs). However, the heart of the curriculum lies in comprehending the ground-breaking capabilities of the Transformer architecture, the foundation of modern Large Language Models. You’ll develop the theoretical framework and the practical skills necessary to craft creative tailored prompts for Large Language Models and develop automation pipelines, enabling you to exploit these powerful tools for problem-solving and automation across various industries. Through practical exercises, you’ll explore topics like the design and development of Large Language Models from scratch, working with state-of-the-art Large Language Models, formulating systematic prompts for optimal interaction with Large Language Models, Working with APIs, task automation, end-to-end data pipelining, as well as content creation. The course also highlights the ethical considerations of using Large Language Models, emphasizing the need for responsible prompt engineering to mitigate biases and maintain fairness in AI applications.
This module supports you in the preparation and submission of a Masters Stage Dissertation or Project worth 60 credits. The topic will be based around a project relevant to your specialism and experience. It will be completed solely by yourself as an individual project and, if part of a larger project, the aspect implemented must be clearly identifiable as your sole work. Group projects are not allowed. The project outline will be formulated and agreed after discussion between yourself and a supervisor at ARU and must meet the objectives of an ARU postgraduate major project. During the implementation, you will be expected to identify/formulate the problem and issues, conduct literature reviews, evaluate information, investigate and adopt suitable development methodologies, determine solutions, develop hardware/software and/or media artefacts as appropriate, process data, critically appraise and present your findings using a variety of media. Regular meetings with the project supervisor and workplace mentor should take place, so that the project is closely monitored.