MEng Computer Science and Software Engineering
Four Year Undergraduate Degree in Computer Science and Software Engineering
Key data
- UCAS code: GG46 (GG6L with the Year in Industry)
- Duration of programme: 4 years for MEng Computer Science/Software Engineering; 5 years with a Year in Industry
- Professional accreditation: The MEng degree is recognised by BCS, the Chartered Institute for IT on behalf of the Engineering Council, for the purposes of fully meeting the academic requirement for registration as a Chartered Engineer.
Contact details
- Admissions Tutor: Dr Peter Hancox
- Telephone enquiries: +44 (0)121 415 8742
- Email: ug-admissions@cs.bham.ac.uk
Entry requirements: 2014
- Number of A levels required: 3
- Typical offers: A*AA-AAA
- Required subjects and grades: Mathematics or Computing must be offered at A Level. We also require Grade B in GCSE Mathematics (if not offered at A Level) and Grade C in GCSE English.
- General Studies & Critical Thinking: Not accepted
- Access to Higher Education Diploma: Not accepted
- International Baccalaureate Diploma: 36 points including 7 in HL Maths or Computing. We also require 5 in SL Mathematics (if not offered at HL) and 5 in SL English
See also general entry requirements
Additional information
- It is desirable, but not essential, to have some experience of writing computer programs.
- To view our undergraduate brochure please click here.
- This degree can be taken with a year in industry.
- We accept other qualifications from the UK and overseas. Please contact the Admissions Tutor for more information.
Description
Software engineering now impacts on a wide range of human activity. For example, the increasing use of robotics in surgery relies on the use of computer vision techniques to understand images of internal organs as well as to control the surgeon’s tools. Other areas include air traffic control systems, cryptographic systems for banking, satellite control for telecommunications, and of course, the internet.
Software engineering is concerned with how to build the very large software systems that are used throughout commerce and industry. Software engineers are the professionals behind this industry. As a software engineer you would lead the development of these very large systems so that they are delivered on time, within budget, and are both reliable and maintainable. Software engineering covers not only the technical aspects of building these software systems, but also management and teamwork skills.
In this degree, you learn all the fundamentals of computer science, with an emphasis on the skills required for successful software engineers. Graduates from the MEng programme are expected to be the future leaders of the IT industry so you must be academically strong. In a typical year, 30% of our MEng students graduate with first-class honours.
First year
The first year is designed so that you can delay your decision about specialisation until the end of that year. It provides a thorough coverage of the fundamentals of computing: mathematics for computer science, algorithms, data structures and grounding in object-oriented programming using Java, which is widely used in industry. You will also have an introduction to the basic themes of large software systems, and work on a team project.
Second year
In the second year you study databases, graphics, and human–computer interfaces. Our approach is to teach these in conjunction with further work on object-orientated programming. This allows you to gain a much deeper understanding of the techniques involved by implementing them yourself. You also take comprehensive courses in software engineering, computer architecture, logic, and the mathematical theory of computation. You learn how to use complex software tools and to work effectively in a team.
You must perform well academically in the first two years to progress to the MEng stream of the degree. At the end of the second year students who will progress to the full MEng enter a separate, specially designed, third-year programme of study.
Third year
In the third year of the MEng you study the principles of advanced databases, work on a larger team project and select four options from a choice of around 20. These include: Computer Networks; Imaging and Visualisation; Operating Systems; Virtual Reality; and Intelligent Robotics. BEng students work on their final degree project. Both groups study issues in commercial programming and select options from the wide range available.
Fourth year
In the fourth year of the MEng you study the design of safety-critical systems, such as fly-by-wire systems for aircraft control, and learn how to manage the quality of large software projects. You also spend half your time on your degree project, which is typically based on a large piece of software you have produced.
Teaching and assessment
Our teaching employs a mixture of lectures, tutorials, exercise classes, practical work, projects, and independent study all aimed at strengthening your understanding by active involvement.
Career opportunities
Graduates from this programme find lucrative employment in highly demanding software engineering posts and in specialist roles as systems analysts, network designers, management consultants, or in a wide range of general management positions.
Course Modules
Please note that actual course modules may vary from year to year, however, the following are typical course modules:
Compulsory Modules
- Foundations of Computer Science
- Information & the Web
- Introduction to AI
- Introduction to Software Engineering
- Language & Logic
- Robot Programming
- Software Workshop 1
- Professional Computing
- Computer Systems & Architecture
- Mathematical Techniques for Computer Science
- Models of Computation
- Software Engineering
- Software System Components A
- Software System Components B
- Software Workshop Team Java
- Commercial Programming
- Software Design Study
- Software Project
- Software Project M60
Optional Modules
- Introduction to Mathematics for Computer Science
- Functional Programming
- Logic Programming
- Automatic Verification
- Compilers & Languages
- Databases 2
- Formal Methods
- Graphics 2
- Human Computer Interaction
- Individual Study 1
- Intelligent Data Analysis
- Intelligent Robotics
- Natural Language Processing & Applications
- Networks and Distributed Systems
- Operating Systems with C/C++
- Parallel Programming
- Philosophy of Cognitive Science
- Planning
- Principles of Programming Languages
- Virtual Reality
- Compilers & Languages (Extended)
- Component-based Software
- Computational Modelling with MATLAB
- Computer Security
- Cryptography
- Individual Study 2
- Intelligent Data Analysis (Extended)
- Intelligent Robotics (Extended)
- Introduction to Evolutionary Computation
- Introduction to Neural Computation
- Machine Learning (Extended)
- Nature Inspired Design
- Networks and Distributed Systems (Extended)
- Network Security
- Operating Systems with C/C++ (Extended)
- Parallel Programming (Extended)
- Planning (Extended)
- Secure Programming
- Software Testing
- Modules Outside the Main Discipline