logo

Software Engineering BSc

   
   
  

Fact file - 2015 entry

UCAS code:G601
Qualification:BSc Hons
Type and duration:3 year UG
Qualification name:Software Engineering
A level offer:

in the region of: ABB with computing/computer science, AAB with other preferred subject, AAA-AAB depending on subject choice otherwise.

Required subjects:

GCSE maths grade B or above.

Preferred subjects: Computing, Computer Science, Maths, Further Maths, Use of Maths, Physics, Chemistry, Economics, Statistics.

IB score: 34 (5 in Maths at standard/higher level or GCSE Maths grade B) 
Available part time: no 
Course places: approximately 115 for all courses in the School except BSc Computer Science and Management Studies
Campus: Jubilee Campus 

Course overview

This is a practically oriented degree focusing on the design and implementation of large software systems, particularly those with interactive or multimedia components. It is built around four themes: the design and implementation of software systems; the use and development of networked and distributed systems; user interface principles; and evaluation and testing.

Year one

You will be introduced to the key concepts and tools underpinning modern software engineering. You will learn how to program in Java, C and Haskell, study the architecture and applications of computer systems and be introduced to the four themes of the degree.

Year two

In this year you will consolidate what you have learnt so far by taking part in a software engineering group project. At the same time, you will study the four themes in greater depth and meet new topics, such as networks, concepts of concurrency and the design of large scale systems. You will select two modules each semester from a wide range of options; among those currently available are modules on C++ programming, computer vision, artificial intelligence and human computer interaction.

Year three

In your final year you will study the themes of the degree at an advanced level, including undertaking a large practical software engineering project. Project topics are agreed in discussion with a supervisor. This will allow you to specialise in an area of interest such as multimedia systems, mixed reality or artificial intelligence. You will also be able to select a futher five modules from a wide range of options available within the School. 

Entry requirements

A levels: in the region of: ABB with computing/computer science, AAB with other preferred subject, AAA-AAB depending on subject choice otherwise.

Required subjects:  GCSE maths grade B or above.

Preferred subjects:  Computing, Computer Science, Maths, Further Maths, Use of Maths, Physics, Chemistry, Economics, Statistics.

English language requirements 

IELTS 6.5 (no less than 6.0 in any element)

Pearson Test of English Academic 62 (minimum 55 PTE Academic)

Alternative qualifications 

For details see the alternative qualifications page

Foundation year - a foundation year is available for all our courses

Flexible admissions policy

We may make some applicants an offer lower than advertised, depending on their personal and educational circumstances.

Modules

The modules we offer are inspired by the research interests of our staff and as a result, may change from year to year. The following list is therefore subject to change but should give you a flavour of the modules we offer.


Typical Year One Modules

Compulsory

Programming and Algorithms

The module introduces basic principles of programming and algorithms. It covers fundamental programming constructs, such as types and variables, expressions, control structures, and functions.  The module also teaches how to design and analyse simple algorithms and data structures that allow efficient storage and manipulation of data. Finally, it familiarises students with basic software development methodology. You will spend around six hours per week in lectures, computer classes and tutorials.

 

 
Computer Fundamentals
 
Systems and Architecture
 
Mathematics for Computer Scientists

You’ll cover the basic concepts in mathematics which are of relevance to the computer scientists. Topics which will be covered include: logic; sets, functions and relations; graphs; induction, basic probability and statistics; matrices. You’ll spend around four hours per week in lectures and tutorials for this module.

 

 
Database and Interfaces
 
Software Engineering

This modules focuses on the fact that programming is only one step of the larger Software Engineering Process. To develop -good- software, you must gather requirements, design it well, plan the development, do the programming, have a testing strategy, test the parts and the product as a whole, and have a maintenance strategy for fixing the things that no one (even the client) imagined were important until it after it was delivered.

Software Engineering is a process that is much more than just programming. You will spend around 2-3 hours per week discussing the stages of the Software Engineering process in lectures, whilst carrying out activities in labs that help you understand the underlying issues.

 

 
Programming Paradigms

In this module you will learn the basic principles of the object-oriented and functional approaches to programming, using the languages Java and Haskell.  You will also see how they can be used in practice to write a range of different kinds of programs.  You will spend around 5 hours per week in lectures and labs for this module. 

 
Fundamentals of Artificial Intelligence
 
 

 

 


Typical Year Two Modules

Compulsory

Algorithm Correctness and Efficiency
 
Software Engineering Group Project

Working in groups of around five to six people, you’ll be assigned a supervisor who will provide you with a short written description of a computer application to be designed, programmed, and documented during the course of the module. Each group will meet twice a week, once with your supervisor and once without; you’ll also have four introductory one hour lectures.

 
Graphical User Interfaces

This module will introduce you to programming concepts and structures by considering the Java Swing packages in depth. You’ll explore a wide range of components, and will consider the other APIs, which allows easy incorporation of high-quality 2D graphics, text, and images in applications, and the use of Integrated Development Environments (IDEs), which simplify the construction of graphical user interfaces. You’ll spend around four hours each week in lectures and computer classes.

 
Software Quality
 

 

Optional

Computer Communications and Networks

This module will give you an overview of technologies including data transmission techniques, Local Area Networks, Wide Area Networks, network security, and network applications. You’ll pay particular attention to the internet environment and TCP/IP protocols. You’ll spend around two hours each week in lectures for this module.

 
Artificial Intelligence Methods

 
Introduction to Image Processing
 
Topics in Computer Science
 
Human Computer Interaction

Through two hours of lectures each week, you’ll be given an overview of the field of Human Computer Interaction, which aims to understand people's interaction with technology and to apply this knowledge in the design of usable interactive computer systems. The module will introduce the concept of usability and will examine different design approaches and evaluation methods. 

 
Languages and Representations
 
Planning. Search and Artificial Intelligence Programming

You’ll be introduced to Artificial Intelligence (AI) algorithms and programming techniques for search and planning. Topics covered include: classical search; search with non-determinism and partial observability; local search; classical planning; reasoning about actions; planning under uncertainty; conditional planning; planning with time and resources; other typical AI problems and how to implement them in an AI programming language. 

 
Operating Systems Distributed/Parallel
 
C++ Programming

You will cover the programming material and concepts necessary to obtain an understanding of the C++ programming language. You will spend around four hours per week in lectures and computer classes for this module and will be expected to take additional time to practice and to produce your coursework.

 
 


Typical Year Three Modules

Compulsory

Individual Dissertation Software Engineering

You’ll perform an individual project on a topic in computer science with emphasis software systems. You’ll produce a 15-25,000 word project report under the guidance of your supervisor, who you will meet with for an hour each week. The topic can be any area of the subject which is of mutual interest to both the student and supervisor but should involve a substantial software development component.

 
Professional Ethics
 
Computer Security
 
Software Specification
This is hidden
 

Optional

Computability

You’ll begin by considering the attempts to characterise the problems that can theoretically be solved by physically-possible computational processes. You’ll then consider the area of complexity theory, looking at whether or not problems can be solved under limitations on resources such as time or space. A key topic is an examination of the classes P and NP and the definition of the term NP-complete. You’ll spend around two hours a week in lectures for this module.

 
Automated Decision Support

The main aim of this module is to provide a sound understanding of wide range of fundamental concepts, techniques and methods of Operational Research and Artificial Intelligence that can help in design of automated intelligent decision support systems. The module will present a variety of applications from industrial and service sectors.

 
Computer Security

Spending four hours a week in lectures and computer classes, you’ll cover the following topics: security of the computer; security of networks; security and the internet; software and hardware security; mobile security; and basic cryptography.

 
Knowledge Representation and Reasoning

This module examines how knowledge can be represented symbolically and how it can be manipulated in an automated way by reasoning programs. Some of the topics you’ll cover include: first order logic; resolution; description logic; default reasoning; rule-based systems; belief networks and fuzzy logic. You’ll have two hours of lectures each week for this module.

 
New Media Design

This is a practical module covering the critical elements of New Media Design, with a particular focus on its use in the web. Critical elements such as colour, images, audio, video and animation will be introduced and discussed, in addition to broader issues around usability and interaction. Processes to support effective design work will also be considered. You’ll gain hands-on experience of technologies used to manipulate New Media in a professional context. Such tools will be put into context with emerging paradigms, including new media for mobile platforms.

 
Collaboration and Communication Technologies

In this module you’ll consider the design of collaboration and communication technologies used in a variety of different contexts including workplace, domestic and leisure environments. You’ll consider the basic principles of such technologies, explore the technologies from a social perspective, consider their impact on human behaviour and critically reflect on their design from a human-centred perspective. You’ll spend around two hours per week in lectures for this module.

 
Computer Graphics

You’ll examine the principles of 3D computer graphics, focusing on modelling the 3D world on the computer, projecting onto 2D display and rendering 2D display to give it realism. Through two hours weekly of lectures and laboratory sessions, you’ll explore various methods and requirements in 3D computer graphics, balancing efficiency and realism.

 
Fuzzy Sets and Fuzzy Logic Systems

You’ll review classical Boolean logica and set theory, including the common operations of union, intersection and complement. Fuzzy Logic Systems (FLSs) will be introduced and illustrated in conjunction to examples of real world applications in industrial control and other areas. You’ll spend around four hours each week in lectures and workshops, and will be given the opportunity to design, programme and deploy a fuzzy logic system, providing a tangible real world example of some underlying concepts of FLSs.

 
Autonomous Robotic Systems

This module introduces you to the computer science of robotics, giving you an understanding of the hardware and software principles appropriate for control and localisation of autonomous mobile robots. A significant part of the module is laboratory-based, utilising physical robotic hardware to reinforce the theoretical principles covered. Spending around three to four hours each week in lectures and practicals, you’ll cover a range of topics including basic behavioural control architectures, programming of multiple behaviours, capabilities and limitations of sensors and actuators and filtering techniques for robot localisation.

 
Machine Learning
Providing you with an introduction to machine learning, pattern recognition, and data mining techniques, this module will enable you to consider both systems which are able to develop their own rules from trial-and-error experience to solve problems as well as systems that find patterns in data without any supervision. In the latter case, data mining techniques will make generation of new knowledge possible, including very big data sets. This is now fashionable termed 'big data' science. You’ll cover a range of topics including: machine learning foundations; pattern recognition foundations; artificial neural networks; deep learning; applications of machine learning; data mining techniques and evaluating hypotheses. You’ll spend around six hours each week in lectures and computer classes for this module.
 
 

 

Careers

You will graduate with: general knowledge and understanding of computers and software systems; specialied knowledge of the design, implementation, user interfaces and evaluation of software systems; experience in using a variety of tools and methodologies in order to solve a variety of problems encountered in the area of software engineering; an understanding of the professional, legal and ethical aspects of the discipline. 

Average starting salary and career progression

In 2013, 93% of first-degree graduates in the School of Computer Science who were available for employment had secured work or further study within six months of graduation. The average starting salary was £25,038 with the highest being £48,000.*

* Known destinations of full-time home and EU graduates, 2012/13.

Careers Support and Advice

Studying for a degree at The University of Nottingham will provide you with the type of skills and experiences that will prove invaluable in any career, whichever direction you decide to take. Throughout your time with us, our Careers and Employability Service can work with you to improve your employability skills even further; assisting with job or course applications, searching for appropriate work experience placements and hosting events to bring you closer to a wide range of prospective employers.

Have a look at our Careers page for an overview of all the employability support and opportunities that we provide to current students.  

Funding

Scholarships and bursaries

The University of Nottingham offers a wide range of bursaries and scholarships. These funds can provide you with an additional source of non-repayable financial help.

Home students*

There are several types of bursary and scholarship on offer. Download our funding guide or visit our financial support pages to find out more about tuition fees, loans, budgeting and sources of funding.

To be eligible to apply for most of these funds you must be liable for the £9,000 tuition fee and not be in receipt of a bursary from outside the University.

* A 'home' student is one who meets certain UK residence criteria. These are the same criteria as apply to eligibility for home funding from Student Finance.

International/EU students

The International Office provides support and advice on financing your degree and offers a number of scholarships to help you with tuition fees and living costs.

KIS

Key Information Sets (KIS)

KIS is an initiative that the government has introduced to allow you to compare different courses and universities.

 

How to use the data

The Enquiry Centre

The University of Nottingham
King's Meadow Campus
Lenton Lane
Nottingham, NG7 2NR

t: +44 (0) 115 951 5559
f: +44 (0) 115 846 8062
e: undergraduate-enquiries@nottingham.ac.uk
w:http://www.nottingham.ac.uk/faqs