banner-software-1600x600

BScSoftware Engineering

Why this course?

The BSc (Honours) in Software Engineering will provide you with the essential skills to become a professional developer of high-quality software, focusing on large-scale software systems.

Software engineers design and develop large, complex systems. These include the systems used in vehicles, phones, large-scale financial systems and secure web and medical applications.

As a software engineer, you’ll need a good understanding of software, hardware, communication technologies and strong design and team skills. You’ll also need to understand the impact of the development strategies of different systems.

Our Computer Science courses combine theory and practice. Many of the core subjects are similar in the early years, which means it’s possible for you to transfer between courses.

Transfer to MEng Computer Science is possible for students who perform well in first year of the BSc (Honours) Software Engineering.

What you’ll study

Year 1

You’ll take classes in areas such as software construction, theory and algorithms, information and information systems, computer systems and hardware, and business analysis and technology. Small-group tutorials cover personal and professional development issues and there’s a choice of elective classes.

Year 2

Subjects covered include algorithms, logic, databases and the design of user interfaces. There is a significant emphasis on programming and on the architecture of machines.

Year 3

You’ll be introduced to more specialised areas, such communications, the design of new programming languages, the variety of internal machine architectures, artificial intelligence, graphics, and the technologies behind web-based applications.

This year also includes a large group-based software development project.

Year 4

You’ll choose optional classes to build on the experience gained from your industrial placement. You’ll specialise in particular aspects of software engineering, such as software architecture and design.

A major practical computing project may involve working with one of our departmental research groups.

Work placement

You’ll undertake a 12-month paid industrial placement between Years 3 and 4, typically within a software development team. The placement may be in the UK or abroad.

Major projects

Several companies work with us to develop student projects, either individual or group final-year projects that is suitable for both parties.

Projects are supervised by members of academic staff with individuals from the sponsoring organisation providing occasional advice and feedback.

Facilities

We have three large undergraduate teaching laboratories, plus a restricted-access laboratory (primarily for fourth and fifth-year students). There are printers in each main lab. All departmental machines are linked by a high-speed local area network and operate under a single network file system so you can access your files from any of our machines.

Student competitions

Charles Babbage Prize – Best Computer Science Project

The prize is awarded annually to the undergraduate student who completes the best project in computer science in that academic year.

The project must include practical computing and the assessors will take into account the originality and potential applications of the work.

Andrew McGettrick Prizes

Two prizes are awarded annually – one to a graduating Honours student and one to a graduating Integrated Masters student, for outstanding performance in their studies.

Young Software Engineer of the Year Award

The award is given to the project, which in the judges' opinion most clearly embraces sound software engineering principles.

High Flyer Programme

Well-qualified applicants with appropriate A Levels and Advanced Highers will be admitted to the Faculty of Science prestigious 'High Flyer' Programme, which allows students to complete an Honours degree in three years and an Integrated Masters degree in four. If you are studying the relevant subjects you may receive a dual offer, specifying grades to direct entry to Year 2 as a High Flyer and also standard Year 1 entry.

Find out more about our High Flyer Programme.

Accreditation

Accredited by the British Computer Society, the Chartered Institute for IT for the purposes of fully meeting the academic requirements for registration as a Chartered IT Professional.

Accredited by the British Computer Society, the Chartered Institute for IT, on behalf of the Engineering Councilfor the purposes of fully meeting the academic requirements for Incorporated Engineer and partially meeting the academic requirement for Chartered Engineer.

Accredited by the British Computer Society, the Chartered Institute for IT, on behalf of the Science Council for the purposes of partially meeting the academic requirements for registration as a Chartered Scientist.

Course content

Year 1

Compulsory classes

Machines, Languages & Computation

This class will help you to achieve a broad knowledge of the essence of computation and computational systems, as embodied by the notions of computable functions, formal languages and recursion, logic and computability and abstract machines.

Information & Information Systems

You'll develop a broad knowledge of information systems and how information is created, used and disseminated within an information society.

Programming Foundations
The class will provide you with a solid foundation in the principles of computer programming. On completing this class you should have the necessary skills to be able to design, build and test a small system in a high-level language (Java is currently the language used).
Computer Systems & Organisation

Semester 1: You'll develop an understanding and appreciation of a computer system's functional components – both hardware and software, their characteristics, their interactions, and their fundamental role in the manipulation of data.

Semester 2: You'll further your knowledge of the design parameters of a typical computer system and the impact these have on the functionality, and implementation, of the hardware and software components.

Combinatorics for Computer Science 1

The aim of this class is to:

  • introduce the basic combinatorial tools of computer science
  • teach you about mathematical thinking and reasoning that is pertinent to computer science
  • to present that reasoning in rigorous written text
Topics in Computing 1

This class will help you to develop a broader perspective of computer science and to develop problem solving, team working, presentational skills, as well as personal and professional development skills.

Business Analysis & Technology

The aim of the class is to raise awareness of the real world problems encountered by industry that can be solved through management science methodology.

  • develop an understanding of the tools and techniques used by business analysts
  • highlight the integrative role of technology within organisations
  • demonstrate the dynamic nature of technology 
Elective class

In year 1 most students take an elective class.

Classes from a range of topics are offered, normally by other departments to give a taste of other subjects and broaden your curriculum.

Year 2

Compulsory classes

Advanced Programming

The aim of the class is to:

  • further your skills in object-oriented programming
  • provide knowledge of key abstract data types along with their implementation and usage
  • provide experience in the development of larger scale software and an introduction to design

The main goal is for you to be able to develop larger programs with specialised data structures and utilising APIs from a specification, and being able to ensure and show how the system they developed matches the specification.

Topics in Computing 2

The class will help you to further your perspective of computer science and to enhance your problem solving, team working, and presentational skills.

Combinatorics for Computer Science 2

The aim of this class is to introduce the combinatorics of discrete objects that are ubiquitous in theoretical computer science, namely graphs and relations.

For both these objects, the overarching aim is to develop your skills in mathematical thinking and reasoning, and to be able to present that reasoning in rigorous written text.

Logic & Algorithms

This class will equip you with the tools to model and measure computation. You'll build on the skills gained in CS 103 (Machines, Languages & Computation) and develop further understanding of the mathematical foundations of computation. You'll foster an analytical and empirical appreciation of the behaviour of algorithms and the use of abstract data types.

User & Data Modelling

You'll gain a critical appreciation and understanding of how to model user activities and the data to support them, together with how to implement systems and databases to support user activities.

Computer Systems & Architecture

You'll develop a deeper understanding of typical computer architectures and their instruction sets and the complex trade offs between CPU clock speed, cache size, bus organisation, number of core processors, etc, that influence their design and have a fundamental impact on their performance.

Professional Issues in Computing

This class helps you to become aware of the legal, social, ethical and professional issues commensurate with the practice of information systems engineering.

Elective class

In year 2 most students take an elective class.

Classes from a range of topics are offered, normally by other departments to give a taste of other subjects and broaden your curriculum.

Year 3

Compulsory classes

Computer Systems & Concurrency

The class will enable you to develop a deeper understanding of highly concurrent hardware and software systems. The class will also further your knowledge of the need for, and the design and implementation of, those other vital hardware and software components of a concurrent system, namely multiprocessors and their interconnections, operating systems and networks.

The interactions between many of these components will be investigated by means of significant practical work that consolidates the lecture content in the context of:

  1. multiprocessor architectures
  2. concurrency
  3. protection and security
  4. networked and concurrent applications

Software developed in appropriate programming languages will form the basis of much of the practical work. This allows you to enhance your software design and implementation skills in this domain.

Optional classes

Functional Programming

Pre-requisites: Basic programming skills, as might be gained by taking CS 105 Programming Foundations or a similar introductory programming class.

This class will provide you with skills in basic functional programming and experience in integrated deployment of those skills.

Mobile App Development

Pre-requisites: CS 207 Advanced Programming

You'll gain a good understanding of the issues in developing for mobile environments and approaches to handling these issues and skills in developing for a widespread mobile platform.

Foundations of Artificial Intelligence

Pre-requisites: CS 207 Advanced Programming, CS 208 Logic & Algorithms

The class will give you a broad appreciation of the scale and nature of the problems within Artificial Intelligence. It will also give you a detailed understanding of some of the fundamental techniques used to address those problems.

Web Applications Development

Pre-requisites: CS 207 Advanced Programming, CS 209 User & Data Modelling

You'll gain an understanding of the technologies used in the development of N-tier Internet-based applications.

Programming Language Definition & Implementation
The aim of this class is to provide familiarisation with the definition of programming language syntax and semantics, and the translation of these definitions into an implementation of a programming language.

Year 4

Compulsory classes

Software Architecture and Design

The class will enable you to understand the challenges of advanced software design and the issues associated with large-scale software architectures, frameworks, patterns and components.

You'll also develop your understanding of the tools and techniques that may be used for the automatic analysis and evaluation of software.

Individual Project

The aim of the class is to enable you to demonstrate practical and documentary competence. You'll also be expected to give a demonstration of your work.

Industrial Placement

Software Engineering students in year 4 do a one-year placement between third and fourth year.

This is so you can experience the application of aspects of your degree course in an industrial context and understand the complexities of commercial software development

Optional classes

Advanced Functional Programming

The class will allow you to further your skills in functional programming and gain an appreciation of the mathematical structures which underpin powerful general programming concepts and techniques.

Theory of Computation

Building on the previous material in software development, this class will extend and formalise your abilities in the area of computational complexity.

Information Access & Mining

This class will enable you to understand the fundamentals of information access and information mining.

The class will cover a range of techniques for extracting information from textual and non-textual resources, modelling the information content of resources, detecting patterns within information resources and making use of these patterns.

Building Software Systems

This class will:

  • extend and deepen your understanding of the analysis, design and implementation of software systems
  • provide further experience in the activity of designing and implementing non-trivial systems
  • enable you to demonstrate practical competence in a group environment

The goal for you is the development, in a group setting, of significant systems. You'll also be introduced to more general software engineering topics.

Embedded Systems

This class will allow you to undertake the design and development process for embedded (dedicated) computer systems in relation to the environment in which they operate.

You'll gain knowledge in how to integrate embedded hardware, software, and operating systems to meet the functional requirements of embedded applications.

Digital Forensics

You'll gain an understanding of issues associated with the nature of cybercrime, digital evidence, detection methods and proof, in a variety of digital forensic contexts, including computers, networks and portable digital devices.

Assessment

You’ll be tested on your knowledge and understanding, intellectual, practical and transferable skills. This will be done through written exams, laboratory submissions, presentations, coursework, project and industrial placement reports.

Learning & teaching

We aim to help you gain knowledge and understanding as well as the development of intellectual skills (problem-solving and critical evaluation skills), practical skills (designing and implementing a software system, team-working skills) and transferable skills (investigative skills, presentation skills, report-writing skills, time management skills, independent learning skills).

Knowledge and understanding is gained through lectures and supported in tutorials or laboratories as well as individual and group project work. You’re encouraged to read and research independently to help broaden your understanding of the subject.

You’ll develop intellectual skills through weekly laboratory or tutorial exercises. You’ll also be set challenging problems while further coursework and group and individual projects will help you enhance your skills.

The industrial placement will allow you to appreciate the significant engineering problems involved in the construction of software systems.

You’ll learn practical skills through lectures, tutorials, laboratory, coursework and project work.

Entry requirements

Minimum grades

Required subjects are indicated following minimum accepted grades.

Highers

Year 1 entry: AAAB or AABBB (Maths B, Computing Science or equivalent recommended)

Year 2 entry: grades as above, including Advanced Higher Maths and Computing Science at AB/BA and three other Higher subjects at ABB 

A Levels

Year 1 entry: BBB (Maths B, Computing recommended)

Typical entry requirements: ABB

Year 2 entry: ABB (Maths and Computing AB/BA) 

Typical entry requirements: AAA

International Baccalaureate

34 (Maths HL5, Computer Science recommended) 

HNC/HND

HNC: Year 1 entry: relevant HNC, A in Graded Unit, Maths modules or Maths Higher recommended

HND: Year 2 entry: relevant HND, AA in Graded Units, Maths modules or Maths Higher recommended 

Additional information

  • Deferred entry not accepted

Widening access

We want to increase opportunities for people from every background. Strathclyde selects our students based on merit, potential and the ability to benefit from the education we offer. We look for more than just your grades. We consider the circumstances of your education and will make lower offers to certain applicants as a result.

Find out if you can benefit from this type of offer.

International students

Find out entry requirements for your country.

Degree preparation course for international students

We offer international students (non EU/UK) who do not meet the entry requirements for an undergraduate degree at Strathclyde the option of completing an Undergraduate Foundation year programme at the International Study Centre. To find out more about these courses and opportunities on offer visit isc.strath.ac.uk or call today on +44 (0) 1273 339333 and discuss your education future.

You can also complete the online application form, or to ask a question please fill in the enquiry form and talk to one of our multi-lingual Student Enrolment Advisers today.

Fees & funding

How much will my course cost?

All fees quoted are for full-time courses and per academic year unless stated otherwise.

Scotland/EU

  • 2017/18 - £1,820

Rest of UK

  • 2017/18 - £9,250

Bachelor degrees at Strathclyde will cost £9,250 a year, but the total amount payable will be capped at £27,750 for students on a four-year Bachelors programme. Students studying on integrated Masters degree programmes – for example MSci, MEng and MPharm – will pay £9,250 for the Masters year.

International

  • 2017/18 - £16,000

Additional fees 

Course materials & costs 

There is no charge for lecture notes or equipment.  Students are supplied with 500 free print units - but must purchase any additional units.  However, most coursework is submitted electronically.  

Books are recommended, but not a compulsory purchase.  The department ensures that the University library is stocked with copies of textbooks.  

Please note: All fees shown are annual and may be subject to an increase each year. Find out more about fees.

How can I fund my studies?

Students from Scotland and the EU

If you're a Scottish or EU student, you may be able to apply to the Student Award Agency Scotland (SAAS) to have your tuition fees paid by the Scottish government. Scottish students may also be eligible for a bursary and loan to help cover living costs while at University.

For more information on funding your studies have a look at our University Funding page.

Students from England, Wales & Northern Ireland

We have a generous package of bursaries on offer for students from England, Northern Ireland and Wales

Careers

This degree produces graduates with the technical knowledge and skills, and the communication and management expertise essential to participate in and lead teams of professional engineers that deliver robust and reliable software.

Our Software Engineering degree will open doors for careers in research, software development, consultancy and business analysis with companies such as Microsoft, Oracle, Logica and Kana.

Career opportunities are not limited to technology. The problem-solving, creative and personal skills you learn on this course will be sought after in many industries.

How much will I earn?

Typical graduate software engineers’ salaries range between £22,000 and £27,500. With experience, this can vary between £36,500 and £50,000.

At senior management level, salaries can rise to around £70,000 a year.*

Where are they now?

92.9% of our graduates are in work or further study.**

Recent job titles include:

  • Analyst Programmer
  • Assistant Language Teacher
  • Graduate Data Analyst
  • Graduate Software Engineer
  • Software Developer
  • Software Engineer
  • Test Analyst

Employers include:

  • Amazon UK
  • CGI
  • Gamma Dataware
  • Jet
  • Kana
  • Morgan Stanley
  • Mott MacDonald
  • National Australia Group
  • RBS
  • STV
  • SHE Software Ltd

*Information is intended only as a guide.

**Based on the national Destination of Leavers Survey 2012/13, 2011/12, (aggregated data) 

Contact us

Apply

How to apply – 10 things you need to know

  1. All undergraduate applications are made through UCAS
    Go to the UCAS website to apply – you can apply for up to five courses.
  2. It costs £12 to apply for a course
    The cost is £23 for two to five courses.
  3. The deadline is 15 January each year
    This is the application deadline for most courses. However, please check the details for your particular course. View a full list of UCAS key dates.
  4. You might be asked to attend an interview
    Most of our courses make offers based on the UCAS application. However some might ask you to attend an interview or for a portfolio of work. If this is the case, this will be stated in the prospectus entry requirements.
  5. It’s possible to apply directly to Year 2
    Depending on your qualifications, you might be able to apply directly to Year 2 - or even Year 3 - of a course. Speak to the named contact for your course if you want to discuss this.
  6. There’s three types of decision
    • unconditional – you’ve already met our entry requirements
    • conditional – we’ll offer you a place if you meet certain conditions, usually based on your exams
    • unsuccessful – we’ve decided not to offer you a place
  7. You need to contact UCAS to accept your offer
    Once you’ve decided which course you’d like to accept, you must let UCAS know. You don’t need to decide until you’ve received all offers. UCAS will give you a deadline you must respond by.

    You’ll choose one as your firm choice. If the offer is unconditional or if you meet the conditions, this is the course you’ll study.

    You’ll also have an insurance choice. This is a back-up option if you don’t meet the conditions of your first choice.
  8. You don’t need to send us your exam results (Scotland, England & Wales)
    If you’re studying in Scotland, England or Wales, we receive a copy of your Higher/Advanced Higher/A Level results directly from the awarding body. However, if you are studying a different qualification, then please contact us to arrange to send your results directly.
  9. We welcome applications from international students

    Find out further information about our entry and English language requirements.

    International students who don’t meet the entry requirements, can apply for our pre-undergraduate programmes.

    There’s also an online application form.

    For further information:
  10. Here’s a really useful video to help you apply

Discover more about Strathclyde