BSc (Hons)

Software Engineering

Attend an open day How to apply
Attend an open day How to apply

Overview

This course provides a broad education in all phases of software development, support and management with particular focus on the methodical approach to error-free design and the building of software. A large-scale team software project aims to develop your teamwork and communication skills and give you a sound understanding of the role of software development tools within the software life cycle.

You will study a curriculum designed in conjunction with industry to equip you with the range of skills and strengths that employers demand. 

Typical areas of study include programming, multimedia web design and internet development, information systems, databases, computer hardware and computing mathematics. We aim to develop your knowledge of information management and database development, advanced programming and website development. You will complete a software engineering team project in your final year. Our BSc (Hons) Computer Science, BSc (Hons) Software Engineering and BSc (Hons) Computing degrees share a common first year allowing you to transfer between courses after Year 1.

Features and Benefits

Accreditations, Awards and Endorsements

Career Prospects

Careers in computing could include systems manager, web designer and programmer, as well as roles managing technology to support a range of public and private sector organisations.

In addition, the skills you learn on this degree are highly valued by a range of employers and opportunities may exist in areas such as accountancy, management, technical sales and teaching.

Manchester is a major hub for the digital media industry. The close proximity of MediaCity and local initiatives such as the 100bps Oxford Road "Corridor" broadband project, are attracting key players in the digital media sector along with smaller web design and new media agencies to the city.

Learn more about graduate careers

Entry requirements

These typical entry requirements apply to the 2018 academic year of entry and may be subject to change for the 2019 academic year. Please check back for further details.

UCAS tariff points/grades required

104-112

104-112 UCAS Tariff Points at A2 (Grades BCC-BBC) to include minimum grade C at A2 in IT, Computing, Maths or Science.

Pre-2016 BTECs:

BTEC Diploma or BTEC Extended Diploma at Level 3 (Grades D*D or DMM) in IT or Computing accepted with minimum 4 units at Merit from the following:
6 Software Design and Development
11 Systems Analysis and Design
14 Event Driven Programming
15 Object Oriented Programming
16 Procedural Programming
18 Database Design
19 Computer Systems Architecture
20 Client Side Customisation of Web Pages
26 Mathematics for IT Practitioners
27 Web Server Scripting
28 Website Production

Post-2016 BTECs:

BTEC National Diploma or BTEC National Extended Diploma at Level 3 (Grades D*D or DMM) in IT or Computing accepted with Merit in the following:

Computing (first teaching from 2016):

1 Principles of Computer Science
2 Fundamentals of Computer Systems

IT (first teaching from 2017):

1 Information Technology Systems
4 Programming

BTEC Business (IT) and BTEC Creative Media Production not accepted.

Specific GCSE requirements

GCSE grade C or grade 4 in English Language, Science and Mathematics. Level 2 Functional Skills English also accepted.

Non Tariffed Qualifications

106-112 UCAS Tariff Points from Access to HE Diploma in a relevant subject (ICT/Computing/Science) with at least 45 credits at Level 3.

International Baccalaureate points

26 IB Diploma points (to include IT at HL 5)

IELTS score required for international students

6.0 with no element below 5.5

There’s further information for international students on our international website if you’re applying with non-UK qualifications.

Additional Requirements

Applicants who do not meet the subject knowledge requirement may be offered the opportunity to sit an admissions test.

Further information

Applications are considered individually and you are advised to contact our Course Enquires team via the web form www.mmu.ac.uk/course-enquiry

Course details

Typical units of study include:

  • Computer Systems Fundamentals
  • Information Systems
  • Introduction to Web Design and Development
  • Programming (Java)

Read more about this year of study

Core Units

Introduction to Web Design and Development

Introduces the modern context of web design and development, the core development technologies and standards and design methods that cater for different current platforms. The key theme of the unit is the efficient design and development of effective and robust websites for the range of popular platforms using the most modern technologies and techniques.

Topics include:

  • Introduction to the client-server model, web standards, HTML5 semantic mark up, control of presentation via style sheets, interactivity via JavaScript on the client side and PHP on the server side
  • The use of high-level tools for design and development
  • DOM element selection and manipulation via script libraries such as jQuery
  • The production of standards compliant HTML5 video. Students will create dynamic web pages with AMP systems and script on the server side using PHP with MySQL. The key theme for scripting will be the understanding and development of readable code that listens for and responds to browser and user events by manipulating DOM elements.
Programming (Java)

This unit introduces computer programming in a high level programming language and includes principles and practice in problem solving, program design, solution implementation and testing, including:

  • Introduction to programming using Java
  • Software life cycle: importance of correctly identifying the problem, iterative nature of software development, software maintenance
  • Design methodology: the application of the top-down design method using step-wise refinement to produce pseudo-code solutions to problems, incorporating constructs for sequence selection, iteration, abstraction and re-use
  • Verification and testing: the use of desk-top execution, simple debugging strategies and more formal approaches to testing eg black box white box boundary analysis and equivalence classes
  • Applications of standards and conventions: software maintenance and developing a professional approach to coding
  • Constructs and features of a structured high level programming language: control constructs, operators, procedural abstraction, simple I/O and use of libraries
  • Data types – primitive types: constants, variables, arrays and simple structured data
  • Object orientated design and implementation: inheritance and polymorphism
  • Software support environment: use of an IDE editors compiler/linkers and operating systems
Information Systems

An introduction to the use of information systems in organisations which will show you how to develop key systems analysis techniques to be applied to information systems built on a commercial Relational Database Management System (RDBMS). You will also develop essential communication and teamworking skills. Topics include:

  • Business activities supported by information systems including case studies and examples
  • Use of information systems for management information and decision making, business operations and data processing
  • E-commerce theory, information systems and society
  • Systems analysis and design techniques including UML use cases
  • Database management systems and database design/development: entity relationship diagrams (ERDs), normalisation, SQL development
Computer Systems Fundamentals

This unit provides an introduction to the fundamental principles and mathematics underpinning the design and construction of computer systems, including:

  • Digital Logic and Boolean Algebra: digital logic gates and circuits, Karnaugh maps, use of a digital logic circuit simulator, components of a CPU, processor model, Fetch execute cycle, hardware interrupts
  • Assembly Language Programming: relationship between high level languages and assembler, instruction sets, registers, debugging
  • Discrete Mathematics: matrices and vectors, matrices as linear transforms
  • Functions: definition, properties
  • Sets: subsets, set algebra
  • Logic: propositions, predicates, propositional algebra, proof of simple results

Typical units of study may include:

  • Advanced Programming
  • Database Systems
  • Web Design and Development
  • Professional Development

Read more about this year of study

Core Units

Professional Development

The unit covers professional, legal and career development issues in the Computing and Digital Technology industries and includes a pathway-specific group project.

The current legal framework of Computing and Digital Technology is examined e.g. data protection legislation, intellectual property rights, computer misuse, freedom of information, computer contracts and employment contracts as is an overview and comparison of workable ethical theories eg utilitarianism and duty based approaches. Important issues regarding professional bodies in computing are also addressed including their role, structure, codes of conduct and practice. You will also investigate employability factors and learn about the employment application process and the importance of continuing professional development. A themed case study mini-project linked to the subject pathway, which may include the opportunity to work with an external company. This will help you to develop your skills and understanding of project planning and control concepts, planning techniques (eg Gantt charts) and monitoring, academic research, software prototyping and report writing.

Web Design and Development

Students will build robust, maintainable web applications using a variety of current client-server techniques for web application development, including:

  • jQuery, Ajax and other APIs to create rich media or interactive content eg slideshows and media galleries
  • HTML5 Canvas for bitmap graphics and animations
  • Retrieval, manipulation and display of geographical data for client-side devices
  • Client and server side validation of form data
  • Select, update, delete SQL table data on server using double validated form data
  • Session/cookie management
  • Request/response header management
  • Structured data transmission in request/response eg xml and json
  • Client/server side programming techniques to create web applications
Database Systems

This unit explores the theory and practice of the modelling, specification and querying of relational databases and aspects of implementation of database management systems. You will cover:

  • Database modelling: advanced UML with class diagrams and inheritance; mapping UML diagrams to relational schemas
  • Database implementation and querying: creating and maintaining relational databases with SQL; indices; advanced SQL queries; triggers; views
  • Relational algebra: operators: project, select, join, union, intersection, set difference; different types of join; writing algebraic expressions; properties of operators (eg associative, distributive)
  • Physical aspects: data structures (e.g., hash tables); buffers; different types of storage (eg primary, secondary); blocks as storage units; trade-offs in random and sequential access and network traffic
  • Query processing and optimisation: alternative implementations of relational algebra operators;  rewriting of relational algebraic expressions to improve efficiency
  • Concurrency control: locking, 2-phased locking systems, resolving conflicts, writing transaction-aware SQL scripts
  • Interfacing with programming languages and environments: embedded queries; cursors; data access patterns
Advanced Programming

This unit covers concepts relating to object-oriented program design, the use of framework libraries, web server and mobile application development.

The unit covers object-oriented concepts: introduction to object-oriented concepts including class, object, instantiation, attributes, constructor, methods, overloading, inheritance, overriding, polymorphism and design techniques using Unified Modeling Language (UML). Testing of object-oriented programs. Advanced topics: interfaces, inner classes, collections, exception handling, stream based file input/output, building a Graphical User Interface (GUI) using libraries, event handling, graphics and threads. Implementation: practical application and implementation of concepts studied above. Use of Integrated Development Environment (IDE). Implementation of a UML diagram. Documentation and coding standards. Case studies.

If you opt for the four year sandwich route your third year will be spent on placement.

Typical units of study include:

  • Enterprise Programming
  • Programming Languages and Software Engineering Frameworks
  • Project

Option units (indicative and may be subject to change year on year):

  • Advanced Web Development
  • Mobile Application Development
  • Software Agents and Optimisation

Read more about this year of study

Core Units

Project

Provides experience in the critical review of literature and the design, implementation, evaluation and writing up. Working with your supervisor, students develop their project description and specify aims, objectives, methodology and timetable for completion. Final year projects are normally pathway-specific. For group projects, individual and collective aims, objectives and plans are specified.

Enterprise Programming

Students will build secure, robust, maintainable enterprise level applications using a variety of current distributed programming techniques. Includes use of common enterprise design patterns and implementation in a suitable language, professional programming techniques, distributed programming creation and analysis of distributed applications in a high level language, web service architectures eg web services, WSDL, SOAP, XML/ JSON processing, current techniques in enterprise application development eg Hadoop, cloud computing, reference architectures, models and frameworks and enterprise frameworks eg Hibernate, Struts.

Programming Languages and Software Engineering Frameworks

This unit will compare and contrast a range of programming language that covers the major programming paradigms such as functional, imperative and declarative. The unit will also critically evaluate the architecture of large scale software. Includes: an overview of the evolution of programming language paradigms and language design. A comparative analysis and critical evaluation of programming language concepts and paradigms, concepts of variable type and binding, design patterns and software architectures. A critical study of software engineering frameworks and build systems.

Option Units

Advanced Web Development

Students will learn to use and critically evaluate alternatives to the LAMP stack they have met at earlier levels. Students will build robust, maintainable web applications by working within contemporary client-side and server-side frameworks. Contents: Client-side MVC frameworks (eg Angular.js) for the structuring and organisation of JavaScript web applications. Extension of client-side technologies (eg JavaScript) to the server-side for unified development of event-driven dynamic web apps (e.g. Node.js). Not Only SQL (NoSQL) alternatives to RDBMSs and their associated data structures (eg JSON-like formats using MongoDB) for unified client-server data representation. Modern development stacks that combine the technologies above (eg MEAN) as an alternative to traditional LAMP development techniques. PHP frameworks (eg CodeIgniter, CakePHP) as an alternative to traditional LAMP development techniques for multiuser dynamic web apps. Web servers (eg apache configuration, vhosts, .htaccess, URL rewriting), web security (eg XSS, SQL injections and SSL/TLS) and cloud hosting services (eg Heroku, Google App Engine).

Software Agents and Optimisation

Students will be introduced to the fundamental concepts in evolutionary algorithms and agent-based simulation, and develop their proficiency in the development, application and analysis of these methodologies. The unit includes evolution and natural selection, fitness landscapes and search, optimisation and approximation, encodings and fitness functions, evolutionary search and optimisation, and applications. Software agent concepts, intelligent agent design and implementation of multi-agent systems.

Mobile Applications Development

This unit provides a thorough grounding in smartphone application development, location aware applications and mobile device technologies. This includes smartphone development, creation of mobile applications using a current mobile device development environment eg iPhone, iPad, Android, wireless technologies and security, technologies available, characteristics and security models eg RFID, WiFi, Bluetooth. Location-aware mobile applications, access and analysis of location on mobile devices and creation of intelligent applications. Current practice in mobile application development. New and emerging mobile application techniques and devices eg context aware computing. Wireless sensors and sensor networks. Smart Environments.

Assessment weightings and contact hours

Study
Assessment
Optional foundation year

Additional information about this course

Students are expected to behave in a professional and business like manner when on placement or conducting projects with external partners.

Placements options

The full-time four year sandwich route provides the opportunity to spend your third year on  placement in industry. The School offers help with finding suitable placements and experience has shown that taking a placement year can lead to improved performance in the final year of your degree as well as improved employment prospects after graduation.

School of Computing, Mathematics and Digital Technology

Our School of Computing, Mathematics and Digital Technology is a vibrant community of staff and students, which prides itself on internal and external collaboration.

The department is committed to teaching and research that addresses societal challenges through disciplines like artificial intelligence, big data, computational fluid dynamics, cyber security, dynamical systems, the internet of things, smart cities, robotics and virtual reality.

More about the department

Taught by experts

Your studies are supported by a team of committed and enthusiastic teachers and researchers, experts in their chosen field. We also work with external professionals, many of whom are Manchester Met alumni, to enhance your learning and appreciation of the wider subject.

Meet our expert staff

Fees

Tuition fees for the 2019/20 academic year are still being finalised for all courses. Please see our general guide to our standard undergraduate tuition fees.

Part-time students may take a maximum of 90 credits each academic year.

Additional costs

Specialist Costs

All of the books required for the course are available from the library. The University also has PC labs and a laptop loan service. However, many students choose to buy some of the core textbooks for the course and/or a laptop. Students may also need to print their assignments and other documents. Campus printing costs start from 5p per page. Estimated costs are £300 for a laptop up to £100 each year for books and printing.

Placement Costs

Students can choose to go on a placement which might incur additional travel and accommodation costs - these would be offset by salary on a paid placement and will vary by location.

Professional Costs

Students can choose to join the BCS at any point in their study. It is not required but is useful. The annual charge is identified for every year, there is also an option to take course membership for £57.

Other Costs

Students who do the Schools units that relate to computer games or animation may incur costs for external storage media such as USB or HDD drives. Level 5 students may complete a Live Project on the Professional Development unit - this may incur some travel costs.

Funding

For further information on financing your studies or information about whether you may qualify for one of our bursaries and scholarships, follow the links below:

Bursaries and scholarships

Money Matters

Want to know more?

How to apply

You can apply for this course through UCAS.

Apply now

UCAS code(s)

G600

Remember to use the correct institution code for Manchester Metropolitan University on your application: our institution code is M40

You can review our current Terms and Conditions before you make your application. If you are successful with your application, we will send you up to date information alongside your offer letter.

MANCHESTER IS YOUR CITY. BE PART OF IT.

Programme Review
Our programmes undergo an annual review and major review (normally at 6 year intervals) to ensure an up-to-date curriculum supported by the latest online learning technology. For further information on when we may make changes to our programmes, please see the changes section of our Terms and Conditions.

Important Notice
This online prospectus provides an overview of our programmes of study and the University. We regularly update our online prospectus so that our published course information is accurate. Please check back to the online prospectus before making an application to us to access the most up to date information for your chosen course of study.

Confirmation of Regulator
The Office for Students is the principal regulator for the University. For further information about their role please visit the Office for Students website. You can find out more about our courses including our approach to timetabling, course structures and assessment and feedback on our website.

Top