Computer Science MSc
About the course
One of a range of degrees from the taught Masters Programme at the School of Computer Science our course is especially designed for graduates of numerate subjects other than computer science. It is mostly taught separately from the other courses. It intensively covers a broad range of the key principles and techniques of computer science.
There is an emphasis on software development, in particular when applied to solving problems in other disciplines. Depending on the modules chosen, it can lead to a career in areas such as systems development, IT management, or the deployment of advanced applications in specific disciplines.
This course is part of our Masters Programme in Computer Science. For more information about the different course titles, visit our Programme Summary page. Here you can also download the Programme Prospectus as a pdf file.
Course Structure:
The course lasts for 12 months over three semesters for the September start or 16 months for the January start, with a break during the summer period: May to September. This break can be used for further study, work experience or a holiday.
On the 1st route, i.e. if your bachelor's degree is not in Computer Science, typically you will study four taught 15-credit foundation modules in the first semester, two or more advanced specialist modules to make a total of 60 credits in the second, and will undertake a 60 credit project in the third.
On the 2nd route, i.e. if your bachelor's degree is in Computer Science, you will study four or more taught, advanced specialist modules in the first two semesters to make a total of 120 credits, and will undertake a 60 credit project in the third. Alternatively you can elect to replace up to 30 credits worth with masters modules taught by the University's Business School.
Visit our Module Descriptions page for further details.
Core Modules:
for recent graduates in Computer Science (2nd route):
- none (you can choose from all the modules available)
Foundation Modules:
for other graduates (1st route):
- Introduction to Programming (15 credits)
- Object-oriented Programming (15 credits)
- Software Development Tools and Methods (15 credits)
- Professional Issues (recommended) (15 credits)
Project:
In the third semester, you complete a project in your chosen specialism under the guidance of an experienced individual supervisor. Supporting tuition for the project includes the general principles of research methods.
Through the project you will demonstrate your understanding of the principles and concepts you have learned in the taught modules and your ability to apply them to a substantial piece of development or investigative work.
Why choose this course?
- A flexible course, part of our postgraduate master's programme in Computer Science, with two different routes.
- Our course is especially designed for graduates of numerate subjects other than computer science.
- Taught by a highly-regarded and long-established computer science department with strong links to business.
- Over half the research outputs in Computer Science at UH have been rated as world-leading or internationally excellent in the Research Assessment Exercise (RAE) 2008.
Entry requirements...
1st route: a good bachelors degree (e.g. honours degree from the UK) or equivalent in any subject (except Computer Science).
2nd route: a recent, good bachelors degree (e.g. honours degree from the UK) or equivalent in Computer Science or closely-related subject.
Plus IELTS 6.0, TOEFL 550 (213 CBT) if your first language is not English.
Applicants who do not wholly meet these requirements, but who are considered to have the professional experience, motivation or potential to succeed at the programme, may also be accepted.
Study routes
- Part Time, 3 Years
- Full Time, 15 Months
Locations
- University of Hertfordshire, Hatfield
Careers
Our masters programme is designed to give graduates the up-to-date skills and knowledge sought after by employers, whether in business, industry, government or research.
This particular course will prepare you for a career in many areas including research, IT or software development. If your first degree was not in computer science, it could enable you to apply advanced computing techniques to your original discipline or to change career direction into the IT industry.
Teaching methods
Classes consist of lectures, small group seminars, and practical work in our well-equipped laboratories. We use modern, industry-standard software wherever possible. There are specialist facilities for networking and multimedia and a project laboratory.
In addition to scheduled classes, you will be expected a significant amount of time in self-study, taking advantage of the extensive and up-to-date facilities. These include the Learning Resource Centres, open 24x7, with 1,500 computer workstations and wifi access, Studynet our versatile online study environment usable on and off campus, and open access to our labs.
Professional Accreditations
British Computer Society (BCS) accreditation applied for
Structure
Year 1
Core Modules
-
Computer Architectures
The module develops the fundamental concepts underlying the design and operation of modern computing systems: number systems, digital logic, and data representation. It then presents the concepts and ideas behind the construction of the main components: the processor, memory, and I/O sub-systems. This includes a discussion of the prevalent programming paradigm, low-level programming languages, and an exploration of memory organisation, data movement, and I/O requirements and implementation. Increasing performance demands over recent years has lead to the enhancement of multiprocessor systems and the introduction of thread level parallelism resulting in parallelism far beyond that of a uniprocessor. Thus, the discussion of these concepts also sets the scene for an examination of more complex topics such as performance improvement through parallelism and pipelining in the light of the so-called "memory wall problem". Throughout the module, the focus is on general concepts rather than specific implementations, and the material is approached from the point of view of a programmer, rather than that of an engineer.
-
Computer Science Masters Project
The project is a showpiece opportunity for students to apply their knowledge and skills to the design and development of a computerised solution to a particular problem within the domain of computer science or applying computer science techniques to solve problems from outside the domain of computer science, and in doing so demonstrating what they know about current practices in computer science. 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.
-
Operating Systems and Networks
This module explores the main functionalities of a modern operating system, and how these functions may be implemented. It provides detail of complex networking principles with examples drawn mainly from the TCP/IP protocols of the Internet, aiming to identify important problems, concepts and algorithms that might be applicable to any type of network. This module is designed for postgraduate students. It relies upon the students bringing effective study skills and a mature attitude to their studies. A more detailed description of the module content is provided in the module delivery information for students.
-
Professional Issues
This module covers the relationship between technological change, society and the law, emphasising the powerful role that computers and computer professionals play in a technological society. It also covers the professional codes and UK laws which are relevant to the disciplines of computer science and information systems, and provides students with an understanding of important ethical concepts and dilemmas of relevance to computer professionals.
-
Programming and Program Design
This module introduces the key facilities found in procedural and object-oriented programming languages. It develops the skills needed to use such languages to build and verify high quality programs to solve clearly-specified and complex problems. It assumes no previous programming experience and uses a practical approach and up-to-date tools to explore the principles underlying modern approaches to program development. A more detailed description of the module content is provided in the module delivery information for students.
-
Software Development Exercise
This module provides students with an opportunity to work in teams in order to put a selected software development methodology into practice through the development of a software application. A more detailed description of the module content is provided in the Module Guide.
-
Systems Modelling
This module exposes students to a range of both industry standard and best current practice techniques and notations, which prove helpful in the requirements capture, analysis, and early design phases of a project. It enhances students’ awareness of the need for proper software engineering practices and their ability to compare, assess and critically review techniques in order that they may sensibly select appropriate advanced strategies for problem solution. This module is designed for postgraduate students. It relies on the students bringing effective study skills and a mature attitude to their studies. A more detailed description of the module content is provided in the module delivery information for students.
Optional
-
Computer Architectures
The module develops the fundamental concepts underlying the design and operation of modern computing systems: number systems, digital logic, and data representation. It then presents the concepts and ideas behind the construction of the main components: the processor, memory, and I/O sub-systems. This includes a discussion of the prevalent programming paradigm, low-level programming languages, and an exploration of memory organisation, data movement, and I/O requirements and implementation. Increasing performance demands over recent years has lead to the enhancement of multiprocessor systems and the introduction of thread level parallelism resulting in parallelism far beyond that of a uniprocessor. Thus, the discussion of these concepts also sets the scene for an examination of more complex topics such as performance improvement through parallelism and pipelining in the light of the so-called "memory wall problem". Throughout the module, the focus is on general concepts rather than specific implementations, and the material is approached from the point of view of a programmer, rather than that of an engineer.
-
Computer Science MSc Project
The ability to bring together a variety of skills, experience and knowledge derived from different sources is necessary for the award of a Master's level qualification. The main purpose of the Master's project is to allow students to extend the principles and concepts they have learnt during study of advanced modules, and apply their knowledge in the context of a substantial piece of independent development or investigative work. The project is an individual piece of work, assessed against the objectives which are set out in the project plan. Factors considered include the following: Competence in independent work, evidence of literature review, evidence of originality of investigation or testing of ideas at an appropriate post-graduate level, breadth of knowledge, understanding of techniques used and worthiness for publication. A more detailed description of the module content is provided in the module delivery information for students.
-
Computer Science Masters Project
The project is a showpiece opportunity for students to apply their knowledge and skills to the design and development of a computerised solution to a particular problem within the domain of computer science or applying computer science techniques to solve problems from outside the domain of computer science, and in doing so demonstrating what they know about current practices in computer science. 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.
-
Data Mining
Data Mining deals with the discovery of hidden knowledge, unexpected patterns and new rules from large databases. It is currently regarded as the key element of a much more elaborate process called Knowledge Discovery in Databases (KDD), which is closely linked to another important development - data warehousing. The combination of data warehousing, decision support, and data mining indicates an innovative and totally new approach to information management. Until now, information systems have been built and operated mainly to support the operational processes of an organisation. KDD views the information in an organisation in an entirely new way - as a strategic source of opportunity (Adriaans 1996).
-
Human Computer Interaction: Principles and Practice
This module explores the concepts, tools, techniques, standards and guidelines that are needed to design and evaluate interactive systems. Students will undertake design and practical evaluation projects, as well as evaluate systems in a variety of contemporary domains. A more detailed description of the module content is provided in the module delivery information for students.
-
Measures and Models for Software Engineering
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.
-
Network System Administration
This module is designed for those with an existing knowledge and understanding of fundamental computer networking concepts, protocols and architectures and aims to extend that knowledge in practice. Students will be able to gain a deeper understanding and appreciation in computer networks and the Internet by having hands-on experience with real networks and will learn how to configure and maintain network systems. A more detailed description of the module content is provided in the module delivery information for students.
-
Operating Systems and Networks
This module explores the main functionalities of a modern operating system, and how these functions may be implemented. It provides detail of complex networking principles with examples drawn mainly from the TCP/IP protocols of the Internet, aiming to identify important problems, concepts and algorithms that might be applicable to any type of network. This module is designed for postgraduate students. It relies upon the students bringing effective study skills and a mature attitude to their studies. A more detailed description of the module content is provided in the module delivery information for students.
-
Professional Issues
This module covers the relationship between technological change, society and the law, emphasising the powerful role that computers and computer professionals play in a technological society. It also covers the professional codes and UK laws which are relevant to the disciplines of computer science and information systems, and provides students with an understanding of important ethical concepts and dilemmas of relevance to computer professionals.
-
Programming and Program Design
This module introduces the key facilities found in procedural and object-oriented programming languages. It develops the skills needed to use such languages to build and verify high quality programs to solve clearly-specified and complex problems. It assumes no previous programming experience and uses a practical approach and up-to-date tools to explore the principles underlying modern approaches to program development. A more detailed description of the module content is provided in the module delivery information for students.
-
Programming for Software Engineers
Software engineering places great emphasis upon the use, and re-use, of components that are tightly specified and thoroughly tested. This approach is supported by the provision of software frameworks within which programs can be developed. A software framework typically provides an Application Programming Interface (API) implemented as a set of libraries, and supported by a set of tools that may be used during development. But where do APIs, ABIs and software libraries come from? How do we decide what components are required? How are they designed and implemented? Who builds them? How do they go about it? How are they tested? How can we be sure that they work? What effect does the design and implementation of APIs and software libraries have upon the performance of systems that employ them? This module attempts to address these and other issues associated with the design, construction and use of software frameworks.
-
Software Development Exercise
This module provides students with an opportunity to work in teams in order to put a selected software development methodology into practice through the development of a software application. A more detailed description of the module content is provided in the Module Guide.
-
Systems Modelling
This module exposes students to a range of both industry standard and best current practice techniques and notations, which prove helpful in the requirements capture, analysis, and early design phases of a project. It enhances students’ awareness of the need for proper software engineering practices and their ability to compare, assess and critically review techniques in order that they may sensibly select appropriate advanced strategies for problem solution. This module is designed for postgraduate students. It relies on the students bringing effective study skills and a mature attitude to their studies. A more detailed description of the module content is provided in the module delivery information for students.
-
Wireless, Mobile and Ad-hoc Networking
How can we cope with users and computers that move from place to place, and yet wish to remain in contact with the net? This module looks at a range of wireless communications technologies, and addresses some of the problems of mobile ad-hoc and wireless networks. It exposes students to some of the most important developments in computer networking. A more detailed description of the module content is provided in the module delivery information for students.
Fees & funding
Fees 2013
UK/EU Students
Full time: £6,700 for the 2013 academic year
International Students
Full time: £11,000 for the 2013 academic year
Discounts are available for International students if payment is made in full at registration
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.
How to apply
2013
| Start Date | End Date | Link |
|---|---|---|
| 01/09/2013 | 31/07/2015 | Apply online (Part Time) |
| 23/09/2013 | 23/05/2014 | Apply online (Part Time) |
| 24/09/2013 | 30/09/2014 | Apply online (Full Time) |
| 20/01/2014 | 16/01/2015 | Apply online (Part Time) |
| 21/01/2014 | 31/07/2015 | Apply online (Full Time) |
2014
| Start Date | End Date | Link |
|---|---|---|
| 01/09/2014 | 31/07/2016 | Apply online (Part Time) |
| 23/09/2014 | 23/05/2015 | Apply online (Part Time) |
| 24/09/2014 | 30/09/2015 | Apply online (Full Time) |
| 20/01/2015 | 16/01/2016 | Apply online (Part Time) |
| 21/01/2015 | 31/07/2016 | Apply online (Full Time) |
Key course information
- Course code: EIMAST
- Course length:
- Part Time, 3 Years
- Full Time, 15 Months