School of
Computer Science We offer four undergraduate programmes in BSc (Hons) Computer Science BSc (Hons) Computer Science, Networks BSc (Hons) Computer Science, Artificial Intelligence BSc (Hons) Computer Science, Software Engineering
2014
Year 1 Computer Science and Information Technology - Semesters A and B The Human Dimensions of Computing: The "why" questions. History, current trends and key issues, academic skills for computing. Programming: A "problem solving" approach, starting with Python an moving to Java. Models and Methods in Computing: Foundations, modelling and representing data, systems and algorithms. Platforms for Computing: Computer design and organisation, networks, operating systems and devices.
Year 2 Semester A Core Modules
Semester B Core Modules
Contemporary Issues: Social, professional, ethical, environmental and legal issues in computing.
Operating Systems & Networks: A survey of operating systems including UNIX. LAN protocols.
Algorithms & Data Structures: Key data structures, implementation in frameworks. Design decisions. Algorithmic complexity.
Database Concepts: Storing, retrieving, and organising data across scales ranging from in-memory databases to Big Data.
Computer Science Development Exercise: Individual and team work on a software engineering case study for a hypothetical client. Requirements, design, testing, implementation, software life-cycle and process models.
Year 2 Semester A Options
Year 2 Semester B Options
Artificial Intelligence: Problem and state spaces, searching and knowledge representation.
Cognitive & Social Robotics: Self-organisation, local interactions, trade-off computation, morphology and physiology, swarm intelligence, growth and movement.
Computer Architecture: Processor and computer system design. Pipelines and caches.
The C Family: Programming in C, C++, C# and Objective-C.
Final Year Semester A Modules
Final Year Semester B Modules
Semester B Option Module
User Experience: Human-computer interaction, interaction design, personas, analytical evaluation. (CS)
Quantum Computing: Quantum information processing, problem solving by quantum methods.
Industrial Placement
Study Abroad
Spend a year in employment and gain valuable work experience and skills which today's employers really value.
Spend part of your course studying or working abroad and gain valuable skills and experience which today's employers really value.
Programming Paradigms: A range of programming paradigms including functional and logic programming. Implementation of interpreters and compilers
Machine Learning & Neural Computing: Data mining, clustering, artificial neural architectures and pattern recognition.
Semester A Option Module
Year 3 Optional
Final Year Semester A Modules
Semester B Modules
Project Planning: Specification and design, task scheduling, resourcing, data analysis, evaluation, visualisation and report writing.
Project: Working independently with the help of a supervisor, apply knowledge of Computer Science to a substantial piece of practical and written work.
Computer Systems Security: Security of information systems, computers and networks. Cryptosystems.
These 3 modules are core for all programmes
Semester A Core Module
Semester B Core Module
Semester A Option Module
Semester B Option Module
Additional Core Modules are indicated by their initials: BSc (Hons) Computer Science (CS) BSc (Hons) Computer Science, Artificial Intelligence (AI) BSc (Hons) Computer Science, Networks (N) BSc (Hons) Computer Science, Software Engineering (SE)
Embedded Systems Development: Design and implementation of small, self-contained computing systems as part of a control system, device, or appliance. Real-time constraints. Artificial Life: Computational synthesis and simulation of living and life-like systems. Constructive AI: Searching, AI in games, reinforcement learning, probabilistic and graphical models, information-theoretic approaches. (AI) Network Protocols & Architecture: Comms media and data transmission, error detection and recovery, multiaccess protocols, distributed systems and security. (N) Object-Oriented Development: O-O modelling of real-world problems. Abstraction, encapsulation and inheritance. Capture and reuse. (SE)
Software Quality: Development life cycle and quality assurance. Testing and quality management. Standards, policies and procedures. AI Robotics & Applications: Behaviour based systems, learning by reinforcement, sociable, rehabilitation and assistive robots. (AI) Cyber Security: Malware, hacking, and computer crime. (N) Software Engineering Practice: Implementing and deploying objectoriented systems using a variety of industry-standard tools. (SE) Concurrency: Safety, liveness, sequential versus concurrent, behaviours, events, specification, non -determinism, deadlock, starvation, timing, race conditions, livelock. (CS) Mobile Computing: Programming for mobile devices, usability in developing for small 3 screens.