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 (this must be an cyber-related project)
Year 4
- Core module
- Group project
Year 3
- Introduction to Cryptography ('designated' Cyber Security module)*
- Research Methods for Interactive Technologies
- Intelligent Systems 3: Probabilistic and Deep Learning
- Real-time Systems
- Model-Driven Engineering (available as an elective in Year 3)
- Constraint Programming (available as an elective in Year 3)
- Information and Network Security ('designated' Cyber Security module)*
- 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)
Year 4
- Introduction to Cryptography ('designated' Cyber Security module)*
- Research Methods for Interactive Technologies
- Intelligent Systems 3: Probabilistic and Deep Learning
- Real-time Systems
- Model-Driven Engineering
- Constraint Programming
- Information and Network Security ('designated' Cyber Security module)*
- 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