MEng (Hons) Computer Science with Optional Sandwich Placement/ Study Abroad

About the course

1/

This Master’s Programme allows you to study Computer Science at an advanced level, specialising in applying knowledge to real-world situations.

What you will learn

You will focus on software development, project management and team working.  There is a greater focus on applying knowledge to real-world situations.  You will complete an individual MEng project and study taught optional modules from both the BSc and the Master’s programmes.

First Year:  You will learn the foundations of the subject including topics such as an overview of the field, programming, modelling, and computing platforms.

Second Year:  You will deepen your understanding and develop more advanced skills.  There are technical modules on software development, programming, databases, operating systems and networks, plus two options.

Third Year:  You have the option of taking a year’s paid work placement.

Fourth Year:  You will be offered core modules on project planning, computer security, the user experience and concurrency, plus two options.  In addition you will undertake a team project, possibly in conjunction with a local business.

Final Year (4th or 5th):  You will study four taught options plus an extensive 60 credit individual project, typically a major piece of practical work.  In this final year, the project and at least two of the options are at Masters level.

Why choose this course?

  • Choose this course with its challenging Masters-level content and an emphasis on mainstream computer science and software development, or change to one of the others in our flexible programme.
  • Be taught by highly qualified staff, most with a PhD or other advanced degree plus research, teaching, or professional experience. 
  • Be part of a highly regarded well established computer science department with excellent facilities, a strong research background, and links to business and industry.
  • Prepare yourself for a career in the IT sector through a mix of academic, professional and practical study, with opportunities for industry certifications and a paid placement year.
  • Benefit from an NSS (National Student Survey) overall satisfaction score of 89% for the School.

Entry requirements...

2017 entry 

UCAS have introduced a new tariff for 2017 entry so the points being asked for are substantially different to previous years.

120 UCAS points. 

IB - 120 points from a minimum of 2 HL subjects at H4 or above.

GCSE Maths and English Language at Grade 4 or above (Grade C or above under the old grading structure).

Careers

Our graduates have become software developers, programmers, web developers, business analysts, database administrators, project managers and IT consultants, or have studied for postgraduate degrees. There are careers across many employment sectors, including the IT industry, business, education and government.

Recent employers have included Blackberry, GSK, HP, IBM, John Lewis, and T-Mobile. Other graduates have continued with postgraduate studies (typically an MSc or PhD) at Hertfordshire or at other universities.

This particular degree title is at a more advanced level and hence is preparation for a wide variety of demanding careers in many areas of computing or software development, in technical work and/or management.

More about the course

This particular course is an enhanced and extended first degree that takes a year longer than our standard BSc and contains modules from our Masters programme.

It is broad-based and flexible, with an emphasis on mainstream computer science and software development, thus keeping your career options open. It draws on the School’s breadth of expertise and its extensive experience of computer science education at both undergraduate and postgraduate levels.

In the First and Second Years you will study the same modules as the BSc programme to give you a broad base of knowledge.

In the Third Year there is an option to undertake a paid work placement or study abroad at one of our worldwide partner

universities.

If you do not take a year out, the Third Year mirrors the BSc programme; however, instead of an individual project you will work on a team project with fellow MEng students,

giving you opportunities to develop project management and team working skills.

In the Final Year there is more focus on applying knowledge to real-world situations, and you will complete an individual Master’s level project.

The course is for anyone with an interest in academic computer science, in particular software development, and how it can be applied to benefit individuals and organisations. As it is more demanding than the BSc, the entry requirements are higher and you need to maintain at least a 2:1 equivalent standard throughout. It is not necessary to have A-level or equivalent in Maths, Computer Science or ICT.

The programme as a whole is very flexible. The MEng in Computer Science course gives you the opportunity for an optional work placement in the third year, a number of options in later years, and the chance to switch to the BSc in Computer Science should you wish to complete the course sooner.  Equally, it is possible to switch to the MEng from the BSc in Computer Science during the first two years of the course.  However, you do not need to decide until you have started your course and can make an informed choice based on experience.

Teaching methods

Computer Science is both an academic and a practical subject so you will be taught in different ways such as lectures, smaller group tutorials, supervised practicals (labs) and self-study including experiential learning. Assessment is by a mix of in-class tests, exams, and coursework.

The School has well equipped laboratory facilities, with PCs running Windows 7 and/or Linux and a whole range of industry-standard and educational software from Microsoft, Oracle, Adobe, and others. There are specialist labs for networking, multimedia, devices, robotics, and projects.

In addition to scheduled classes, about 16 hours per week in Year 1, you will be expected to spend the same amount of time in self-study taking advantage of the University's extensive and up-to-date facilities.    These include the Learning Resource Centres (LRCs), open 24x7, with over 1,200 computer workstations and wifi access, Studynet our versatile online study environment accessible on and off campus, and open access to our labs.

Most of our students own their own PC or Mac, but this is not essential since you can use the university facilities instead or as well.

Work Placement

You have the opportunity to undertake a professional placement for your third year. We encourage you to take advantage since on average placement students have a greater chance of finding good employment after graduation and achieve higher grades in their final year.

Work placements are spent in a paid job relevant to your degree. You apply in the second year, with support from the University using our extensive contacts with employers.  Recent placement students have worked at large organisations such as:

  • Apple
  • BT
  • IBM
  • Intel
  • GSK
  • Microsoft
  • Xerox.
  • Numerous smaller organisations, some family-run or near home.

Study abroad

This course offers you the opportunity to study abroad in the Sandwich Year through the University's study abroad programme. Study abroad opportunities are available worldwide and in Europe under the Erasmus+ Programme.

Find out more about Study abroad opportunities

Structure

Level 4

Core Modules

  • Human Dimensions of Computing

    Credits: 30

    This module introduces the history and major accomplishments of computer science and information technology, and its impact on modern life. Technology is only one part of computer science and information technology, and the human and social dimension of computing, including user experience and interaction design, is just as important and relevant to the professional practitioner.

  • Programming

    Credits: 30

    This module is primarily concerned with developing basic skills necessary to produce computer-based solutions to simple problems in high level languages. The emphasis is on problem solving, problem solving strategies; fundamental constructs such as structure, syntax and semantics; variables and data types, operations and the evaluation of expressions, control structures, and modularisation, data structures and recursion. Program code will be expected to perform according to specification, be readable, maintainable and well designed. Although the given problems will initially be relatively simple, there will also be an appreciation of how simple solutions can be used in the solution of more complex problems.

  • Models and Methods in Computing

    Credits: 30

    This module introduces a number of principles that underlie computation and computer-based systems, and how they may be modelled. Both the static and dynamic aspects of computing systems are considered, with computation being viewed both in functional terms, and as a series of state transitions defined over abstract or virtual machines. The module provides a clear concept of modelling and specification of computational systems. The module illustrates some of the ways in which the use of formalisms in modelling and specification can aid those involved in the design, development and operation of computer-based systems.

  • Platforms for Computing

    Credits: 30

    This module introduces the notion of the “computing platform” in the organisation and function of modern computing systems. The computer and network hardware are platforms that support the operating system; The operating system is a platform that supports the application software and programming environment; The programming environment is a platform that supports the development of application software; The application software is a platform that supports the user experience. The organisation and combination of these platforms is illustrated by a historical succession of examples, culminating in the smartphone, the modern mobile computing device. The module also considers the nature of data used by computing platforms, the form that data might take, manipulation and communication of that data, and constraints placed on that data by the choice of platform.

Optional

Level 5

Core Modules

  • Contemporary Issues

    Credits: 15

    This module introduces the legal, ethical, social and professional landscape in which computing professionals must work. The module promotes a professional approach on issues such as Green Information Technology, Cybercrime, Hacking, Internet privacy, the Internet and ethical values and security measures in Cyberspace. Legal aspects of the module are based mainly on English law, and include privacy (data protection), intellectual property, the Computer Misuse Act and the Regulation of Investigatory Powers Act which deals with the lawful interception of digital communications. The module also covers the codes of conduct of the relevant professional bodies and the support they can provide to computing professions with particular reference to the British Computer Society code of conduct.

  • Database Concepts

    Credits: 15

    Many computer based applications, from enterprise to banks to airlines, e-commerce, or when looking at text and photos on a social media site, are underpinned by complex database systems. This module introduces the different kinds of database, from databases stored entirely in memory or in a file on the computer's disc drive, to large-scale distributed databases stored in the cloud. The module covers how data are organised for storage, and how to retrieve, update or delete earlier information. Manipulating databases often requires the use of a query language. A portion of this module will be spent learning and using a commonly used query language, to create and use databases. Advanced topics such as big data, concurrent access, data mining, data warehousing and/or non-relational databases will also be introduced.

  • Computer Science Development Exercise

    Credits: 30

    This module provides the knowledge and skills needed for developing a software system within a realistic case study. Developing software in small teams is not just a matter of understanding the basics of software engineering and project management, but implies the challenge of identifying, comprehending and critically handling a number of advanced methodologies, concepts, techniques and technologies, with professional practices and attitudes. In order to meet the highest quality standard as expected nowadays in the IT industry, the module covers: An experience of working in a team on a complete systems development project; Knowledge and skills in software engineering techniques; An appreciation of the relevance of the academic content to the real-world IT workplace; The background and attitude for seeking professional employment in the IT industry, especially in software development.

  • Algorithms and Data Structures

    Credits: 15

    This module focuses on the pre-coding stage of the programming process, studying and developing algorithms and data structures appropriate for a range of different types of problem. The module emphasises throughout the role of problems as an essential driver in the programming process and the design of algorithms and data structures in particular.

  • Operating Systems and Networks

    Credits: 15

    This module covers both theory and significant practical content in the design, installation and configuration of operating systems and network services. The module helps to develop problem-solving skills in working with operating systems and networks, and builds confidence in using command line tools and configuration files in other areas of computer science and information technology.

Optional

  • Artificial Intelligence

    Credits: 15

    This module covers contemporary Artificial Intelligence and agent based modelling. The standard AI topics of problem solving, learning and representation are included, together with typical applications of these techniques. Producing working AI programs is integral to the module.

  • Computer Architecture

    Credits: 15

    This module develops the fundamental concepts underlying the design and operation of modern computing systems and the hardware/software interface. Modern computer system design is hierarchical and this module focuses on this hierarchy and the issues and implementation involved in the separation of the different hierarchical levels. Ever increasing performance demands over recent years have lead to the enhancement of multiprocessor systems, thread level parallelism and clustered architectures resulting in parallelism far beyond that of a uniprocessor. This module investigates the trade-offs involved in the design of such systems and their immediate memory sub-systems, in particular, to reduce the impact of the 'memory wall problem’. This module focuses on general engineering concepts rather than specific implementations.

  • Cognitive and Social Robotics

    Credits: 15

    This module introduces the theory and implementation of autonomous cognitive and social robots capable of interacting physically and socially with the world. Small autonomous robots are capable of sensing, knowing, learning and doing things in the world through their interactions with objects, other robots, and people. Understanding cognitive and social robots is important not only because they are increasingly present in our society, but also because they constitute very promising scientific models and tools to understand biological and artificial intelligence, as well as offering potential as tools to support and help people in daily activities.

  • The C Family

    Credits: 15

    The module introduces the C family of programming languages: C, C++, Objective-C, and C#. The module demonstrates the benefits and problems of low-level access to memory. The module shows how the process of compilation allows programs to be validated before they are run preventing variables of different types being passed to functions that cannot process them. The module develops programming skills with a strong emphasis on the relationship between memory, memory addresses and pointers.

Level 6

Core Modules

  • User Experience

    Credits: 15

    This module explores the body of knowledge underpinning the topic of User Experience (UX), and how UX approaches can be applied to the design and evaluation of user interfaces.

  • Computer Systems Security

    Credits: 15

    This module provides a description of computer security techniques and mechanisms and the underlying design trade-offs. It introduces the principles of computer systems risk, vulnerabilities and threat analysis. The module covers cryptographic tools, access controls and techniques. The techniques associated with adopting secure systems design and development and security testing will be covered. Using event monitoring and firewalls ensures the effectiveness of operating systems security and hardware operations. The module discusses a range of different issues related to software systems, malicious software and malware operations that are important aspects of software security.

  • Concurrency

    Credits: 15

    This module covers the issues and terminology in communicating sequential processes. The module provides insight into the advantages and risks inherent in such systems, and an appreciation of the need for disciplined access to data. The module provides an understanding of the desirable properties of concurrent systems, such as safety and liveness, and some of the techniques, either within a programming language or the operating system, for ensuring these properties. The module applies these principles and practices to particular cases.

  • Strategic IT Management

    Credits: 15

    This module explores the issues around developing a strategic approach to planning and managing the information, systems and technology (IS/IT) of an organisation to enable it to function smoothly and seek a competitive advantage. It considers the current thinking surrounding the development and implementation of corporate strategies for the use of IS/IT, and their relationship to the strategic frameworks of organisations. The module introduces the ways in which strategic decisions are made, providing techniques and frameworks to help formulate information strategies and issues surrounding the implementation of an IS/IT strategy. Introducing and managing the IT strategy inevitably leads to change in terms of systems and technology, therefore the need to manage change in organisations is discussed and the investigation of conditions, factors, and tools that can help ensure successful change are critically analysed.

  • Enterprise Systems

    Credits: 15

    This module explores different perspectives on the design, management and integration of software systems that support business processes across complex organisations. The first perspective examines the integration and inter-operation of different applications within the same enterprise. The focus is on appropriate approaches and methods for bridging the gap between IT strategy, which aligns business goals and system requirements, and the design and management of individual IT services. This could include, but is not limited to, approaches based on ITIL and/or SOA. The second perspective examines the scalability of systems that provide specific functionality across the whole of an enterprise. This is done by breaking down an application into different tiers and looking at the issues, potential problems and design solutions to enable the delivery of high performance systems. This focus on individual systems is a natural extension to study of design patterns for web applications.

Optional

  • Professional Work Placement in Computer Science

    Credits: 0

    Supervised work experience provides students with the opportunity to set their academic studies in a broader context, to gain practical experience in specific technical areas and to strengthen their communication and time-management skills. It greatly assists them in developing as independent learners, so that they will be able to gain maximum benefit from the learning opportunities afforded by their future study programme. It gives them opportunities, according to the nature of the placement experience, to acquire the basis of technical expertise in specialist areas, which they may be able to enhance through study after completion of the placement, especially in the final project.

  • AI Robotics and Applications

    Credits: 15

    This module applies problem based learning in AI principles for solving modern day robotics problems. The course includes a series of application areas in which AI plays or has the potential to play a significant role. A series of case studies provides an opportunity for comparative analysis, while practical robotic implementation tasks allow for implementing robot learning and decision making. The module provides opportunities to develop knowledge of the principles of artificial intelligence and robotics, and to gain practical experience of the design, programming and behaviour of intelligent systems and robots.

  • Software Engineering Practice

    Credits: 15

    This module gives the opportunity to extend understanding and experience of software engineering practice. It offers exposure to the development and evolution of software. The module is very practical and is based around a substantial piece of software. The aim of the module is to enable the development of software engineering knowledge and skills that are transferable to software companies. Leading edge practices are introduced such as using program slicing to find code faults. Specialised software development approaches are investigated such as those required for application areas such as safety critical systems.

  • Cyber Security

    Credits: 15

    This module introduces the concepts and principles of cyber security including its theoretical and practical aspects. It covers the relevant mathematical techniques associated with cryptographic algorithms and applications such as user authentication and authentication protocols. This module focuses on how security services that are provided by underlying network infrastructure can be used to develop various secure systems. These systems are used to protect information communication, computer networks and cloud resources from unauthorised access and malicious activities. In this module, various examples of secure systems such as secure email, secure web and secure protocols will be presented. Security violations and threats such as Distributed Denial of Service (DDoS), identity theft, information leaks, network eavesdropping, email spams are major issues in cyber security. Issues related to forensics, wireless security and cloud security are also discussed in this module.

  • Software Quality

    Credits: 15

    This module provides both a theoretical and practical introduction to quality both in terms of the software development process and the products of that process. It also investigates how quality can be defined and measured, and by analysing actual program code to determine its quality according to pre-determined quality metrics.

  • Machine Learning and Neural Computing

    Credits: 15

    This module uses contemporary machine learning and neural network techniques to aid in the understanding and analysis of real world data and neural systems. Topics include supervised and unsupervised learning, data visualisation, and error-correction-based learning.

  • Quantum Computing

    Credits: 15

    Quantum information processing is an active research area that exploits fundamental quantum phenomena in new applications from computation, secure data communication and information processing. A major paradigm shift, the area is of significant interest and potential benefit to both computer scientists, mathematicians and physical scientists. This is theoretical in nature, exploring concepts and applications from the area of quantum information processing with an emphasis on quantum computing. Content will take into account current or predominant research directions.

  • Mobile Computing

    Credits: 15

    This module examines mobile development and the issues around programming for a mobile device, understood here as a phone, tablet, or wearable computational hardware. In terms of programming this means dealing with: Novel forms of input: accelerometry or GPS reading; Understanding gesture: swiping, pinching, long-press; Context awareness: battery level, light level, nearby sensors or devices; Mobile usability: developing for small screens with restricted space; Connectedness: interfacing with web services; Publishing apps on dedicated app stores. In terms of the conceptual issues it means looking at: The tradition of research in ubiquitous computing from Mark Weiser onwards; Issues of peripheral attention and so-called “calm technology”; Issues of privacy and security; Uses to which mobile applications have been used in areas such as Healthcare; Future directions (such as that represented by Google Glasses).

  • Year Abroad

    Credits: 0

    Learning and teaching methods may include taught courses, a research programme, or a mixture of these. components. The Year Abroad will be for TWO academic semesters or their equivalent. The student will follow a programme negotiated by the Study Abroad team or nominee, School Study Abroad Tutor and an equivalent representative of the host institution. Prior to the commencement of the Year Abroad, the student, the appropriate officers from UH and from the host institution will agree a learning contract and mode of attendance. In institutions where the language of instruction is not English, then the learning contract will take into account the students ability in the language of instruction of the host institution. The student will be required to provide evidence of appropriate attainment and ability in the language of instruction of the chosen institution when the language of instruction is not English.

  • Study Abroad

    Credits: 0

    Learning and teaching methods may include taught courses, a research programme, or a mixture of these components. The Study Abroad duration will be for ONE academic semester or its equivalent. The student will follow a programme negotiated by the Study Abroad team or nominee, School Study Abroad Tutor and an equivalent representative of the host institution. Prior to the commencement of the Study Abroad period, the student, the appropriate officers from UH and from the host institution will agree a learning contract and mode of attendance. In institutions where the language of instruction is not English, then the learning contract will take into account the students ability in the language of instruction of the host institution. The student will be required to provide evidence of appropriate attainment and ability in the language of instruction of the chosen institution when the language of instruction is not English.

Level 7

Core Modules

  • Measures and Models for Software Engineering

    Credits: 30

    In this module advanced issues of software engineering theory and practice are examined. The range of software engineering products and processes making up a software project are measured and modelled. Typical software engineering products explored in the module may include: user requirements, design documents, code etc. Typical software engineering processes explored in the module may include: testing, debugging etc. The aim of the module is to use the modelling and measuring of such products and processes to allow quantified decision-making during software development. The module offers students the opportunity to explore both the state-of-the-art and the-state-of-the-practice in software engineering. The module will examine the most up to date research findings about software engineering as well as investigate the current practices of many software engineering companies. A more detailed description of the module content is provided in the module delivery information for students.

  • Advanced Computer Science Masters Project

    Credits: 60

    The project is a showpiece opportunity for students to demonstrate what they know about current research and practices in computer science and show off their skills in applying their skills in a range of computer science topics in order to conduct a practical investigation of a particular computer science problem. The project is a self-directed piece of work, conducted with minimum supervision that demonstrates the student’s ability to plan and manage a substantial piece of work, and steer their own efforts. Students are expected to be thorough in their work, and, particularly, identify and tackle any difficult or challenging aspects of the problems they are trying to solve. It is not just the quantity, or even the quality of work that is considered when grading the project, but the level of difficulty and the scope of the problem being addressed.

  • MEng Project Planning

    Credits: 15

    The module prepares students for the MEng Team Project, specifically preparing students: to define and manage a team project to address a complex, multi domain problem; to work together as a team on such a project and to manage members of that team as they work on that project. The module combines different approaches to learning, including: activities that encourage direct experience of the challenges of defining a project, working as a team, and working on complex problems; examples from industry of how complex multi domain problems are managed; and exercises and activities relating to particular models and methods used to initiate, plan, report and manage complex technical projects.

  • MEng Team Project

    Credits: 30

    The module involves working actively as part of a team of fellow students on a complex, multi-domain computing problem. Typically, the team will be expected to work on a project that had already been defined during the Level 7 MEng Project Planning module. Each team would be expected to manage the project, to report regularly to their supervisor(s) on the progress of the project, and to collectively deliver a set of appropriate outputs from the project. The output(s) of the team project will typically be a computing product or system together with appropriate documentation etc. Alternatively the team may carry out a thorough empirical investigation of a specified topic and report the results. Where it is feasible to do so, the project can be undertaken in conjunction with a company, or client, external to the University. In such situations, the company may contribute to the supervisory team.

Optional

Fees & funding

The government has yet to announce the upper limit of Tuition Fees for applicants wishing to study an undergraduate course in 2018/19. As soon as this information becomes available, our website will be updated and we will contact everyone who has applied to the University to advise them of their Tuition Fee.

Fees 2017

UK/EU Students

Full time: £9,250 for the 2017 academic year

International Students

Full time: £11,850 for the 2017 academic year

Fees 2018

UK/EU Students

Full time: £9,250 for the 2018 academic year

International Students

Full time: £11,950 for the 2018 academic year

*Tuition fees are charged annually. The fees quoted above are for the specified year(s) only. Fees may be higher in future years, for both new and continuing students. Please see the University’s Fees and Finance Policy (and in particular the section headed “When tuition fees change”), for further information about when and by how much the University may increase its fees for future years.

View detailed information about tuition fees

Other financial support

Find out more about other financial support available to UK and EU students

Living costs / accommodation

The University of Hertfordshire offers a great choice of student accommodation, on campus or nearby in the local area, to suit every student budget.

View detailed information about our accommodation

How to apply

2017

Start DateEnd DateLink
26/09/201726/05/2018Apply online (Full Time)
25/09/201722/05/2018Apply online (Full Time/Sandwich)
25/09/201720/05/2018Apply online (Full Time/Sandwich)

2018

Start DateEnd DateLink
26/09/201826/05/2019Apply online (Full Time)
25/09/201822/05/2019Apply online (Full Time/Sandwich)
25/09/201820/05/2019Apply online (Full Time/Sandwich)

2019

Start DateEnd DateLink
26/09/201926/05/2020Apply online (Full Time)
25/09/201922/05/2020Apply online (Full Time/Sandwich)
25/09/201920/05/2020Apply online (Full Time/Sandwich)