The digital revolution is changing our world in deep and lasting ways. The Internet of Things – networked devices that are capable of sensing, transmitting and acting on data to improve our quality of life – is an area of development that is widely expected to require the services of millions of new developers over the coming years. Study the Internet of Things at Royal Holloway, University of London and you’ll acquire the skills and experience you need to become a part of an exciting, fast-expanding area of computer science with excellent graduate employability prospects.
This programme is designed to help you break into a rapidly expanding area of computer science, provideing you with advanced knowledge and skills in data analytics techniques, technical and methodological aspects of distributed and networked systems, and aspects of cybersecurity such as privacy and safety.
Skills that you will acquire include the ability to:
- design and implement middleware services for reliable communication in unreliable networks, and storage solutions for wireless, sensor, and ad hoc-networks
- detect sources of vulnerability in networks of connected devices and deploy
- the appropriate countermeasures to information security threats
- enforce privacy in “smart” environments
- work with open source and cloud tools for scalable data storage (DynamoDB) and coordination (Zookeeper)
- design end-to-end IoT solutions involving interconnected edge devices and clouds
- work with modern network management technologies (Software-Defined Networking) and standards (OpenFlow)
- work with low-power wireless and mesh networking standards and technologies such as IEEE 802.15.4, ZigBee and XBee
- work with state-of-the-art microcontroller devices and kits, such as Arduino and Tessel, and miniature computing technologies, such as RaspberryPi
- work with methods and techniques such as clustering, regression, support vector machines, boosting, decision trees, and neural networks
You’ll study in a department renowned for cutting-edge research-led teaching and be able to contribute your own findings during your Individual Project. You will be taught by world-leading academics, actively engaged in research across all aspects of distributed computing and systems, including design and analysis of algorithms, large-scale and cloud-based systems, fault-tolerance, distributed storage, cloud computing, peer-to-peer, concurrency control, and multi-core computing. You will also have access to a range of advanced facilities including a laboratory for experimenting with networked physical devices, and a cluster facility for processing and analysing real data sets.
Study The Internet of Things at Royal Holloway and you’ll graduate with a Masters degree in a field with excellent graduate employability prospects. You'll develop a range of skills and knowledge that will make you a highly employable candidate to many new and established businesses.
- Gain invaluable skills and experience with a year in industry at one of the country's leading tech organisations.
- Benefit from strong industry ties, with close proximity to ‘England’s Silicon Valley’.
- Graduate with a Master's degree offering excellent graduate employability prospects.
- Tailor your learning with a wide range of engaging optional modules.
Core ModulesYear 1
In this module you will learn about the applications of the Internet of Things (IoT) in society, the components of typical IoT systems and the trends for the future. You will be exposed to IoT design considerations, constraints and interfacing between the physical world and IoT devices. You will develop an understanding of the Arduino platform and how it works in terms of the physical board, the libraries and the IDE (integrated development environment). You will learn how to program the Arduino via C/C++ code and how to access the pins on the board via the software to control external devices. Finally, you will gain hands-on experience in plugging shields into the main Arduino board to perform other functions such as sensing and actuating.
This module covers algorithm-independent machine learning; unsupervised learning and clustering; exploratory data analysis; Bayesian methods; Bayes networks and causality; and applications, such as information retrieval and natural language processing. You will develop skills in data analysis, including data mining and statistics.
The module covers the fundamental principles of building modern distributed systems, for example in the context of the Internet of Things (IoT), focussing, in particular, on two central components of the IoT reference architecture-cloud infrastructure and wireless networking. The module will discuss major challenges found in these environments (such as massive scales, wide distribution, decentralisation, unreliable communication links, component failures and network partitions) and general approaches for dealing with these. Topics covered will include abstract models (such as the synchronous and asynchronous distributed computing models, models for wireless networks); algorithmic techniques (such as distributed coordination, the fault-tolerant design of distributed algorithms, synchronization techniques); and practical case studies. You will also have an opportunity to implement various components of a realistic distributed system through a series of formative coursework assignments, lab practicals, and a final project.
This module combines lectures focussing on the algorithms and the protocols behind wireless sensor and actuator networks (WSANs) with lab classes that focus on how to build wireless sensor and actuator networks for a variety of applications. You will learn about the critical design factors for WSANs, the protocol stack, models and algorithms for WSANs, routing protocols and more advanced open research problems, such as topology control and mobility. The practical classes will cover how to design and build wireless sensor networks and intelligent interactive devices with the ZigBee wireless networking protocol.
In this module you will develop an understanding of the applications of smart cards and security tokens and their use as assets in cyber security. You will look at the constituent components of common systems, analysing strengths and weaknesses in their manufacture and potential risks and security safeguards. You will consider the range of campabilities of SIM cards in smartphones and the main standards and applications of smarts cards for banking and finance. You will also examine the role of embedded smart card and RFID technology for passports, identity cards, and satellite TV, and the security measures that have protected past and current cards.
In this module you will develop an understanding of how information security may be influenced by real-world design and implementation decisions. You will look at the different cryptographic algorithms, their use, advantages and disadvantages. You will examine cryptographic primitives in the review and evaluation of cryptographic protocols and consider the rational decisions in the design of number tokens and secure elements.
You will spend this year on a work placement. You will be supported by the Department of Computer Science and the Royal Holloway Careers and Employability Service to find a suitable placement. This year forms an integral part of the degree programme and you will be asked to complete assessed work. The mark for this work will count towards your final degree classification.
- Individual Project
There are a number of optional course modules available during your degree studies. The following is a selection of optional course modules that are likely to be available. Please note that although the College will keep changes to a minimum, new modules may be offered or existing modules may be withdrawn, for example, in response to a change in staff. Applicants will be informed if any significant changes need to be made.Year 1
In this module you will develop an understanding of the principles of statistical visualisation and open-ended exploratory analysis of data. You will look at the construction of linear projections of multivariate data and non-linear dimensions reduction methods. You will gain practical experience in using standard graph visualisation methods and evaluating results, and consider how to avoid data snooping. You will also critically evaluate choices in representational mode, glyph design, and colour design for presentation graphics
In this module you will learn how to use MATLAB (Matrix Laboratory) and WEKA (Waikato Environment for Knowledge Analysis) as tools for machine learning and data mining. For MATLAB, you will develop an understanding of how to input and output data using vectors, arrays and matrics; learn techniques in data visualization, including plots in 2 and 3 dimensions, scatter plots, barplots, and histograms; and learn how to implement concepts from linear algebra and statistics, including probability and matrix decompositions. For WEKA, you will develop an understanding of how to use the software as a tool for training and testing, predicting generalisation performance, and cross-validation; and learn how to implement decision trees, naïve Bayes classifiers, and clustering methods.
In this module you will develop an understanding of the fundamental concepts and standards of the semantic web. You will look at the notions, concepts, technologies and modelling techniques that constitute the semantic web, including standards such as RDF, RDFS and OWL. You will examine the underlying logical theory behind the semantic web, such as description logic, and consider how semantics can be used in new, more effective and intelligent ways to manage information and support applications.
In this module you will develop an understanding of the notion of an agent, and how agents are distinct from other software paradigms. You will analyse the characteristics of applications that lend themselves to an agent-oriented solution and consider the key issues associated with constructing agents capable of intelligent autonomous action. You will look at the key issues in designing societies of agents that can effectively cooperate in order to solve problems and evaluate the key types of multi-agent interactions possible in such systems. You will also examine the main application areas of agent-based solutions, developing a meaningful agent-based system using a contemporary agent development platform.
In this module you will develop an understanding of how modern multimedia communication work. You will look at the methods used for coding text, images, audio and video transfer over networking infrastructures, including layering, abstraction and the internet reference model. You will examine the use of compression, applications and standards, and quality of service requirements and consider internet technologies such as IP addressing, routing algorithms, and routing protocols such as RIP and OSPF.
In this module you will develop an understanding of modern machine learning techniques and gain practical experience in developing machine learning systems. You will look at the main advantages and limitations of the various approaches to machine learning and examine the features of specific machine-learning algorithms. You will also consider how the ideas and algorithms of machine learning can be applied in other fields, including medicine and industry.
In this module you will develop an understanding of the underlying principles of large-scale data storage and processing frameworks. You will look at the opportunities and challenges of building massive scale analytics solutions, gaining hands-on experience in using large and unstructured data sets for analysis and prediction. You will examine the techniques and paradigms for querying and processing massive data sets, such as MapReduce, Hadoop, data warehousing, SQL for data analytics, and stream processing. You will consider the fundamentals of scalable data storage, including NoSQL databases, and will design, develop, and evaluate an end-to -nd analytics solution combining large-scale data storage and processing frameworks.
In this module you will develop an understanding of the on-line framework of machine learning for issuing predictions or decisions in real-time. You will learn about protocols, methods and applications of on-line learning, covering probabilistic models based on Markov chains and their applications, such as PageRank and Markov Chain Monte-Carlo. You will examine the time series models, exploring their connections with Kalman filters, and learning models based on the prequential paradigm, including prediction with expert advice, aggregating algorithm, sleeping and switching experts. You will also consider universal algorithms, their application to portfolio theory, and how prediction within a confidence framework is achieved.
The module is concerned with the protection of data transferred over digital networks, including computer and telecommunications networks. We review networking concepts, particularly the concepts of services and protocols, and study how services are incorporated in network communications by specifying protocols. We extend the discussion of services to address security concerns, considering how cryptographic primitives may be used to provide confidentiality, integrity and authentication services. We illustrate these concepts by considering case studies, including WEP/WPA/WPA2, GSM and UMTS, IPsec and SSL/TLS. We also study non-cryptographic countermeasures, including packet-filtering and intrusion detection.
In this module you will develop an understanding of the role of security mechanisms for modern computer systems, including both hardware and software. You will look at the mechanisms that are used to implement security policies, considering core concepts such as security models, subjects and objects, authorisation and access rights. You will examine the use and operation of a range of access and control methods and authentication mechanisms, such as tokens an biometrics. You will also and evaluate the main issues relating to software security and their effect on the security of computer systems, in particular, the practical implementation of access control.
In this module you will develop an understanding of the construction of information networks, specifically the architecture and operation of the internet protocol suite. You will look at the construction of a modern computer system, considering hardware and software components which support multiprocessing. You will examine the causes and potential effects of vulnerabilities that affect computer systems and identify appropriate countermeasures, including user authentication and access control mechanisms. You will evaluate authentication and key exchange protocols, such as how SSL and TLS are applied to the internet, and analyse the key security threats faced in network environments.
In this module you will develop an understanding of the common approaches and methodologies used for carrying out and managing security and penetration testing, including legal requirements for such audits. You will look at network protocols, relevant computer system architectures, and web application systems, considering their vulnerabilities, common forms of attack, and security technologies designed to mitigate these. You will gain practical experience of exploiting vulnerabilities to penetrate a system, learning how to design secure systems and defend them against intrusion.
In this module you will develop an understanding of the importance of security in the development of applications. You will look at poor programming practices and how they can be exploited, leading to catastrophic security breaches. You will consider the threat posed by malicious software and examine some of the newer research trends that are likely to influence software security work in the coming years.
In this module you will develop an understanding of the uses of cryptography. You will look at the basic cryptographic mechanisms used to provide core security services and examine differences between them, identifying situations in which they are most usefully employed. You will consider the issues that need to be addressed to secure an application, and evaluate the limitations of cryptography and methods for supporting it within a full security architecture.
Teaching & assessment
Teaching is organised in terms of 11 weeks each. Examinations are taken in April/May of each academic year, except for Data Analysis for which the exam is in January. Your placement (internship) starts typically at the end of June or beginning of July and lasts for a maximum of one year. The individual project is taken over 12 weeks during the Summer after the placement.
A weekly seminar series runs in parallel with the academic programme, which includes talks by professionals in a variety of application areas as well as workshops that will train you to find a placement or a job and lead a successful career.
Assessment is carried out by a variety of methods including coursework, small group projects, and examinations, the proportions of which vary according to the nature of the modules. The placement is assessed as part of your degree, accounting for 10% of the individual project.
Although the responsibility for finding a placement is ultimately with the student, our Careers and Employability Team will help you identify suitable opportunities, make applications and prepare for interviews. Please note that progression to the placement is conditional on good academic performance. Students who fail to qualify for or find a placement are automatically transferred to the one-year programme.
Computer Science, Economics, Mathematics, Physics, or other subjects that include a strong element of both mathematics and computing.
Normally we require a UK 2:1 (Honours) or equivalent in relevant subjects but we will consider high 2:2 or relevant work experience. Candidates with professional qualifications in an associated area may be considered. Where a ‘good 2:2’ is considered, we would normally define this as reflecting a profile of 57% or above.
International & EU requirements
English language requirements
All teaching at Royal Holloway is in English. You will therefore need to have good enough written and spoken English to cope with your studies right from the start.
The scores we require
- IELTS: 6.5 overall. No subscore lower than 5.5.
- Pearson Test of English: 61 overall. Writing 54. No subscore lower than 51.
- Trinity College London Integrated Skills in English (ISE): ISE III.
For more information about country-specific entry requirements for your country please see here.
Your future career
According to Cisco, the number of 'connected devices' (including vending machines, electricity meters and refrigerators, as well as phones and computers) will exceed the number of people on the planet by a factor of two. By 2020 some 27 billion unique objects will be connected wirelessly to the internet, and the Internet of Things will double in size every five years, with VisionMobile estimating that 4.5 million IOT developers will be needed.
Study The Internet of Things at Royal Holloway, University of London and you can expect excellent graduate employability prospects in an exciting, fast-expanding area of computer science. You’ll develop a wide range of transferable skills, including cybersecurity, botnet detection, cloud computing, data mining and network analytics. You’ll also benefit from Royal Holloway’s proximity to the M4 corridor – also known as ‘England’s Silicon Valley’ – offering fantastic networking and placement opportunities with some of the country’s leading tech companies.
Recent alumni have gone on to enjoy rewarding careers in areas such as financial analytics and Big Data, while others have gone on to do a PhD. We bring several companies to our campus throughout the year, both for fairs and for delivering advanced topics seminars, which are an excellent opportunity to learn about what they do and discuss possible placements or jobs.
- Strong industry ties help to provide placement and networking opportunities with some of the country’s leading institutions.
- Together with our on-site Careers and Employability Service, we run one-to-one coaching sessions and workshops, helping you to find a placement or job and lead a successful career.
Fees & funding
Home and EU students tuition fee per year*: £11300
The fee for the Year in Industry will be 20% of the first year fee for that academic year
International students tuition fee per year**: £20500
The fee for the Year in Industry will be 20% of the first year fee for that academic year
Other essential costs***: There are no single associated costs greater than £50 per item on this course.
Scholarships for international studentsIf you hold the equivalent of a UK First Class undergraduate degree, you will automatically be considered for a £2,000 tuition fee discount. Eligible Indian nationals and students domiciled in India, who pay international fees, will receive a £4,000 tuition fee discount.
* and ** These tuition fees apply to students enrolled on a full-time basis. Students studying part-time are charged a pro-rata tuition fee, usually equivalent to approximately half the full-time fee. Please email firstname.lastname@example.org for further information on part-time fees. All postgraduate fees are subject to inflationary increases. Royal Holloway's policy is that any increases in fees will not exceed 5% for continuing students. For further information see tuition fees and our terms and conditions.
Please note that for research programmes, we adopt the minimum fee level recommended by the UK Research Councils for the Home/EU tuition fee. Each year, the fee level is adjusted in line with inflation (currently, the measure used is the Treasury GDP deflator). Fees displayed here are therefore subject to change and are usually confirmed in the spring of the year of entry. For more information on the Research Council Indicative Fee please see the RCUK website.
*** These estimated costs relate to studying this particular degree programme at Royal Holloway. Costs, such as accommodation, food, books and other learning materials and printing, have not been included.