Undergraduate course

Software Engineering (with placement) BSc Hons

Explore software engineering in a creative and stimulating environment.

As a Software Engineering student at York St John you will explore software engineering in a creative and stimulating environment where personal innovation and technical expertise are valued and developed in all our students. You will learn a range of programming and computational systems. You will then extend your knowledge and skills through projects with industry professionals, as well as collaborative projects with students, academics and professionals from other disciplines. You will learn to be entrepreneurial, finding and creating opportunities for your future professional practice.

92% of Graduates from our Computer Science courses were in employment or further study - DLHE 2017

  • UCAS Code – 2R11
  • Location – York campus
  • Duration – 3 years full-time | 6 years part-time
  • Start date – September 2020
  • 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

Tuition Fees

    UK and EU 2019-20 £9,250 per year

    International 2019-20 £12,750 per year

The York St John Experience

Course overview

As a Software Engineering student at York St John you will explore software engineering in a creative and stimulating environment where personal innovation and technical expertise are valued and developed in all our students. You will learn a range of programming and computational systems.

You will then extend your knowledge and skills through projects with industry professionals, as well as collaborative projects with students, academics and professionals from other disciplines. You will learn to be entrepreneurial, finding and creating opportunities for your future professional practice.

Course structure

Level 1

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.


Modules include:

  • 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

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.


Modules include:

  • 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, you 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.
  • Philosophies 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.

Year In Industry

You will have the option of undertaking a year in industry (sandwich year), in between level 2 and level 3. Through this you will gain valuable experience in real (paid / unpaid) employment. York St John University will provide you with support to help source a placement which meets your career aspirations, however it is your responsibility to secure your own placement. Support will be available through the CPD framework, and central university services such as the Careers and Employability Team. Students who undertake the year in industry often return for level 3 more focused on their studies and deemed more job-ready by employers.

You will be prepared for your placement year through activities in semester two, level five, which will assist you in making preparations for applying for and undertaking a placement. This will include CV and cover letter writing, as well as interview skills. You will work with the central university services with the support of an academic tutor to identify placement opportunities.




On achieving a year in industry placement, you will complete a negotiated learning agreement in the form of a learning contract, which will be negotiated with your host firm and agreed by an academic from the York St John University Computer Science Team. This will be logged by the University and you will be expected to demonstrate your achievement while on placement through a portfolio of evidence. In order to undertake a year in industry placement you will need to have achieved the minimum requirements for progression at level 2 and will also have to satisfy the following criteria:

  • You must have no outstanding modules from level 1 or 2
  • You must demonstrate a good level of professionalism in your academic conduct within the university, to the point where an academic from the computing team is willing to agree your suitability for the proposed placement

During the year in industry placement you will be allocated a mentor from within the University, who will monitor your progress throughout the placement. This may include Skype/email conversations. You will have a minimum of one field visit which will include a conversation with the employer.

Level 3

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. 
  • Advanced Web Development: This module focuses on the use of advanced and professional web technologies that enable more interactivity, dynamism, accessible, usable and easy to manage complex web applications. Technologies such as advanced features of CSS3, HTML5, JavaScript, DOM, PHP and AJAX will be covered including knowledge of how to configure and maintain web servers – such as Apache. The module will also cover more advanced programming techniques associated with web applications.
  • 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. 

Entry Requirements


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.

Why study Computer Science at York St John?

More to explore

Get in touch

Cookie Settings