You will be encouraged to investigate the current areas of research that the university is currently exploring. These include computer graphics, mobile development, robotics, quantum computing, computational biology and visual analytics, amongst many others. You will also have the opportunity to study object-oriented software design and development, agile techniques, human-computer interaction as well as designing and developing interactive visual computer systems.
As well as an in-depth understanding of your subject, you will also be quipped with the knowledge of analysing, developing and executing complex software, producing software to a given specification, and you’ll be able to use modelling and abstraction techniques to design software systems. This course will provide you with many transferable skills and will improve your research, data collection and interpretation, communication, problem-solving, presentation, and critical skills. The strong focus on principles and concepts will help you develop the capacity for life long independent study.
This module serves two main purposes. Firstly, it gives students an opportunity to complete two short studies as separate teaching blocks of advanced topics in computer science. Students will be able to select topics from a pool of designated options. All designated topics have a close alignment with research activity conducted within the school of Science and Technology, and each elective short-course will be presented by an experienced scholar in the specified field of computer science. The module will also focus on the preparation of a project proposal to be taken forward to the dissertation phase of the programme. To this end, a number of teaching weeks will aim to prepare students in research methods and project planning appropriate to an individual project. These sessions will be integrated at several points within the standard 24 week teaching framework with a view to underpin research and development activities within all the taught modules on the programme.
This course investigates distributed systems and their implementation, realising such concepts as scalability, concurrency, heterogeneity, asynchrony and allowance for graceful degradation and partial failure. In particular, distributed systems are examined from two perspectives: Internet-based systems and cloud-based systems. The module presents the theoretical model for such systems and provides experience in developing and deploying network or web based applications. Supporting language technologies, operating system utilisation and appreciation of protocols involved in data transfer are explored and discussed, ensuring students can critically evaluate and produce appropriate solutions in this area.
To provide students with an understanding of the methods, theories and techniques relevant to the design of interactive visual computer systems. Students will learn relevant principles and practices in human factors, interactive systems design and evaluation, complex data analysis and visualisation design. They will gain experience in researching, designing and evaluating their own solutions and using off-the-shelf toolkits for solving complex visual analytics problems. This will include learning how to conduct user-studies in accordance with relevant legal and ethical requirements. The module offers students knowledge to support future employment or research in interaction design and the related field of visual analytics.
The module covers the software development process from requirements elicitation and design, to team development, documentation, maintenance, and quality assurance. The development paradigm will be object-oriented, and students will employ an integrated development environment for code management, and utilise associated tools for version control, testing and system documentation. The module also aims to guide the student learner through agile principles and practises, including requirements gathering, planning, test-driven development and refactoring. During this phase of the course students will gain experience using a range of software modelling tools.
The project module aims to develop the students knowledge and skills required for planning and executing research projects such as proof of concept projects or empirical studies related to computer science. To plan and carry out their projects the students will have to:- Apply theories, methods and techniques previously learned Critically analyse and evaluate research results drawing on knowledge from other modules Develop their communication skills to enable them to communicate their findings competently in written and oral form.
You can find more information about this course in the programme specification. Module and programme information is indicative and may be subject to change.