BSc Computer Science
Placement Year
- Collaborated with a cross-functional team to design, implement, and test software solutions, gaining hands-on experience with industry-standard tools and methodologies.
- Adapted quickly to the company’s technology stack and coding standards, showcasing flexibility and a strong ability to learn on the job.
- Worked effectively within an agile development environment, participating in daily stand-ups, sprint planning, and retrospective meetings to ensure project milestones were met.
Year 3
- Dissertation Project (One third of final year. Individual research project)
- Finance and Law for Engineers (introduce engineering students to key areas of financial and legal risk that engineers should be aware of in their working environment)
Self-Elected Modules
- 3D Computer Graphics (techniques used in modern 3D computer graphics; Programming: Java, OpenGL, GLSL)
- Computer Vision (Programming work uses deep learning tools)
- Software Reengineering (how to reverse-engineer and appraise complex, unwieldy systems by implementing source code and execution analysis techniques; strategies that can be used to adapt and reengineer such systems to improve their quality and viability; Practical work using Git repositories)
- Software Testing and Analysis (problems and techniques of analysing and testing software systems)
- The Internet of Things (practical hands-on experience of common IoT devices; Practical work involves programming an IoT device and capturing and analysing data)
- Software Development for Mobile Devices (Uses MVC or MVVM when developing software for mobile devices; Practical work develops skills with the Android platform)
- Speech Processing (examines both the production and perception of speech, taking a multi-disciplinary approach)
Year 2
- Data Driven Computing (introduction to machine learning and pattern processing, but with a clear emphasis on applications; Programming: Python)
- Systems Design and Security (Focus is software systems design; Includes: UML, SQL and agile methods; Programming: Java)
- Robotics (design and implementation of the technology underpinning contemporary robotics; multidisciplinary content spanning psychology, human factors, computer science and robotics; Programming: Robot Operating System)
- Logic in Computer Science (foundations of logic in computer science)
- Functional Programming (Programming: Haskell)
- Automata, Computation and Complexity (logical foundations and tools for modelling and analysing computing systems)
- Software Hut (group work; covers the processes of engineering a real software system for a client in a competitive environment; Programming: depends on client needs, e.g. Ruby on Rails; Includes extensive use of version control)
- Engineering - You’re Hired (One week group project done in multi-disciplinary groups in the Faculty of Engineering; develops students’ academic, transferable and employability skills; problems provided by industrial partners.)
Year 1
- Introduction to Software Engineering (Includes: practical experience in teamwork and managing software projects; Version control; Programming: Ruby;)
- Foundations of Computer Science (Includes: Mathematical techniques that are the foundation for other computer science topics)
- Java Programming (Includes: writing and testing well-structured and readable programs to solve problems; Programming: Java)
- Machines and Intelligence (Includes: Intro to key concepts and problems in the field of AI; Lab classes include a range of things such as robotics and use of generative AI tools)
- Devices and Networks (Includes: computer architecture and aspects of networks)
- Web and Internet Technology (Focus is on front-end development and includes practical work using HTML, CSS and JavaScript to develop websites; Includes: accessibility and legal issues)
- Introduction to Algorithms and Data Structures (Includes: design and analysis of efficient algorithms and data structures)
- Global Engineering Challenge Week (One week group project done in multi-disciplinary groups in the Faculty of Engineering; develops students’ academic, transferable and employability skills as well as widening horizons as global citizens)