BSc (Hons) Computer Science (Artificial Intelligence) with Optional Sandwich Placement/ Study Abroad
About the course
This Computer Science degree adds a specialism in AI and robotics to a broad base, making your degree stand out.
What you will learn
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 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 in AI and robotics.
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 be offered core modules on computer security and project planning, specialist modules in Constructive AI and Robotics, plus two options, which can also be in other aspects of AI. Finally you will undertake an individual project in your chosen specialism, typically an extensive piece of practical work.
Why choose this course?
- Choose this course with an emphasis on Artificial Intelligence and Robotics 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.
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).
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.
More about the course
This course adds a specialism in Artificial Intelligence (AI) 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. The engineering of intelligent systems relies on core skills such as programming and the application of modelling methods.
The course is for anyone with an interest in academic computer science, in particular artificial intelligence and robotics. 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 Computer Science route gives you the opportunity for an optional work placement or study abroad in the third year, the chance to specialise in later years, and there is an MEng for suitably qualified candidates. Alternatively, you could opt for the Information Technology route, which has a different emphasis. However, you do not need to decide until you have started your course and can make an informed choice based on experience.
We offer a blend of practical and theoretical work. You will learn about the fundamental principles of the subject, which will be illustrated with current real-world technologies and applications wherever possible. To gain your degree, you will have developed a wide range of skills: problem solving, analytical, creative, and professional.
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.
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:
- Numerous smaller organisations, some family-run or near home.
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.
Human Dimensions of Computing
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.
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
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
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.
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.
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
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
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
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.
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.
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
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
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.
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
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.
Constructive Artificial Intelligence
This module covers the essential principles and techniques of constructive Artificial Intelligence (AI), classical and modern, as well as further core topics in Computational Intelligence. These have been selected as identified to be central to the skill-set expected of the modern AI practitioner in industry and research. The module provides an up-to-date working knowledge of constructive AI models and techniques for understanding, selecting and implementing appropriate AI models, methods and algorithms for given scenarios and for developing intelligent systems for the solution of problems.
AI Robotics and Applications
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.
Artificial Intelligence Project
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.
Professional Work Placement in Computer Science
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 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.
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
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
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.
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 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.
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).
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.
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.
Full time: £9,250 for the 2017 academic year
Full time: £11,850 for the 2017 academic year
Full time: £9,250 for the 2018 academic year
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.
Other financial support
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
|Start Date||End Date||Link|
|26/09/2017||26/05/2018||Apply online (Full Time)|
|25/09/2017||22/05/2018||Apply online (Full Time/Sandwich)|
|25/09/2017||20/05/2018||Apply online (Full Time/Sandwich)|
|Start Date||End Date||Link|
|26/09/2018||26/05/2019||Apply online (Full Time)|
|25/09/2018||22/05/2019||Apply online (Full Time/Sandwich)|
|25/09/2018||20/05/2019||Apply online (Full Time/Sandwich)|
|Start Date||End Date||Link|
|26/09/2019||26/05/2020||Apply online (Full Time)|
|25/09/2019||22/05/2020||Apply online (Full Time/Sandwich)|
|25/09/2019||20/05/2020||Apply online (Full Time/Sandwich)|