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.
Computation with Data
In this module you will develop an understanding of the basics of algorithmic thinking and problem solving using programming. You will become familiar in using the Java programming language, examining particular features and constructs as well as basics of object-oriented programming. You will use these to solve specific algorithmic tasks and evaluate programming solutions.
Programming for Data Analysis
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 core concepts in data and information management, looking at the role of databases and database management systems in managing organisational data and information. You will learn how to identify organisational information requirements, model them using conceptual data modeling techniques, convert the conceptual data models into relational data models and verify their structural characteristics using normalisation techniques. You will gain experience in designing and implementing a relational database using an industrial database management system, and examine how to mainipulate data using SQL.
You will only take this module if you lack background in this area.
Large-Scale Data Storage and Processing
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 soltutions, 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.
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.
You will carry out an extended piece of individual work under the supervision of an academic member of staff, including the preparation of a dissertation and any programs you may have written. Your project may stress theoretical, methodological, or implementation aspects of a problem or case study, and you may wish to build on the experience that you will have gained during your placement.
In addition to these mandatory course units there are a number of optional course units available during your degree studies. The following is a selection of optional course units that are likely to be available. Please note that although the College will keep changes to a minimum, new units may be offered or existing units may be withdrawn, for example, in response to a change in staff. Applicants will be informed if any significant changes need to be made.
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.
Methods of Computational Finance
In this module you will develop an understanding of the mathematical and computational models underlying derivative securities. You will learn how to apply techniques for pricing derivatives and dynamic hedging, and look at the market efficiency hypothesis and its applications in examining financial techniques. You will also consider models of risk exposure and the techniques used for calculating value at risk.
In this module you will develop an understanding of the need for verifying the correctness of systems against formal specifications of requirements. You will look at advanced model-checking checking techniques that have been adopted in industry, and the requirements of concurrent systems using both linear and brancing temporal logic. You will analyse and model concurrent systems using automata-based design languages, and examine the principles of model checking. You will also consider the use of model-checkers such as SPIN and SMW to verify specfications against models of concurrent systems.
Advanced Data Communications
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.
Fundamentals of Digital Sound and Music
In this module you will develop an understanding of the applications of digital audio, ranging from music production to audio enhancement. You will look at the fundamentals of sound, including nature, transmission and volume, and learn how to convert sound to and from the digital domain. You will consider how audio can be manipulated using digital signal processing algorithms, including post-processing and effects, and examine the applications for digital audio, such as music production, noice cancellation, audio enhancement and automatic music generation.
Intelligent Agents and Multi-Agent Systems
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 solution, developing a meaningful agent-based system using a contemporary agent development platform.
In this module you will develop an understanding of the fundamental concepts and standards of the semantic web. You will look at the the notions, concepts, technologies and modelling techniques that constitute the sematic 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.
Internet and Web Technologies
In this module you will develop an understanding of how the internet works and its key protocols. You will look at the technologies used for web development, including scripting languages and their potential. You will consider how web services and related technologies can be used as a platform for business, and examine the importance of network security.
On-line Machine Learning
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.
Service-Oriented Computing, Technology and Management
In this module you will develop an understanding of service-oriented architectures and models and their role in business information systems. You will look at some of the the key computing skills, technologies, and techniques, and their application in modern organisations. You will consider interactions between service providers, cosnumers, brokers and aggregators, and examine the role of service level agreements and contracts for service provision. You will also evaluate service-oriented technologies and their potential for business transformation.
In this module you will develop an understanding of the skills, processes, technologies, applications, and practices used to leverage an institution's internal and external information assets to support and improve decision-making. You will look at data integration technology and the processes needed to prepare the data for use, considering the differences between structured and unstructured data and different data formats. You will analyse the techniques and tasks of data mining, such as association rules, clustering, and classification, and the architectures used to store data in warehouse data marts. You will also examine the tools used for data analysis and their application for a variety of users.
Business Intelligence Systems, Infrastructures and Technologies
In this module you will develop an understanding of the role of business intelligence systems in the IT environment of modern organisations. You will look at the concepts, terminology and architectures of data warehouses and business intelligence solutions, considering data modelling concepts and design solutions using dimensional modelling. You will examine the key elements of busienss intelligence applications such as data analysis, data minining and dashboards, and evaluate aspects of visualisation and the relationship between business intelligence solutions and CRM and ERP systems. You will also gain hands-on experience using industrial business intelligence tools.
In this module you will develop an understanding of the fundamental models of computational optimisation. You will look at the basic algorithms for solving computational optimisation problems, considering the theoretical and computational methods for analysing these. You will examine the software packages available, evaluating the linear programming model, graphical solutions, and the simplex method.
Methods of Bioinformatics
In this module you will develop an understanding of the main approaches currently in use in bioinformatics. You will look at the basic components of living cells, their functions and interactions, and other concepts essential to understanding the use of computers in biology. You will examine the analysis of DNA and protein sequences emerging from genome sequencing projects and genome-wide experimental assays, and consider the use of algorithms in bioinformatics, including dynamic programming sequence alignments, substituition matrices, and phylogenic trees.
Visualisation and Exploratory Analysis
In this module you will develop an understanding of the principles of statistical visualisation and open-ended exploratory analaysis 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 his module you will develop an understanding of the methods used in the analysis of macro and financial time series data. You will analyse and critically evaluate empirical research in finance and macroeconomics, looking at linear and non-linear time series. You will consider the methodologies for large sample modelling of financial and economic data, and undertake a quantitative research project applying testing procedures on time-series data.
Investment and Portfolio Management
In this module you will be introduced to the underlying theory and empirical evidence in portfolio management and its practice in the financial sector. Portfolio theory is blended with practical issues encountered in the investment process, and you will cover topics which include identifying investor objectives and constraints, recognizing risk and return characteristics of investment vehicles, developing strategic asset allocations among equity, managing portfolio risk, increasing portfolio return, and evaluating portfolio and manager performance relative to investment objectives and other appropriate benchmarks. You will develop an understanding of how funds are allocated in portfolio construction, and look at security analysis, optimal portfolio selection and delegated portfolio management.
Fixed Income Securities and Derivatives
In this module you will develop an understanding of the most important elements of the default-free fixed income securities market, and the derivatives market. You will look at the analytical tools used in portfolio management and risk management. For bond portfolios these will include yield curve construction, duration, convexity and formal term structure models. For derivatives, you will focus on valuation, trading mechanisms and management of credit risk.
In this module you will develop an understanding of the concepts of consistency, asymptotic normality, asymptotic efficiency, and be able to apply these to evaluate properties of microeconometric estimators. You will look at the principle and statistical theory of the gaussian mixture models (GMM) framework, including extremum estimators and maximum likelihood (ML) estimators. You will examine multiple GMM models (including FIVE, 3SLS, and SUR), analysing their statistical properties and their applications to data. You will cosnider panel data models, including fixed and random effects models, and the application of ML estimation to microeconometric models, including truncated and censored regression models, prohibit, and logit models.
Decision Theory and Behaviour
In this module you will develop an understanding of the rational decision making paradigm in economics, as well as its shortcomings over the past few decades. You will explore behavioural models, their formalisation and scope, including applications to finance, becming familiar with both theoretical and experimental methods for research in decision theory and behavioural economics.
The Economics of Banking
In this module you will develop an understanding of the economic meaning of the terms liquidity and solvency in the context of financial intermediaries. You will look at simiplified frameworks for analysing the fragility of the financial system and consider its revelance to financial crisisesincluding models of bank runs and the theory of optimal financial regulation. You will examine the implications of asset price bubbles for financial stability, and the implications of imposing capital structure controls and liqudity controls on financial intermediaries.
In this module you will develop an understanding of corporate finance issues related to company evaluation, and the main users of those evaluations, such private equity firms and venture capitalists (VCs). You will look at the key aspects of corporate valuation, for example leveraging, and how valuations differ according to the maturity of the company, from start up, to making an Initial Public Offering (IPO), to established business engaging in mergers and acquisitions. You will become familiar with leverage buyout and private equity technics, and be able to analyse and critically evaluate the motivation for mergers and acquisitions.
In this module you will develop an understanding of the mathematical theory underlying the main principles and methods of statistics, in particular, parametric estimation and hypotheses testing. You will learn how to formulate statistical problems in rigorous mathematical terms, and how to select and apply appropriate tools of mathematical statistics and advanced probability. You will construct mathematical proofs of some of the main theoretical results of mathematical statistics and consider the asymptotic theory of estimation.
In this module you will develop an understanding of the principal methods of the theory of stochastic processes, and probabilistic methods used to model systems that exhibit random behaviour. You will look at methods of conditioning, conditional expectation, and how to generate functions, and examine the structure and concepts of discrete and continuous time Markov chains with countable state space. You will also examine the structure of diffusion processes.
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 uses of cryptography. You will look at the basic cryptographic mechanisms used to provide core security services and examine differences between them, identifying suitations in which they are most usefully employed. You will consider the issues than need to be addressed to 'secure' an application, and evaluate the limitations of cryptography and methods for supporting it within a full security architecture.
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 compter systems, in particular the practical implementation of access control.
In this module you will develop an understanding of the need for effective security management. You will look at alternative security strategies and examine methods for responding to security management problems. You will critically evaluate different approaches and consider security management requirements. Sessions will be delivered by a combination of security practioners, information managers and academics and you will be encourage to actively discuss the subject matter, engaging in an online discussion forum.
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 the foundations and theoretical underpinnings of how data is generated, stored, transmitted, and used as evidence. You will look at the methods used for the collection and analysis of digital evidence, and consider how the integrity of the underlying data is maintained. You will examine the general and UK legal requirements for data storage, and consider the frameworks for the handling and processing of such evidence.
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 exploting 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 database security and concurrency control in distributed databases. You will look at methods used in failure recovery in distributed databases, and consider how security can be established within relational databases. You will examine the conflicting interactions between security requirements and concurrency control, examining the implications that security and its administration have in the context of commercial relational databases, such as Oracle. You will critically evaluate how access control policies can be adapted to relational databases, the approaches for achieveing multi-level security while still permitting concurrent transaction execution, and see why condientiality is so difficult to achieve within a statistical database.
In this module you will develop an understanding of the key areas of cyber security, with particular focus on the critical national information (CNI) infrastructure. You will look at fault and attack models for information and cyber-physical systems, considering variants of attack trees. You will analyse large-scale networks and their robustness for both random failures and deliberate attacks, evaluating how key elements of the CNI, such as the internet and power and transport infrasturctures, can be captured by such models. You will also examine case studies of attacks by state actors and security problems in control systems protocols.