BSc Computer Science options
Year 2, Component 05
Option(s) from list
Databases and Information Retrieval
The aim of this module is to build on the foundations of data and information systems laid down in the first year, learn how to design and manage fully structured data repositories and explore the rather different principles and techniques involved in representing, organising and displaying unstructured information.
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.
The aim of this module is to provide an understanding of the principles that underlie the design of web applications, and to provide practical experience of the technologies used in their construction.
Artificial intelligence will be a great driver of change in the coming decades. This module provides an introduction to three fundamental areas of artificial intelligence: search, knowledge representation, and machine learning. These underpin all more advanced areas of artificial intelligence and are of central importance to related fields such as computer games and robotics. Within each area, a range of methodologies and techniques are presented, with emphasis being placed on understanding their strengths and weaknesses and hence on assessing which is most suited to a particular task.
Most players think that designing computer games must be easy. How hard can it be? Well, writing books and painting pictures is also “easy”, but would you want to read those books, hang those pictures on the wall – or play those games? This module can’t teach you how to design games, any more than a creative writing module can teach you to write novels or an oil painting module can teach you to paint portraits. What it can do is help people who want – who need – to design games to hit the ground running. Where you run after that is up to you!
This module adds game-specific techniques and material to the general-purpose programming abilities acquired previously. Topics include fundamental game classes and loops; working with 2D graphics, images and sound; collision detection, Game AI, particle effects, procedural content generation, physics engines and more. Students showcase their programming skills and creative flair by designing and implementing a 2D video game.
The aim of this module is to provide an introduction to the C++ programming language. The contents covered by this module include basic concepts and features of C++ programming (e.g., operator overloading), C++ Standard Template Library, and inheritance, function overriding and exceptions.
A bare computer is just a complex pile of electronics. What a programmer needs is much higher-level: a human-usable interface; a file system; communication with other computers. The system should be able to share itself between many users, but stop them from interfering with each other's work. It should be secure. In short, what a bare computer needs is an operating system. This module studies the functionality an operating system must provide, and the principles of how that is done.
Want to configure Internet routing protocols for interconnecting networks? Or configure Ethernet switches and associated protocols? Build on your understanding of Internet routing protocols, Ethernet and other IP networking. Gain practical experience of configuration. Design addressing structures and interconnecting strategies for campus scale networks.
This module introduces a number of ideas of computer security, ranging from ciphers to malicious software. After completing this module a student will be able to make a sufficiently informed judgement on most computer security issues and computer security solutions. The module includes programming coursework encouraging the students to experiment with ideas of computer security on simplified examples.
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.