You'll learn the fundamentals of computer science, with an emphasis on developing your skills in program design and implementation. You'll gain experience in Java programming and develop a broad view of hardware and software architectures.
You'll develop an appreciation of what it is to be a professional working in the IT industry and develop your problem-solving skills.
Modules
Compulsory Modules | Credits |
---|---|
Fundamentals of Computing | 20 |
Computer Systems Design and Architectures | 20 |
Foundations of Data Science | 20 |
Programming Portfolio 1 | 30 |
Programming Portfolio 2 | 30 |
You'll study modules in software engineering, algorithm design and the fundamental principles that govern the operation of the internet.
We'll introduce you to requirements analysis and databases, and the formal specification of software systems.
You'll also work in a team to engineer a substantial software product, developing practical teamworking skills.
Modules
Compulsory Modules | Credits |
---|---|
Security Programming | 20 |
Algorithm Design and Analysis | 10 |
Software Engineering Team Project | 30 |
Introducing Contemporary Topics in Computing | 30 |
Software Systems Design and Implementation | 30 |
You'll choose from a range of specialist topics covering the skills required for managing large-scale software projects. You'll develop the practical engineering skills that you need to accurately capture requirements, such as structuring software applications, understanding programming languages, real-time programming and software testing technologies.
You'll also complete an individual project and dissertation, which requires you to research and plan a solution to a real-world software engineering problem.
Modules
Compulsory Modules | Credits |
---|---|
Major Project and Dissertation in Computer Science | 60 |
Distributed Systems | 10 |
Fault Tolerant and Cyber-Physical Systems | 20 |