Integrated Master in Science: Computer Science options
Final Year, Component 06
Option(s) from list
Introduction to Data Science
This module is designed to provide an introduction to the statistical principles used in data science and their applications, and the use of practical programming packages for data analysis and visualisation.
You will also study data analysis techniques, including causal inference, correlation, classification, regression, and clustering.
This module gives an introduction to intelligent systems and robotics. It goes on to consider the essential hardware for sensing and manipulating the real world, and their properties and characteristics. The programming of intelligent systems and real-world robots are explored in the context of localisation, mapping, and fuzzy logic control.
Humans can often perform a task extremely well (e.g., telling cats from dogs) but are unable to understand and describe the decision process followed. Without this explicit knowledge, we cannot write computer programs that can be used by machines to perform the same task. “Machine learning” is the study and application of methods to learn such algorithms automatically from sets of examples, just like babies can learn to tell cats from dogs simply by being shown examples of dogs and cats by their parents. Machine learning has proven particularly suited to cases such as optical character recognition, dictation software, language translators, fraud detection in financial transactions, and many others.
We live in an era in which the amount of information available in textual form - whether of scientific or commercial interest - greatly exceeds the capability of any man to read or even skim. Text analytics is the area of artificial intelligence concerned with making such vast amounts of textual information manageable - by classifying documents as relevant or not, by extracting relevant information from document collections, and/or by summarizing the content of multiple documents. In this module we cover all three types of techniques.
This module examines the nature of fun and engagement in the context of game design, and includes the study of how to integrate narrative into gameplay and how to criticise game design. This module also covers how to design and deploy objective measures of player experience and how to apply these to analyse game logs in a number of case studies. The effects of game AI on player experience are also considered.
This module covers a range of Artificial Intelligence techniques employed in games, and teaches how games are and can be used for research in Artificial Intelligence. The module explores algorithms for creating agents that play classical board games (such as chess or checkers) and real-time games (Mario or PacMan), including single agents able to play multiple games. The course also covers Procedural Content Generation, and explores the techniques used to simulate intelligence in the latest videogames.
Many of today’s best computer games rely on realistic physics at the core of their gameplay. In this course, students are taught how these physics engines work, and how to create physics-based games of their own. Students create a physics engine from scratch, and also learn how to use existing industry-standard open-source 2-D and 3-D physics engines. The necessary principles of physics and mathematics are taught, assuming very little prior knowledge. Vectors, matrices, and numerical integration are taught on a need-to-know basis, with code examples to illustrate the methods. Each lecture is followed by a lab session, where the new techniques are programmed by each student. Almost immediately, students will create scenarios where objects are moving and bouncing around the screen realistically. Each lab session ends in creating a small physics-based game. The course is assessed through tests, and a larger game-programming assignment.
Mathematics is a tool used in many fields of research, and this module introduces students to techniques and ways of thinking designed to enable them to carry out their own mathematical investigations, or to apply mathematical ideas to an investigation of their own (typically for most students on this module, this will be their Dissertation project). We use the industry standard mathematical software Matlab, although the techniques introduced can also be applied using other software, and we study a range of techniques for numerical computation and processing of data.
As humans we are adept in understanding the meaning of texts and conversations. We can also perform tasks such as summarize a set of documents to focus on key information, answer questions based on a text, and when bilingual, translate a text from one language into fluent text in another language. Natural Language Engineering (NLE) aims to create computer programs that perform language tasks with similar proficiency. This course provides a strong foundation to understand the fundamental problems in NLE and also equips students with the practical skills to build small-scale NLE systems. Students are introduced to three core ideas of NLE: a) gaining an understanding the core elements of language--- the structure and grammar of words, sentences and full documents, and how NLE problems are related to defining and learning such structures, b) identify the computational complexity that naturally exists in language tasks and the unique problems that humans easily solve but are incredibly hard for computers to do, and c) gain expertise in developing intelligent computing techniques which can overcome these challenges.
The aim of this module is to provide students with an understanding of the role of artificial neural networks (ANNs) in computer science and artificial intelligence. This will allow the student to build computers and intelligent machines which are able to have an artificial brain which will allow them to learn and adapt in a human like fashion.
At Essex we pride ourselves on being a welcoming and inclusive student community. We offer a wide range of support to individuals and groups of student members who may have specific requirements, interests or responsibilities.
The University makes every effort to ensure that this information on its programme specification is accurate and up-to-date. Exceptionally it can be necessary to make changes, for example to courses, facilities or fees. Examples of such reasons might include, but are not limited to: strikes, other industrial action, staff illness, severe weather, fire, civil commotion, riot, invasion, terrorist attack or threat of terrorist attack (whether declared or not), natural disaster, restrictions imposed by government or public authorities, epidemic or pandemic disease, failure of public utilities or transport systems or the withdrawal/reduction of funding. Changes to courses may for example consist of variations to the content and method of delivery of programmes, courses and other services, to discontinue programmes, courses and other services and to merge or combine programmes or courses. The University will endeavour to keep such changes to a minimum, and will also keep students informed appropriately by updating our programme specifications. The University would inform and engage with you if your course was to be discontinued, and would provide you with options, where appropriate, in line with our Compensation and Refund Policy.
The full Procedures, Rules and Regulations of the University governing how it operates are set out in the Charter, Statutes and
Ordinances and in the University Regulations, Policy and Procedures.