Software Engineering BSc (Hons)
Explore specialist computing labs and gain unique skills in programming, software engineering and system design.
Our experts have developed this programme to provide you with the knowledge and skills needed for you to pursue your dream career in software engineering and development. You will explore Software Engineering in a stimulating environment, where we value your personal innovation and technical expertise, as well as providing you with the opportunity to develop valuable industry connections.
92% of Graduates from our Computer Science courses were in employment or further study within six months - DLHE 2017
- UCAS Code – II1O
- Duration – 3 years full-time | 6 years part-time
- Start date – September 2020, September 2021
- School – Art, Design & Computer Science
Minimum Entry Requirements
88 UCAS points
3 GCSEs Graded at C/4 or above (or equivalent) including English Language and Maths
UK and EU 2020-21 £9,250 per year
International 2020-21 £12,750 per year
The York St John Experience
Working alongside our academics and industry experts you will collaborate on live projects, where you will develop entrepreneurial skills and create opportunities for your future career in computing. We believe in the importance of developing the skills to help you succeed in your chosen career path, which is why you will undertake a professional project allowing you to working in a live setting, working for an established company or undertaking a self-initiated entrepreneurial project.
A Year in Industry option is also available for this programme, for those wishing for a more immersive experience of professional working environments.
Back in the classroom, you will be taught by our specialists, all of whom are qualified to PhD level and are active within the industry. You will learn core programming, software engineering and system design skills, which can be applied to a range of industries including software development, business, games, education and other exciting, emerging fields which suit your specialist interest. We have invested in the development of three specialist computing labs to ensure that you have access to the best facilities to support your studies where you will have access to specialist equipment which is commonly used by software engineering professionals.
Level 1 gives you the fundamental core knowledge required for your development as a computer scientist, providing you with a broad range of opportunities to develop core subject knowledge in the areas of programming, mathematics, software engineering and the critical discourses surrounding developments in the field of computing. You will become familiar with common software engineering terminology, and well-versed in discipline specific technical practices, methodologies and theories. Teaching at this level comprises of a range of immersive learning experiences such as lecturers, seminars, workshops, teaching laboratories, Supported Open Learning (SOL), guest talks and trips.
- Programming 1: This module will provide you with the space to learn, explore and absorb the core concepts, principles and techniques of programming in the context of software development. The underpinning rationale is programming and algorithm design as problem solving endeavours.
- Mathematics and Problem Solving: Abstraction is fundamental to Computer Science. Hence, a fundamental emphasis of this module is to introduce mathematical techniques and skills to enable you to design and manipulate abstract models of elements from the real-world. These techniques and skills include appropriate mathematical notations and concepts.
- Computer Systems Fundamentals: This module will provide you with a broader understanding of the infrastructure of a computer. It covers basic issues in hardware and operating systems and focuses on commonly available desktop computer systems. The aim is to widen your exposure to the computer systems; covering widely used operating systems in industry to support software engineering and the Internet.
- Programming 2: This module will introduce you to Object Orientated Programming in the context of software development. Ideas of problem solving through programming and algorithm design are further developed, building on semester one modules. You will learn how to edit, compile, run and test programmes of increasing complexity in procedural and object orientated languages.
- Software Engineering: You will develop a basic understanding of the fundamental techniques of software engineering by focusing on the design and realisation of a web based artefact. The module will emphasise the acquisition of an appropriate balance of software engineering knowledge and the skills necessary to design a web based artefact.
- Technology in Context: This module is to introduce core skills required of a computing professional as well as fundamental discursive skills for considering and evaluating the wider philosophical implications of current and emerging computing practices, The module will comprise of information gathering, analysis, discursive debate and presentation. It will introduce you to the relevant professional aspects of computing practice and their wider social ramifications. This includes the role of professional bodies, plus the legal, ethical and social aspects of computing.
Level 2 will enable you to further develop your subject knowledge through modules in networking, databases and mobile application development. Coupled with these you will undertake a professional project allowing you to apply your skills in a ‘live’ setting, working for an established company or undertaking a self-initiated, possibly collaborative, entrepreneurial project. This opportunity will enable you to apply and test the knowledge you’ve acquired so far through your degree, affirming your learning through real world experience. At level 2 you will also undertake the Philosophies of Technology module which will enhance your knowledge of current relevant subject discourses and qualitative and quantitative research methods preparing you for your major project at level 3. Teaching at this level will incorporate all the previous modes at level 1, but with an emphasis on more self-directed and group project based work.
- Programming 3: This module develops your programming skills by exposing you to intermediate and advanced programming concepts and methods. Combining formal methods from software engineering with practical software development tasks, yoy will enhance, evolve, test and consolidate your programming skills, through a series of lecture and practice based labs.
- Databases and Networks: The aim of this module is to introduce and explore the essential principles and concepts of databases and networks. You will gain practical experience of designing, implementing and managing database systems, as well as the technical detail that underpins the operation of networked and internetworked systems.
- Software Engineering: Design Patterns: This module will introduce the structure of object-oriented systems, covering both design and programming. It is based around the notion of a design pattern: an abstraction of a proven solution to a recurring problem in a particular context in system structure and behaviour.
- Mobile Application Development: This module aims to give you a comprehensive understanding of the technologies used for developing applications for mobile computing devices. It will explore the characteristics of mobile devices and how they affect software engineering decisions; preparing you to work in the area of mobile and ubiquitous software development.
- Professional Project: The growing focus on work-related learning reflects a clear understanding and appreciation of the relationship between technical knowledge of an area and the need for computing and employability skills. This module provides you with an opportunity to experience work related learning through a range of self-initiated options including self-initiated or collaborative entrepreneurial projects, or working with businesses to develop computer based solutions to real world problems.
- Philsophies of Technology: This module exposes you to key philosophical discourses significant to their field of study eg ethics, ontology, aesthetics, sustainability, ecology of technical systems, post-humanism and virtuality. Through exposure to these discourses you will be encouraged to reflect upon and evaluate the wider ramifications of computer science within a social and political context.
Level 3 includes advanced modules in your field, allowing you to specialise and accent your learning via a choice of optional modules, for example: Cybercrime Security, Software Solutions for Business, Advanced Web Development, Data Visualisation and iOS Games Development. The specific optional modules offered each year will vary based on student numbers and available resources thus not all listed modules may be available each year. Accompanying this you will undertake a major year-long independent research project of your own design, agreed by and supported by an academic supervisor. This project may be in any existing or emerging field of software engineering research. You are encouraged to consolidate your technical learning and professional research interests through this major project. Teaching and learning at level 3 again incorporates the modes of delivery and activity encountered at levels 1 and 2, however, the emphasis at level 3 is on independent self-directed work that responds to learning within and across modules.
Compulsory modules include:
- Major Project: The aim of this module is to give you the opportunity to bring together the theoretical understanding and the practical skills you will have acquired from other modules. The projects typically involve producing a software product from conceptualisation through to successful evaluation and the production of a well crafted, substantial report to demonstrate the output of the research.
- Human Computer Interaction: This module is concerned with designing, evaluating and deploying usable, effective and interactive technologies. The aim of this module is to allow you to focus on key areas, approaches and developments in the field of the user experience.
- Internet of Things: The Internet of Things is a term used to describe an internet comprised of networked objects. The term incorporates but is not limited to concepts of ubiquitous computing; ambient intelligence; Machine to Machine communication (M2M). What unites these discourses is the question of how the deployment of ‘smart’ technology in public and social spaces will affect not only how we relate to each other but also how we understand ourselves as human beings. This module seeks to open up these questions for exploration through a practical project developing Internet of Things technology for deployment in public and/or social contexts.
Optional modules include:
- Cybercrime Secruity: Cyber terrorism has been and continues to be a major concern. Thus, cybercrime security has evolved as an interdisciplinary field that seek to address the ever-increasing use of computing technology in criminal activities. Practitioners face the challenge of understanding the complex nature of the field, its associated technologies, and the principles and practices of criminal investigation. Focusing primarily on the software aspects of this field, this module provides you with the opportunity to be equipped with the skill set required the assist in the investigation of crime involving the use of digital equipment using legally accepted methods and tools.
- Data Visualisation: The aim of this module is to introduce the principles and techniques involved in the displaying of data to provide greater insight into the information contained within the data. The module aims to equip you with a variety of data visualisation techniques and the knowledge of a variety of tools and techniques to make sense of the emergence and exponential growth of big data. This module covers how to apply design principles, human perception, colour theory, and effective storytelling to data visualization.
- iOS Game Development: This module will provide you with the space to learn, explore and absorb the core concepts, principles and techniques of creating games for apple mobile devices. The module will guide you through the core principles of programming in apple specific languages. Starting with an introduction to the apple programming environment, the module will progress delving into the various specifics of apples games related frameworks and languages.
- Software Solutions for Business: This module considers the technology that enables e-Business. It will look at the IT behind e-Business and consider how the application of technology can help enable, extend and/or enhance business activity.
The minimum entry requirements for this course are:
88 UCAS Tariff points
3 GCSEs at grade C/4 or above (or equivalent) including English Language and Maths
Terms and conditions
Our terms and conditions, policies and procedures contain important information about studying at York St John University. These can be accessed through our Admissions webpages.