Software Engineering
BSc (Hons)

Industrial Placement
International Students can apply

3 good reasons to study Software Engineering at Salford


Accredited by the British Computer Society


Software development is an industry at the forefront of technological change and advancement and there has never been a better time to get into this field


Apply the practical knowledge acquired with an optional industrial placement position

Course Summary

Computer software is an integral part of modern life, and the range of industries in which you can apply the skills taught in this course is very large. Particularly in large companies in the commercial and industrial worlds, the specialist skills of the software engineer are of great use. A successful software engineer relies on sound technical skills and the experience of applying them. This course has been designed to develop your practical and applied skills and to support you in gaining experience applying these skills. This will make you highly employable in a wide range of industries.

Course Details

This course will provide you with the software engineering skills, knowledge and understanding needed to enable you to become a professional software developer. You will develop an in-depth knowledge and understanding of systematic and disciplined approaches to software specification, design and implementation using software development methodologies. Throughout the course you will address issues of professionalism and ethics allowing you to build a critical awareness of diverse approaches to software development.

As well as gaining and developing a wide range of software engineering knowledge and skills, you have the option to spend a year in industry between the second and third year of the course. This is an excellent opportunity to expand your CV and will give you the opportunity to apply your academic knowledge and interpersonal skills in a real-world environment, and to reflect on your own personal development and career choices. Successful completion of an industrial placement year, which you arrange with our support, will add 'with Professional Experience' to your degree title.

Course Structure

Year 1    

This module will introduce you to a systematic approach to programming, and you will develop an appreciation of the software development cycle. You will be taught excellent programming practice through design, implementation and testing, and will be introduced to the basics of a structured programming language and the use of an integrated programming environment.
This module aims to build upon the syntax and semantics base of Java developed in the ‘Programming 1’ module. You will also develop an appreciation of recursion as well as your knowledge of dynamic data structures.  Additionally, the ability to test and debug code will be developed, along with an appreciation of more sophisticated programming behaviour. Furthermore, you will be introduced to a non-BlueJ means of compiling and executing Java applications.
This module introduces you to the business context and the work of the computing and information systems professional through an understanding of the societal, professional, ethical and legal issues surrounding business practices and the theory and process of project execution to a professional standard.
You will be introduced to the theory and practice of website design and development, and develop knowledge and understanding of human-computer interaction and techniques for designing and analysing user interfaces. You will also gain skills and practical experience of designing, developing and testing a website using HTML5 and Cascading Style Sheets (CSS).
This module will provide you with an in-depth low-level knowledge of computer systems, concentrating on computer architecture, operating systems and communications technology. You will also start develop skills in the use of Unix-like operating systems at command-line level, writing and using simple  scripts and batch files and the simple system administration of a standalone Linux PC.
This module will give you a fundamental knowledge of database management systems, their design, implementation and applications. It will develop your knowledge and understanding of the underlying principles of relational database management system, and how to implement and maintain an efficient database system using emerging trends.

Year 2    

The module will give you a broad overview of software development methods and techniques, focussing on various modelling and design approaches. You will develop knowledge and understanding of the application of generic pattern based strategies for resolving common high-level problems in object orientated design. Additionally, you will develop an appreciation of problem recognition and categorization and learn how (and when) established pattern based solutions can be identified and applied as solutions to these problems.
In this module you will gain the knowledge and understanding to develop data-driven, interactive websites using industry-standard programme development techniques. You will develop the skills in the practical use and application of different server technologies and the programming languages available to support these technologies.
In this module you will be introduced to some of the most important data structures used in the design and implementation of computer software and shown how these are implemented using Java. You will then learn to analyse the requirements of algorithm resources to allow you to provide a sound basis for objective choice when dealing with competing algorithms.
In this module you will be introduced to artificial intelligence (AI) and data mining (DM) techniques for problem solving. You will become familiar with AI techniques and terminology for knowledge representation and searching, gain an understanding of DM algorithms, and learn how these techniques are used in real world applications.
You will gain a thorough understanding of how the internet works in this module along with the issues involved in setting up a network of PCs, getting them networked using TCP/IP and troubleshooting the network. You will also be given practical experience of installing and configuring network hardware and software and considering issues of network implementation.
This module combines technical work in computer programming with personal development planning. You will work in a group to design, develop, document and demonstrate a solution to a problem, working to a professional standard using Java programming. This module also introduces agile techniques and methodologies and provides an opportunity for applying, evaluating and reflecting on these techniques.

Year 3    

In your third year you will take three compulsory modules, which includes an independent study module. You will also be able to choose two optional modules (from the indicative list below).     

Modules may include:    

This module will equip you with an understanding of formal methods of software engineering using the Vienna Development Method (VDM) and methods of verification of distributed software. This will include developing a critical appreciation of the merits of using formal notations and developing an ability to specify, design and verify software.
In this module you will study the idea of quality and its importance in the software development process. Using a variety of metrics, prediction systems and models you will build an appreciation of the worth of quality in any software development project. This will help you become a confident user interface developer through the use of appropriate and rigorous usability engineering techniques and guidelines.
You will undertake an individual project that will demonstrate your understanding of software engineering. You can select your own area of study, identify and develop a realistic problem and, working independently and in a professional manner, organise, sustain and report on your project in a way which is both detailed and reflective.

Optional Modules (choose two)    

Computer graphics provides an advanced and appropriate environment in which your transferable skills can be developed, and in which real-world applications can be demonstrated. This module allows you to transfer your existing knowledge of object-oriented programming into to a new and specialised environment using high-level real-time 3D graphics toolkits, and your knowledge of Java will be built-on to allow use of the C++ programming language.
In this module you will think about the security implications of internet-based computer systems and develop a critical appreciation of both the theoretical and practical issues in the field of computer forensics. You will also develop the necessary skills, methodologies and processes to conduct a basic computer forensics investigation within an organisation.
The module will take you through the common stages of creating a large-scale web application. This consists of the following: development of a scalable web application using design patterns, frameworks and other industry best practices to allow for rapid application development and future maintainability; discussion of the concepts of APIs and how they are designed, implemented and used in modern day web applications; designing a fully RESTful API for the application which has been developed; the creation of a client to consume the API of their application.
This module will provide you with a comprehensive understanding of the principles, practices and measures of virtual reality technology and the development of interactive 3D worlds. Applications of the technology that will be used are from across sectors including the computer games industry, medicine, energy, engineering and science. You will develop your programming to an advanced level of understanding and experience of modern interactive 3D engine development.
The module will provide an introduction to the key technologies used to provide interactive web sites and interactive applications for use with mobile devices, taking into account the unique environment in which these applications operate. Consideration will be given to how to use these technologies whilst still maintaining web standards, particularly accessibility.

Please note that it may not be possible to deliver the full list of options every year as this will depend on factors such as how many students choose a particular option. Exact modules may also vary in order to keep content current. When accepting your offer of a place to study on this programme, you should be aware that not all optional modules will be running each year. Your tutor will be able to advise you as to the available options on or before the start of the programme. Whilst the University tries to ensure that you are able to undertake your preferred options, it cannot guarantee this.

Entry Requirements

Qualification Entry requirements
GCSE English language and maths at grade C or above
UCAS tariff points 112 - 120 points from a minimum of two A levels or equivalent from maths or a numerate science or a computer- related subject
GCE A level 112 - 120 UCAS Points from a minimum of 2 A-levels from Maths OR a Numerate Science OR a Computer Related Subject
BTEC National Diploma MDD in second year modules, in a computer-related subject
BTEC Higher National Diploma Direct entry into level 5 is possible in an appropriate subject to a suitable standard, provided that appropriate prerequisite subjects have been previously studied.

Salford Alternative Entry Scheme (SAES)

We welcome applications from students who may not meet the stated entry criteria but who can demonstrate their ability to pursue the course successfully. Once we have received your application we will assess it and recommend it for SAES if you are an eligible candidate.

There are two different routes through the Salford Alternative Entry Scheme and applicants will be directed to the one appropriate for their course. Assessment will either be through a review of prior learning or through a formal test.

English Language Requirements

International applicants will be required to show a proficiency in English. An IELTS score of 6.0 (with no element below 5.5) is proof of this. If you need to improve your written and spoken English, you might be interested in our English Language courses.

Applicant profile

We are looking for applicants with a strong interest in software engineering. An attention to detail and a good work ethic are important to this course, particularly with industrial placement opportunities.

We positively welcome applications from students who may not meet the stated entry criteria but who can demonstrate their ability to successfully pursue a programme of study in higher education. Students who do not have formal entry qualifications are required to sit a written assessment which is designed for this purpose. Support in preparing for the written assessment is available from the University. Please contact David Newton for further information.


A variety of delivery methods are adopted to achieve the intended learning outcomes. Broadly speaking, these are:

  • Lectures are used to deliver theoretical background knowledge and principles, and develop conceptual understanding
  • Workshops put principles into practice and develop practical skills
  • Case studies are used to develop students' ability to apply their knowledge and develop skills
  • Group work is used to develop team working and professional skills
  • Projects enable students to apply what they have learnt to a realistic problem
  • Professional issues are delivered through the combination of a dedicated module to provide a broad context and other modules to provide a specific context that relates theory to the students' own practical experiences and career plans

Key skills (for example communication and ICT) are developed throughout the programme.


Please note these are average values. Assessment methods used and associated weightings vary from module to module.

  • Test - 3%
  • Assignments - 46%
  • Exams - 31%
  • Projects - 13%
  • Practical - 7%


As a graduate of this course you will be well equipped to work in a wide range of jobs such as software engineer, systems analyst, systems programmer, system administrator or computer analyst. Previous graduates have found employment with companies such as BNFL, British Aerospace, Pricewaterhouse Coopers, IBM, ICI, ICL and Riva Software International.

Alumni Profile

As part of my Software Engineering course, I had the opportunity to work a year in industry in between my second and final year. This placement year turned out to be one of the best experiences of my Bachelor degree.

I was exposed to different phases of the project lifecycle and, at times, had considerable responsibility. Now I have graduated, I work as Software Engineer at the company.

Dan Cotlet, BSc Software Engineering graduate

Further Study

Fees and Funding

Fees for entry in 2017-18 will be published as soon as possible.

Fees 2016-17

Type of StudyFee
Full-time International£13,300

Additional costs

You should also consider further costs which may include books, stationery, printing, binding and general subsistence on trips and visits.