BSc (Hons) Computer Science (Software Engineering) with Optional Sandwich Placement/ Study Abroad

Available to non EU students

About the course

1/

This course adds a specialism in Software Engineering to a broad base in Computer Science. AI is a discipline in which computers, software and machines are designed and developed to display intelligent characteristics. 

What you will learn

The engineering of intelligent systems relies on core skills such as programming and the application of modelling methods. You will study the analysis, design and construction of knowledge-based and expert systems, Artificial Life and robotics, as well as systems based around the use of neural networks. This course draws on the expertise of the School’s internationally acclaimed AI research staff.  In your first two years you will concentrate on building a broad integrated foundation, with your specialism in AI building on this foundation.

First year:  You will learn 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 one-year paid work placement, or you can study abroad at one of our partner universities worldwide.

Final year (3rd or 4th):  You will study computer security and project planning, specialist modules in object-oriented development and software engineering practice, plus two options. Finally you will undertake an individual project in your chosen specialism, typically an extensive piece of practical work.

As well as academic skills and significant experience of the key areas of computer science and IT, you will also gain those skills needed for employment. These include team work, creativity, communications, business awareness, and professionalism. You will acquire these throughout the course plus there is a core module on in the second year covering the legal, social and ethical knowledge necessary to become an IT professional.

Why choose this course?

  • Choose this course with an emphasis on Software Engineering building on a base of mainstream Computer Science, 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.

104 UCAS points. 

IB - 104 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 at the University of Hertfordshire or other universities. 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.

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 in a paid job relevant to your degree 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.

Recent placement students have worked at large organisations such as

  • Apple
  • BT
  • IBM
  • Intel
  • GSK
  • Microsoft, and
  • Xerox.
  • Others have worked for smaller organisations, perhaps 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

  • Project Planning

    Credits: 15

    This module provides preparation for the BSc Project. The module covers: Defining and gauging the suitability of a personal project to address a complex problem; Setting individual targets and goals relevant to the undertaking of the project; Determining ethical, professional and social considerations related to project design, implementation and delivery; Developing self-evaluation skills to support self-analysis of learning, skill acquisition and performance; Understanding particular models and methods used to initiate, plan, report on and manage complex technical projects.

  • 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.

  • Object Oriented Development

    Credits: 15

    This module develops understanding of object-oriented technology in the analysis and design of software systems. Real-world problems are analysed and modelled in an object-oriented way, experience is gained in translating such models into executable systems. The module explores design concepts such as abstraction, encapsulation, and inheritance. The module considers how these design concepts can improve software quality, and how typical implementations of these concepts can be captured and reused by using design patterns. Students will gain practical experience of a range of modelling techniques, and have the opportunity to use a variety of industry-standard tools for system development.

  • 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.

  • Software Engineering Project

    Credits: 30

    This module is almost exclusively self-directed study. The actual academic content is defined by the topic chosen by the student. This module leads on from the Project Planning module. The Project Planning module will have developed many of the skills needed to undertake the BSc Project, including preparatory sessions on identifying a suitable project idea. The Project module provides an individually designed programme of study based around the principles of the chosen degree title. This programme of study should reflect a solution to a problem of the student’s devising.

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.

  • Artificial Life

    Credits: 15

    Artificial Life is the study of the modelling and synthesis of living and life-like systems, especially with regard to the computation they implicitly perform in interaction with their environment. It comprises one of the major directions of Artificial Intelligence of the last few decades, and its techniques are widely applied in areas as divergent as animation in movies and computer games, economics, machine learning, physics and engineering (robotics, space sciences) and systems biology. The importance of embodiment in the understanding of natural intelligence has led researchers in robotics, Artificial Life, and Artificial Intelligence to focus on Embodied Cognition, in which the role of the external environment and the way agents are build are at least as important as any algorithm. This module provides valuable and solid foundations in the increasingly important and applicable paradigms and techniques of Artificial Life and Embodied Cognition, supported by essential lectures and experimentation with self implemented simulations.

  • 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.

  • Embedded Systems Development

    Credits: 15

    This module lays out the knowledge for designing embedded systems. The fundamental characteristics of embedded systems are that available resources are limited and/or that the computer control system interacts with a control environment. The characteristics of the control environment may impose specific requirements to the computer control system, for example, dependability properties or real-time guarantees of the control signal. This course will teach theoretical foundations and established practices for the design and evaluation of embedded systems, including dependable and real-time computing. Practical exercises to model and develop and embedded systems will strengthen the understanding of the taught concepts.

  • 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.

  • Programming Paradigms

    Credits: 15

    Computers are instructed to carry out tasks using a programming language. The language can be critical to that program's success: the choice of language for a web application is not the same as that for a device driver. Many hundreds of programming languages exist today, with more invented every year, and popular languages evolve over time. This module makes sense of the diversity of languages and their evolution by examining the different types of programming language, called “paradigms”, exploring examples from procedural, functional, object-oriented, logic and concurrent programming. The module covers a variety of popular and historical languages.

  • 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.

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

Discounts are available for International students if payment is made in full at registration

*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)