Back to course details

Software Development BSc (Hons)

Peterborough

Year 1

Programming Fundamentals

You will use industry-standard tools and techniques in this module, to design, implement, test and document simple programs using a current procedural language such as Python or C#. The module delivers the principal concepts of high-level programming, emphasises good programming practice and supports the techniques required to develop software which is robust, secure, usable and maintainable. The skills you develop will be directly transferable to the workplace.

Relational Database Development Fundamentals

This module will introduce you to structured relational development techniques involving the systems development lifecycle concept. Included are, requirements analysis, design methodologies and implementation of a relational database solution with SQL queries to meet a specified user need.

Computer Systems and Networking Fundamentals

This module introduces you to the components present in modern computer systems and networks. On completing this module, you will be able to specify, construct and maintain networked computer systems, and gain an in-depth understanding of common network architectures, their function, and confidently solve their problems. This module makes use of the content, labs and assessment from Cisco Introduction to Networks, the first in the three course Cisco Accreditation (CCNA) series, which can optionally be continued at level 5 on the Advanced Network Switching and Routing module. Upon completion of this module, you may opt to undertake the associated CCNA exam.

Web Development Fundamentals

This module provides an introduction to developing web sites using HTML/CSS. There is a focus on design techniques as well as client and server-side development using frameworks such as Angular.JS and Bootstrap. During the course of this module, you will create a complete website solution based on a small-scale scenario.

Into ARU

Entering higher education is exciting; but it can also be a daunting experience. At ARU, we want all our students to make the most of the opportunities higher education provides, reach your potential, become lifelong learners and find fulfilling careers. However, we appreciate that the shift from secondary education, or a return to formal education is, in itself, quite a journey. This module is designed to ease that transition. You'll be enrolled on it as soon as you receive an offer from ARU so you can begin to learn about university life before your course starts. Through Into ARU, you'll explore a virtual land modelled around ARU values: Courage, Innovation, Community, Integrity, Responsibility, and Ambition. This innovative module is designed as a game, where you collect knowledge and complete mini tasks. You'll proceed at your own pace, though we you to have completed your Into ARU exploration by week 6. If for any reason you're unable to complete by that date, we'll signpost to existing services so that we can be confident that you are supported.

Year 2

Object Oriented Programming Design and Development

On completion of this module, you will have a solid understanding of Object-Oriented Techniques including Inheritance, Association, Aggregation, Polymorphism and Encapsulation. Design techniques will aid the creation of software and you will develop Class Diagrams and other UML diagrams. Through the development of programs in an object-oriented language such as C# and Java, you will gain practical programming knowledge. The learning will be assessed through weekly in-class tasks and by writing a program to meet a brief support by a report justifying your design choices and object-oriented architecture.

Becoming an IT Professional

This module will enable you to reflect on what it is to be an IT Professional. Looking at both ethical and professional issues, the module will investigate the role that the IT Professional plays within organisations. You will consider managerial decisions, commercial aspects of IT decision-making, law in engineering, marketing, entrepreneurship, project management and project risk management using a number of case studies.

Ruskin Module (15 credits)

Ruskin Modules are designed to prepare our students for a complex, challenging and changing future. These interdisciplinary modules provide the opportunity to further broaden your perspectives, develop your intellectual flexibility and creativity. You will work with others from different disciplines to enable you to reflect critically on the limitations of a single discipline to solve wider societal concerns. You will be supported to create meaningful connections across disciplines to apply new knowledge to tackle complex problems and key challenges. Ruskin Modules are designed to grow your confidence, seek and maximise opportunities to realise your potential to give you a distinctive edge and enhance your success in the workplace.

Internet Programming Design and Development

This module is designed to introduce you to the design, development and implementation of client / server applications for Internet or Intranet web sites. Building on from Programming Concepts and Introduction to Web, you will develop web pages created with HTML, and scripting languages to access a database via SQL statements embedded in appropriate pages. It is expected that students will have a thorough foundation of HTML, CSS and Scripting languages before beginning this module having undertaken the Web Design Fundamentals module at Level 4.

Algorithms, Data Structures and Advanced Programming

Design patterns and algorithms are commonly defined as reusable solutions to commonly occurring problems within software design. The knowledge of modern design patterns has become a key requirement for the employment of software engineering graduates, therefore contemporary real-world scenarios will be utilised throughout the module ensuring currency of knowledge.

Team Based Project

The aim of this module is to offer you an opportunity to demonstrate the skills required for managing and implementing a project. They will undertake a live brief, set by industry partners and carry out and execute a computing project which meets appropriate aims and objectives. On successful completion of this module you will have the confidence to engage in decision-making, problem-solving and research activities using project management skills. They will have the fundamental knowledge and skills to enable you to investigate and examine relevant computing concepts within a work-related context, determine appropriate outcomes, decisions or solutions and present evidence to various stakeholders in an acceptable and understandable format. You will work in development teams made up of members made up of a mix of students from across the 5 specialisms, ensuring that the live brief is appropriate to the skill sets represented.

Year 3

Future Tech and Development

This module encourages you to consider future technologies and to consider developments in your field of choice. The aim of the module is to enhance your understanding of the current state, terminology, advantages, disadvantages, potential impact, and benefits of future technologies. On successful completion of this module you will be able to explain some of the most promising and impactful future technology and developments in computing. As a result, you will develop skills such as communication literacy, design thinking, employability, research, critical thinking, analysis, reasoning, interpretation and computer software literacy, which are crucial for gaining employment and developing academic competence.

Developing Legacy Software Systems

One of the issues a professional software engineer may face is that of software systems that have been in operation for some time. Software development is expensive, and a user may have use for a particular software package, there may be little or no motivation to replace it, especially if that software is associated with a critical service within a company. Such systems are called legacy systems. This module builds on skills learnt throughout the course and introduces the software process for maintaining, updating, or replacing legacy systems.

Full Stack Software Development

Full-stack applications consist of the backend databases, APIs and front-end interfaces that make up a fully functional desktop or web app with persistent data. Having covered many of these topics individually throughout the course, on this module you will develop an understanding of the responsibilities, challenges and skills needed to work on the ‘full-stack’ simultaneously and bring everything together via the use of application frameworks. You will gain experience in creating software across, not only the full lifecycle, but using the most up to date techniques such as the creation and use of complex APIs. Complex applications can be built by 'wiring' these selected components together. You will also work, as part of a development team to identify framework features, version control, debugging and developing tests, analysing code coverage, and deployment.

Development on Cloud Platforms

This module looks at the relationship between the cloud, DevOps and Agile ways of working, you will understand how to reflect on the appropriate application mindset, platforms and practices for creation of software hosted on cloud platforms, before identifying the key considerations for migrating existing services to the cloud. This module will give you hands on experience of writing software hosted on cloud platforms such as AWS or Azure.

Computing Major Project

The individual Final Project module will allow you to engage in a substantial piece of individual research and / or product development work, focused on a topic relevant to your specific discipline. Your topic may be drawn from a variety of sources including: Anglia Ruskin research groups, previous / current work experience, your company in which you are currently employed, an Anglia Ruskin staff-suggested topic or a topic of your specific interest related to your course discipline. Your project topic will be appraised for suitability to ensure there is sufficient academic challenge and that satisfactory supervision by an academic member of staff is available. Your chosen topic will require you to identify / formulate problems and issues, conduct literature reviews, evaluate information, investigate and adopt suitable development methodologies, determine solutions, develop hardware, software and/or media artefacts as appropriate, process data, and critically appraise and present your findings using a variety of media. Regular meetings with your project supervisor will take place to ensure the project is closely monitored and guided in the right direction. A successful project will increase your employability as employers often place far more emphasis than the credit weighting suggests for this module because it will reflect skills directly applicable to the workplace and real world projects (such as qualities of self-management, planning and organisational skills). It is common practice at interview for an employer to ask you about your project as it gives you a chance to demonstrate your technical and communication skills on a specialist topic that you will be enthusiastic and knowledgeable about. For these reasons you will also have to undertake a small amount of Personal Development Planning with respect not only to your project but also more generally to prepare you for life after university.

View the full module definition