Course Content
Year 1
- Theory 1: Foundations of Mathematics for Computer Science
- Theory 2: Formal Languages and Automata
- Software 1: Foundations of Programming for Computer Science
- Software 2: Object Oriented Data Structures and Algorithms
- Systems and Devices 1: Introduction to Computing Systems
- Data 1: Introduction to Data Science
- Human-Computer Interaction 1: Introduction to User Centred Design
Year 2
- Theory 3: Computational Complexity
- Software 3: Functional Programming with Applications
- Systems and Devices 2: System Software and Security
- Systems and Devices 3: Advanced Computing Systems
- Data 2: Data Analysis and Management
- Human Computer Interaction 2: Interaction Design
- Intelligent Systems 1: Search and Representation
- Intelligent Systems 2: Machine Learning and Optimisation
- Engineering 1: Introduction to Software and Systems Engineering
Year 3
- Systems and Devices 4: Networking
- Individual Project
Year 3
Option modules
- Introduction to Cryptography
- Research Methods for Interactive Technologies
- Intelligent Systems 3: Probabilistic and Deep Learning
- Real-time Systems
- Model-Driven Engineering (available as an elective)
- Constraint Programming (available as an elective)
- Information and Network Security
- Embedded Systems Design and Implementation
- High-integrity Systems Engineering
- Quantum Computation
- High-performance Parallel and Distributed Systems
- Assurance and Proof
- Evolutionary and Adaptive Computing
- Computer Vision and Graphics
- Computing by Graph Transformation
- Legal Practice, Technology and Computer Science (delivered with The York Law School)