Advanced Computing at Imperial College London
Imperial College London offers a postgraduate course in Advanced Computing. The MSc and MRes in Advanced Computing offer students an excellent opportunity to study a broad spectrum of topics in depth with dedicated experts. The course prepares students for a rewarding career in computing and information technology.
The MSc in Advanced Computing is appropriate for students mostly interested in a career oriented towards development and application industry. The MRes in Advanced Computing is apt for students interested in a research career in the academic or industrial sector.
Candidates must usually have a good first Honours degree in computer science or a subject with a significant computing component. It is a full-time degree course of twelve months' duration, commencing in October.
There are six streams and each covers an area of specialization. Students are generally required to choose one of these of specialization. However, students with related experience or special interests can be allowed to take different combinations of course options with the agreement of the course director.
This stream provides a course of study on the tools and theory of business management, which require computerized solutions consisting of constraint solving techniques and decision support. Graduates shall be well equipped to contribute to financial applications, industrial applications and academic research.
Logic and Artificial Intelligence
This stream offers study on the applications and theory of artificial intelligence. Options within this area offer students an excellent opportunity to specialize in the implementation and design of applications comprising study how a logic framework can be useful for general application in computer science and artificial intelligence or logic-based agents in a distributed environment.
This stream lays emphasis upon the applications of mathematics to the practice and theory computing comprising the formal design of advanced software. Upon completing this course, students shall be able to carry out research into methods for enhancing a systematic approach to developments in computing.
This stream is designed for computer science graduates who are seeking for an advanced course of study in techniques and tools underlying the development of complex and large scale software systems. The special emphasis is given upon solving problems caused by software size and age. Graduates shall be well equipped to contribute to industrial applications and academic research.
High Performance Computing
This stream of specialization offers a course of study in rigorous methods applied to the design of software for parallel and complex systems. There are new architectures for data mining, for modeling and simulation and for distributed systems. The stream places special emphasis upon combining knowledge of hardware, algorithms and architectures to meet performance goals. Graduates shall be equipped to contribute application software and research projects.
Distributed and Parallel Systems
This stream offers study on the design, techniques used in, distributed and parallel algorithms and concurrent systems. This stream focuses upon distributed systems and their industrial applications comprising techniques for accessing and maintaining distributed databases. Graduate students shall be equipped to contribute to industrial applications and academic research.
The course modules include (some of these may not be offered every year):
- Advanced databases
- Advanced computer architecture
- Advanced issues in object-oriented programming
- Advanced graphics and visualization
- Advanced topics in software engineering
- Automated reasoning
- Cognitive robotics
- Computational finance
- Complex systems
- Computing for optimal decisions
- Computer vision
- Distributed algorithms
- Custom computing
- Knowledge representation
- Intelligent data and probabilistic inference
- Machine learning and neural computation
- Machine learning
- Models of concurrent computation
- Modal and temporal logic
- Network security
- Multi-agent systems
- Performance analysis
- Parallel algorithms
- Quantum computing
- Program analysis
- Type systems for programming languages