Curious about studying Applied Software Developmentat University of the Highlands and Islands (UHI)? We've gathered all the key details—entry requirements, modules, fees, and more. Hear from real students by checking out reviews, or take the next step by booking an open day to explore it for yourself.
Bachelor of Science (with Honours) - BSc (Hons)
UHI Inverness
Full Time
Sep 2026
4 Year
Did you know that artificial intelligence and data analytics are being used by IBM to support rhino conservation in Africa? Or that IBM Blockchain is used to trace products through a supply chain, from farm to fork, reducing the risk of food-borne illness and fraud? Do you want to be involved in creating software that helps solve a range of global challenges just like this?
In collaboration with IBM, we have created this innovative BSc (Hons) Applied Software Development degree to help you develop the skills, knowledge, creativity and confidence to be successful within this field. Replicating modern software development practices, you will work in teams throughout the programme. Set entirely online, a typical day will begin with a short meeting to set the team’s priorities, allowing you to manage your time between practical work, directed learning and scheduled tutorials. You will work to develop a portfolio that will be attractive to employers; this will be used by your tutors to assess your individual contribution to each project. Team work will be supported by an annual boot camp delivered at the start of each academic year. You will have access to world-class technical input from professional mentors and guest speakers, and be encouraged to develop individual expertise and industry contacts. Visit our website to view our FAQ link.
This module introduces students to the expectations of them as professional developers. They will develop an understanding of working with peers with different levels of prior knowledge. This module gives students the foundations for creating applications using programming languages. Students will learn about the risks of development and how this can lead to cybersecurity incidents. Students will practice the craft of programming on short problems, for which they are encouraged to use a wide variety of languages and coding styles. The bulk of their work will be made up of tasks on a large code base.
This module aims to provide students with the skills to manage projects that have deviated from their intended timeline and requirements. It will develop their knowledge of Agile as well as work on their communication skills to produce constructive feedback for peers. This module's technical aims are to provide students with an understanding of common problemsolving techniques and to introduce them to security threats on safety critical systems.
This module follows on from the Principles of Programming and focuses on developing similar skills. The focus for this module is creating maintainable code using common patterns of code. These patterns will help you build more complex applications. This module also develops the project management process and explores security from a business point of view. Developing your team skills will continue, broadening your communication skills based on the audience and expected tone.
This module introduces students to the Agile software lifecycle. Students will learn how to create a Personal Development Plan, identifying the goals they will set for themselves for the academic year. Students will learn about, and set up, automated systems designed for integrating, building, testing, and deploying the code that a team of developers is working on. In doing so students will develop an appreciation for the business and technical challenges that CD/CI solves. During the module, students will also be introduced to a range of different tools and development environments
This module introduces the students to agile team-working practices, learning strategies and relational databases. The technical objectives focus on relational databases where students will learn how to break down a problem into a logical design. Students will build on their personal development plan by learning about different learning strategies and identify which ones work for them. This module will help students develop confidence in team situations and learn which communication methods to utilise depending on what they are trying to discuss. Like the approach for learning programming, students will be encouraged to use a variety of database software based on the needs of the project.
This module complements the Databases module and focuses on the use of Data languages to scale across multiple platforms. Students will be introduced to considerations in project scheduling and the business requirements for time management. Teams will learn how to share feedback with each other effectively to solve project tasks to a higher standard. The technical focus will be on the use of NoSQL databases and use of JSON and XML as data transmission standards.
This module builds on the skills learned in the first year with students developing projects on a variety of platforms including Desktop, Mobile, and the Cloud. Students will explore different project management techniques and the types of software they benefit. They will also learn how to evaluate their own performance within the team. This module provides students with the skills to identify and correct a range of common software vulnerabilities.
This module aims to provide students with the skills to incorporate third-party software into their software, using libraries, frameworks and APIs. Students will look at the wider problem of meeting customer needs and combatting threats to their business. This module will aim to enable students to be more creative and self-motivated to achieve the goals in their Personal Development Plans.
This module complements the Software Services module by looking at systems as a whole and focusing on developing, as opposed to using, technologies such as API and libraries. Students will be introduced to different ways to build software applications using a variety of design architectures. This module will enable students to break down problems into components and critically think about the approach to security.
This module introduces the students to how they can build in processes to create good quality software. Students will learn how Agile can enable better quality software to be delivered to clients. They will compare different ways of working and how that impacts the efficiency of development and quality. The module will introduce students to good security practices that will limit potential for vulnerabilities. Students will build on their knowledge of tools to verify code and use test drive development techniques to maintain consistency as requirements change.
This module aims to provide students with the knowledge and skills used for securing and manipulating data. Many successful products now use external and open data sets within them. Software developers need to understand how that data can be stored, but also how to manipulate it successfully using languages such as R and Python. In a business context, this might include working alongside a Data Scientist or a member of the Marketing team. Alongside the technical goals, you will be learning to develop your active listening skills as well as starting to look at case studies of products in a marketing context.
This module complements Data Transformation and aims to provide students with how to present data effectively to a customer. From Education to Finance, users value being able to see data presented in an attractive way, be it a chart, table or infographic. This module provides you with experience of implementing a set of visually attractive infographics and dashboards that will allow you to draw users in. This module will also explore using third party data APIs and how to open a dataset for others to query from their own applications.
Students will be expected to produce a MVP with a few well developed, functional, secure features. After a design period they will create a prototype, making good use of existing libraries, cloud APIs or possibly even ‘no-code prototype’ tools like Google Docs, Zapier, IFTTT, etc. The aim of this unit is for the groups to produce what would be a first release of a product. They are expected to go through several iterations of their product leading up to this, responding to user feedback at each stage. Their initial prototype is expected to make use of existing libraries or tools. As an example, many SAAS products start life as ‘no code’ prototypes running entirely third-party services.
This module aims to provide students with knowledge and skills around a variety of design methodologies, allowing them to break down a set of requirements and explore potential solutions. You will learn about the different functions of a business and how software usage can depend on the role and function of individuals. You will also be introduced to the format of development contracts and expectations around professional skills such as planning and achieving objectives.
This module complements the 'Industrial Software Design' and 'User Experience Design' modules. It provides students with the tools to ensure a software product lives up to and exceeds customer expectations. Teams will focus on creating a minimum viable product (MVP) for a given problem. Students will learn the skills to develop early stage prototypes from existing libraries and services, find interested early adopters and follow a systematic development methodology. This module will further develop professional skills such as planning and achieving objectives.
This module aims to provide students with the knowledge to release applications successfully into a range of software ecosystems. Students will learn about managing their relationships within a larger organisation and to present a compelling case to gain commitment from others. This module will introduce students to topics like Intellectual Property and anti-piracy techniques that will enable them to build a successful software product. You will also learn about the process for releasing products into a variety of software ecosystems.
This module complements the "Data-led Decision Making" module and focuses on the conversion of data into knowledge. In Year 2 students learned to manipulate data into information that could be visualised; in this module students will learn how to develop that information into knowledge that decisions could be derived from. This module introduces students to the legal and ethical considerations when working with personal data. Students will learn how to manage data security and the importance of this from both a human and technical perspective.
This module complements the "Insight from Data" module and focuses on how businesses can use data to make better decisions. In this module we look at how using data can reduce risk and how risk can be managed within a project. Students will also learn about policies and practices for managing employment relations including issues relating to equality and diversity.
This module provides students with the opportunity to tackle a large Challenge Project and to manage it through the entire development lifecycle. Students will get to choose a single project from industry, the community, public competitions as well as their own concepts. Students will vote for the projects that most excite them and then they will be organised into teams to tackle them. These teams will last the academic year as students plan, implement, test and evaluate their product, developing both the product and the business opportunity. The module will allow the students to demonstrate all the skills and knowledge they have practiced over the previous three years, and engage with other tools and services that they need to bring their concept to life.
This module complements "Enterprise Transformation" focusing on businesses that have existing code bases that students may need to maintain when entering the workplace. Students will learn about common industry standards and how these are applied in the workplace. This module will allow students to look at industry and security trends and to evaluate how these might affect the industry in the following years. Technical skills will include looking at mainframes and legacy languages, identifying how to manage the change process in the face of these challenges.
This module complements "The Long Tail of the Software Cycle", however, it focuses on the transformation of existing systems. Students are introduced to planning and managing the transition of a live system to a new version. The module provides students with the skills to evaluate a business' position in the market and compare it to its competitors. Students will also deepen their knowledge of performance evaluation tools.
This module aims to provide an opportunity to research into a topic that interests you. As part of the large software challenge you might be applying a range of different development tools and techniques. This module offers you the chance to dig deeper and become more specialised in your understanding of a topic. In this module you will learn how to use scientific journals to investigate the start of the art, develop critical thinking skills to write a literature review, position your application of the technique in terms of current market trends.
CC Grades/points required
Not currently available, please Contact University for up to date information.