Software Development BSc (Hons)

Full-time undergraduate (3 years, 4 years with foundation year, 4 years with placement)



If you are applying for advanced entry, please contact us for further information on your study location.


Have you got what it takes to become an expert software developer? If so, you’ll be in high demand. There’s a shortage of qualified IT graduates in coding so take your coding and programming skills to the next level with our Cambridge-based course and learn techniques to identify, analyse and test the IT solutions that industry needs. Your real-life skills, gained through an optional placement year, will put you ahead of the game in this ever-evolving industry.

Full description


We work with employers to make sure you graduate with the knowledge, skills and abilities they need. They help us review what we teach and how we teach it – and they offer hands-on, practical opportunities to learn through work-based projects, internships or placements.

Following concerns from the Government and the IT profession that there’s a shortage of suitably qualified IT graduates in coding, we’ve worked with both national and local employers to make sure our course is tailored around what they need, giving you real-life skills to make you invaluable to the industry.

You could go on to work in main-line business IT applications development and support, general IT systems support roles, core business database development and management, application programming, web development. With additional teacher training, teaching IT at both secondary and further education levels could also be an option.

If you’d like to continue your studies we offer a wide range of full-time and part-time postgraduate courses including our MSc Cloud Computing and MSc Cyber Security.

Modules & assessment

Level 3 (foundation year)

  • Foundation in Engineering, Computing and Technology
    This module will provide students with the necessary skills to begin studying at level 4 in Engineering, Computer Science and related courses. Students will be introduced to the core skills necessary to succeed in higher education, including thinking critically, researching and referencing appropriately, demonstrating appropriate numeracy and ICT skills, and communicating effectively verbally and in writing. In addition to these fundamental skills, Students will cover the subjects underpinning the technological disciplines. Fundamental mathematical skills will be covered, alongside pre-calculus, followed by an introduction to calculus and vector and matrix arithmetic. Students will also be introduced to Classical mechanics, and its application to real-world scenarios. Students will be introduced to the fundamentals of computer science, learning about the principles behind programming and applying them through a series of practical coding exercises. Students will undertake a multi-disciplinary group project as they learn about the collaborative nature of engineering, and design from a broader perspective of business. The module is made up of the following eight constituent elements: Interactive Learning Skills and Communication (ILSC); Information Communication Technology (ICT); Critical Thinking; Maths for Scientists; Maths for Engineers; Physics for Engineers; Fundamentals of Computing; Engineering Design.

Year one, core modules

  • Basic Maths for Technology
    This module is essential for the student who needs a solid background in basic mathematical techniques and analysis in order to pursue a degree programme in technology. The module will help students to assess their existing mathematical skills and sympathetically enable them to remedy any basic deficiencies. It will then develop the core mathematical skills needed for successful study at degree level in technology, and also provide a basis for those students wishing to undertake further mathematical study. The module will be assessed by two in-class tests.
  • Computer Technology
    This module investigates the components and operation of modern computer systems. It'll introduce you to the hardware components that enable a computer to process data and the devices that enable data to be input, output and stored. You'll investigate the installation, operation and functionality of modern operating systems, including the operation and configuration of common servers. We'll also cover the fundamentals of networks. This module will give you the practical skills companies look for in an IT specialist.
  • Web Development
    If you are anticipating a career in information systems or programming, the knowledge of website construction, whether that is for the internet or a company intranet, is a valuable asset. Our module provides you with the knowledge required to build a standards compliant web site. The website will be a blend of XHTML, Cascading Style Sheet and a scripting language and incorporate media and text elements. You will also be expected to submit documentation containing an introduction, descriptions of the purpose and aims of the web site. You will choose a subject for the website. The knowledge you will gain in this module will form the foundation for further web-based study in areas such as graphic design, user perceptions of the usability and quality of web pages and multimedia/database websites.
  • Learning and Skills for HE
    If you are entering higher education you will need specific study skills to enable you to maximise your learning potential and take advantage of opportunities available both in the academic setting and the workplace. Students enter with different levels of skills and experience and may approach the module in a variety of ways. The module prepares and supports you to build a strong foundation for learning and later development. Learning will develop and underpin Level One study skills in the first half of the semester with the focus moving towards individual formative support towards the end of the semester. You will develop and maintain a reflective learning log/blog to support this module and their continuing studies, the reflective log/blog is used as the basis of tutorial work and formative assessment. This work will also provide evidence for the beginning of a Personal Development Planning Portfolio that you will build on over the next two years of your studies. You will be expected to meet with your personal tutors to review your progress and actively seek out a mentor within the university community or workplace.
  • Operating Systems
    You will be introduced to the fundamental features of modern operating systems, their components and their use. You will learn key concepts including the kernel, memory and resource management, security and authentication, and command line and graphical user interfaces (GUI). Case studies will be used to familiarise you with the history and features of Windows/MS-DOS and Linux/Unix. The module will also introduce you to the command line interface (CLI) commands and scripting in both the Windows CLI and a Linux shell and allow you to develop simple scripts to automate activities in both operating system environments. It will also explain how each operating system stores configuration information and how (particularly in Linux/Unix) scripts can be used to modify that system configuration. The skills acquired in the module will enable you to go on to study modules which involve topics such as system administration, network and server configuration, and technical support, all of which are key skills graduates need when working in the systems and network support industries.
  • Software Principles
    Learn the fundamental concepts required to understand, design, implement and test high-level programming languages. We will introduce you to a design methodology to help develop linear and hierarchical trains of thought from idea conception through design and implementation to testing. You will use a simple interactive programming environment to discover how to create and use a wide variety of different basic and complex data structures. By the end of the module, you will be able to analyse a simple set of requirements, design appropriate data structures, select appropriate language syntax to manipulate program data and understand and use syntax for the implementation of conditional logic and repetition. You will also be able to create simple scripts, demonstrate familiarity with the taxonomy of programming languages and the software development life- cycle and gain sufficient experience of a range of algorithm design techniques.

Year two, core modules

  • Data Security
    Information technology has created a world that is increasingly virtual in nature. Both private individuals and businesses alike suffer the same vulnerabilities in managing access to valuable information that is increasingly being stored remotely. Whilst the public and industry professionals wrestle with the escalating complexity and variation in the ways that information is compromised, we see the emergence of the harnessing of digital insecurities as a weapon on an international stage. You will be introduced to some of the key concepts that lie at the heart of information security, but viewed at the more fundamental data level. You will be provided with a critical insight into the often misunderstood or poorly defined issues of data security and thereby offered a springboard to the study of information security at level 6. After studying this module you will understand how and why the digital data systems we use every day pose such a threat to individuals and businesses, where solutions are possible and where they might prove difficult or impossible. A key issue is the fundamental weakness that humans introduce into the technology. You are expected to augment the content delivered by lectures with independent study of your own on a weekly (or even daily basis) in order to remain current with developing threats. You will write up a dossier of weekly security issues and together with a 1,000 word technical discussion of a particular security vulnerability will form the final assessment making a 3,000 word submission in total.
  • Design Methods and Technology Project
    This module is essentially a mini project where you will design some artifact, e.g.: electronic hardware, software, multimedia production, website etc. The management of the project is in itself a core element and you are expected to produce a formal specification using sound design methods, a time plan and progress indicator. You will also be expected to produce a number of alternative designs that meet the specification, select the most appropriate design using recognised techniques and carry out design reviews.
  • Object and Data Modelling
    You'll cover two important areas of computer systems design in great depth based on the fundamentals of design introduced in Design Principles. The first area is the analysis and design of computer software using Object-oriented methodology. Starting with the basic concepts of object-oriented analysis and design methodology a range of Unified Modelling Language (UML) methods and techniques are introduced, independent of any specific programming languages. You'll learn about the theories of Object-oriented methodology and its modelling methods and techniques. You'll also learn to develop the ability and skills in applying object modelling methods to carry out practical system analysis and design tasks based on a given case study. This part of the module will also appreciate the strengths of object oriented analysis and design methodology in comparison with other methodologies, particularly the structured system analysis and design methodology and examine the stages of object oriented development life cycle and corresponding methods used for each stage. Through the module, you'll become familiar with notations of the latest version of UML and apply them in the practical work of analysing and designing a computer system. The second part of this module covers a wide range of issues with regard to analysis, design and implementation of relational databases using one of the industrial standard relational DBMS. Data capturing and modelling techniques such as Entity Relationship Diagramming and Normalisation is introduced. You'll also learn how to design and construct queries using Structured Query Language (SQL) and apply them to extract useful information from relational databases.
  • Object Oriented Programming
    Here, you will develop your programming skills and enhance your knowledge and skills in best programming practice. You will cover the essential aspects of input/output routines, control structures, contiguous data structures, and the devolvement of objects and methods, which will give you a detailed coverage of the object-oriented paradigm. You will adopt the computational way of thinking that a software developers use. By the end of the module, you will be able to assemble multiclass programs that meet the business requirements set in a specification.
  • Project Management and Quality Assurance
    If you work in the IT field you will find yourself part of a project team. For projects to proceed successfully it is important for all members of the team to be aware of their roles and responsibilities. In this module you will learn about your role as a team member, the structure of IT projects and the tools and techniques used for planning, monitoring and controlling such projects. The quality assurance portion of this module will help you to develop an understanding of the range of techniques which can be used to promote quality and their cost/benefit issues. You will practise a range of verification and validation procedures. You will be introduced to the standards relevant to IT projects and accreditation procedures. As well as taught sessions you will have practical and theoretical tutorial sessions. You will be assessed by presenting a case study.
  • Cloud Development
    Multi-sensorial web design is central to the production of an engaging site. Although modern development packages may contain all the essential tools needed to achieve this, without understanding the principles of digital design, a web site is unlikely either to impress or deliver. Here, you’ll be involved in the high-level design processes of interactive websites and understand the principles and practice of digital visual design using coding and scripting methods as the delivery technology. You’ll work to a specific brief, interpreting and analysing the original context to shape and inform the design, implementation and production of a web-based multimedia object. Using a suite of commercial-standard development tools and technologies, you’ll apply appropriate theory to the design, specification and creation of a visually cohesive multimedia site. You’ll cover topics such as marketing, site planning and structure, digital layouts, creating design style, navigation models and methods, and metaphors for websites. And you’ll apply key design concepts, principles and elements of visual design to websites, multimedia components and static images to an acceptable commercial standard.

Work placement (optional placement year)

Year three, core modules

  • Advanced Object Oriented Programming
    You’ll take the knowledge and Java programming skills from previous modules to develop your understanding of advanced concepts of object oriented programming, while focusing on good programming practice. You’ll advance your capabilities of Java language, as well as its versatile functionalities to develop Java Applets, Servlets, and APIs. You’ll also develop distributed programming skills and component-based software development using JavaBeans. You’ll create a written report on a programming project based on a given business case, covering description and justification of all stages of software development process including an evaluation of the quality, performance and security of the program.
  • Data-Driven Application Programming
    You’ll gain the theoretical knowledge and the practical skills to design and program data-driven applications. You’ll benefit from exposure to a program design methodology that’ll make the design and implementation of robust and professional applications easier and quicker whilst at the same time generating program documentation for future updating and maintenance purposes. There will be substantial support provided for you through face-to-face sessions as well as materials on our Virtual Learning Environment (VLE) online. This module and its assessment represent both an intellectual and practical challenge to produce a complete database-driven solution to a business requirement with the opportunity for you to extend the scope of the application. You’ll be provided with the opportunity to develop confidence in front-end application programming as well as learning skills in setting up, tuning and programming the back-end database management systems. You’ll be assessed by two pieces of coursework, one of which focuses on front-end application design and programming while the other on database implementation and programming. You’ll also do a presentation to demonstrate your understanding of the processes required to produce original database applications.
  • Ethical Computing
    Computer systems are essential components in our lives, and software controls virtually all aspects of our environment, so it’s important that developers are aware of legal and ethical responsibilities so that they operate in a professional manner to credit to the profession. Here, you’ll become aware of the legal framework in which you work, and the ethical issues that may occur with the systems you develop. You’ll discuss the role of professional and raise ethical and legal questions. You’ll explore cloud computing, big data and social media and sustainability issues, while considering a global perspective to demonstrate how you can be a ‘good citizen’ and ensure proper ethical design, build and destruction of systems.
  • Undergraduate Major Project
    You will create in a substantial piece of individual research and/or product development work, focused on a topic of your choice. You could choose your topic from a variety of sources including research groups, previous/current work experience, your current employer, a suggestion from your tutor or a topic you are specifically interested in. You will identify problems and issues, conduct literature reviews, evaluate information, investigate and adopt suitable development methodologies, determine solutions, develop hardware, software and/or media artifacts as appropriate, process data, critically appraise and present your finding using a variety of media. Regular meetings with your project supervisor will ensure your project is closely monitored and steered in the right direction.
  • Application Development
    With the deployment of Virtual Private Networks in many sectors of commerce, such as point-of-sale service businesses like travel agents, estate agents and other similar retail outlets, the need for a centralised database model with a simple client interface has emerged. The thin client model allows for the development of a simple interface application with little or no local functionality, user requirements being centred on server-based processing. Gain a theoretical appreciation of developing thin-client/fat-server applications and back this up with practical experience with state-of-the-art software. You’ll devote 50% of your class time to active programming and design, implement and deliver a robust, multi-user, client-server application based on a real-world application specification. This will give you experience of developing a complete solution to a business requirement and develop a range of skills that goes beyond just the technical knowledge needed to write program code.


We’ll use a range of assessment methods to help measure your progress. Besides exams, you’ll undertake case studies, in-classes tests, coursework, group work, presentations and log books.

Where you'll study

Your faculty

The Faculty of Science & Engineering is one of the largest of the four faculties at Anglia Ruskin University. Whether you choose to study with us full-time or part-time, on campus or at a distance, there’s an option whatever your level – from a foundation degree, BSc, MSc, PhD or professional doctorate.

Whichever course you pick, you’ll gain the theory and practical skills needed to progress with confidence. Join us and you could find yourself learning in the very latest laboratories or on field trips or work placements with well-known and respected companies. You may even have the opportunity to study abroad.

Everything we do in the faculty has a singular purpose: to provide a world-class environment to create, share and advance knowledge in science, technology and engineering fields. This is key to all of our futures.

Where can I study?

Lord Ashcroft Building on our Cambridge campus

Our campus is close to the centre of Cambridge, often described as the perfect student city.

Explore our Cambridge campus

This course gives you the opportunity to take a work placement between years 2 and 3. You’ll get experience of seeking and securing a job and working in an industry relating to your course. You’ll also get the practical experience and industry contacts to benefit your studies and enhance your long-term career prospects. Although they can’t be guaranteed, we can work with you to find a placement, using our contacts with a large number of employers. You’ll have regular contact with one of our course tutors and be supported by a supervisor from your placement company. Together they’ll monitor your performance and give you feedback. To find out more about placement opportunities, email us at

Fees & funding

Course fees

UK & EU students starting 2019/20 or 2020/21 (per year)


International students starting 2020/21 (per year)


Placement year (UK, EU, international students)


Fee information

For more information about tuition fees, including the UK Government's commitment to EU students, please see our UK/EU funding pages

Entry requirements

Loading... Entry requirements are not currently available, please try again later.

Important additional notes

Our published entry requirements are a guide only and our decision will be based on your overall suitability for the course as well as whether you meet the minimum entry requirements. Other equivalent qualifications may be accepted for entry to this course, please email for further information.

Similar courses that may interest you

Computer Science

Full-time, full-time with placement undergraduate (3 years, 4 years with foundation year, 4 years with placement)


January, September

Computer Networks

Full-time, full-time with placement undergraduate (3 years, 4 years with foundation year, 4 years with placement)



Apply now

UK and EU students

Apply through UCAS

UCAScode: I300, I301

Apply via UCAS

International students

Applicants from outside the UK and EU, apply to ARU

Apply direct