400-004-8861
Core modules Computation with Data The module is structured around a series of programming problems and assignments designed to teach you the basics of algorithmic thinking and problem solving using programming. You will be introduced to the Java programming language features and constructs as well as basics of object-oriented programming, which will be put in the context of solving specific algorithmic tasks. Data Analysis 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. Database Systems This module provides you with an introduction to the core concepts in data and information management. It is centered around the core skills of identifying organizational information requirements, modeling them using conceptual data modeling techniques, converting the conceptual data models into relational data models and verifying its structural characteristics with normalization techniques, and implementing and utilizing a relational database using an industrial-strength database management system. Large-Scale Data Storage and Processing You will study the underlying principles of storage and processing massive collections of data, typical of today's Big Data systems, gaining hands-on experience in using large and unstructured data sets for analysis and prediction. The topics covered will include techniques and paradigms for querying and processing massive data sets (MapReduce, Hadoop, data warehousing, SQL for data analytics, and stream processing), fundamentals of scalable data storage (NoSQL data bases such as MongoDB, Cassandra, and HBase), working with dynamic web data (data acquisition and data formats), elements of cloud computing, and applications to real world data analytics and data mining problems (sentiment analysis and social network mining). 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. Individual Project The individual project provides you will the opportunity to demonstrate independence and originality, to plan and organise a large project over a long period, and to put into practice some of the techniques you have been taught throughout the programme. Optional modules 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. Advanced Data Communications Advanced Distributed Systems Applied Probability Business Intelligence Systems, Infrastructures and Technologies Computational Optimisation Computer Security Cyber Security Decision Theory and Behaviour Deep Learning Digital Forensics Inference Intelligent Agents and Multi-Agent Systems Interconnected Devices Introduction to Cryptography Machine Learning Methods of Bioinformatics Methods of Computational Finance Network Security On-line Machine Learning Security Management Security Technologies Security Testing Semantic Web Smart Cards, RFIDs and Embedded Systems Security Software Security Topics in Applied Statistics Visualisation and Exploratory Analysis Wireless, Sensor and Actuator Networks