Our MSc in Computer Science is designed to give you a thorough appreciation of both the theory and practical skills needed to solve real-world and life-critical difficulties. You will study systems at a variety of levels of abstraction, including digital architectures, high level programming, operating systems, A.I. and cyber security. It is our aim to help you graduate with the necessary skills to work as a professional computer scientist, particularly in environments where in-depth knowledge, critical awareness and competence in computer hardware, software engineering and advanced areas of computer science are required to create complex computer-based systems. Robotics is incorporated into the course at two stages. Firstly, we use robots to teach the key ideas such as digital logic, analogue-to-digital conversion, digital-to-analogue conversion, programming, and power management. These concepts then form the source for the development of more advanced skills such as microcontroller interfacing, control, and circuit design. At the more innovative level, robotics can provide you with multiple opportunities to work on sophisticated systems. At this higher system level, a robot is seen as a system consisting of multiple, interconnected subsystems. In addition to gaining specific engineering skills, system design provides learners with valuable experience in partitioning difficult design problems from both the hardware and software perspectives and facilitates the development of effective teamwork skills, whilst incorporating elements of AI and data science. You’ll have the opportunity to acquire skills in design, development and programming for a comprehensive range of computing activities such as building information data stores, secure web and mobile applications and AI based systems. You’ll work on team-based software problems whilst exploiting an agile development approach. We’ll help you learn how to develop highly dependable and reliable computer science systems, using several industry standard approaches, such as RAD, Lean, FFD, UML and Agile methodologies. In addition, you’ll study the process involved in managing the development of large-scale complex computer science projects.