Search Engine Technologies (MSc)

Degree structure

All our Masters Programmes consist of a wide variety of courses, including compulsory courses, elective courses, and a project.

The compulsory courses for the MSc Search Engine Technologies programme focus on advanced skills in search engines and retrieval.

Compulsory courses

You must take all of the following courses:

The development of software components in software architecture, design, implementation and testing; and their re-use, including selection, adaptation and integration.

Investigates the challenges, methods and processes of specifying and managing large software system development projects.

Algorithms and systems for distributed processing over local and wide area networks.

Retrieval of relevant information (text, images, speech, video) from large document collections such as the Web.

Mobile interaction and ubiquitous systems; embedded software development for mobile interactive systems and associated services.

Reading, summarizing, and oral presentation of non-specialist papers in computing science

Ethical, legal, professional, and social issues in information technology, and advanced communication skills

Review of computing science papers; literature search; design of computing science experiments; computing paradigms.

Background survey, problem statement, and work plan for your chosen project

Elective courses

You must choose three of the following electives. Not all electives are taught every year.

How the fundamental principles of communications theory underpin the structures of the global telecommunications network and the Internet and determine the logic of how these networks interact.

Review of research literature on systems programming techniques and OS design; limitations of deployed systems; how the OS infrastructure might evolve to address the challenges of supporting modern computing systems.

Advanced algorithms and data structures, their complexity, and NP-completeness.

Design of intelligent agents, which perceive their environment and act rationally to fulfill their goals.

Development of a digital circuit that implements an instruction set architecture; the memory system, including cache and virtual memory; architecture support for the operating system.

Representing and solving combinatorial problems.

2D and 3D image processing, with applications such as information retrieval and medical imaging.

Design of integrated information systems across large organizations.

Principles of functional programming including functions, expressions, types, type inference, equational reasoning, and monads; solving substantial programming problems using Haskell.

Advanced topics in HCI, including multimodal interaction, novel forms of interaction, users with different abilities, and social media.

Development of dynamic web sites and internet applications.

Designing and maintaining integrity of large heterogeneous enterprise systems (in collaboration with IBM).

Theory of machine learning; practical application of machine learning techniques in a variety of domains, including human computer interaction, information retrieval, bioinformatics, computer vision and graphics.

Formal process description and analysis techniques used in the design of reactive systems, such as process control systems.

Tools and techniques for development of safety-critical systems; analysis of failures.

Human aspects of information security.

Security aspects of computer systems; cryptographic techniques used to secure these systems.

              Fundamental concepts and practical aspects of wireless sensor networks, with a focus on creating actual sensor mote applications.

Project

To complete the MSc degree you must undertake a project worth 60 credits:

A project chosen by you to investigate a challenging but constrained search engine technology problem.