Apply for this course
Please select when you would like to start:
If you're a UK applicant wanting to study full-time starting in September, you must apply via UCAS unless otherwise specified. If you're an international applicant wanting to study full-time, you can choose to apply via UCAS or directly to the University.
If you're applying for part-time study, you should apply directly to the University. If you require a Student visa, please be aware that you will not be able to study as a part-time student at undergraduate level.
Why study this course?
Our Computing BSc (Hons) course is a professionally-focused degree, designed to equip you with skills relevant to the industry. You'll learn the basics of commercial applications and programming skills sought by employers, as well as specialist topics of your choosing. There will also be opportunities to complete placements in the industry as part of your studies.
On graduating, you'll be eligible to apply for Membership of the British Computer Society (MBCS).
Our Computing degree has been accredited with full CITP status by BCS, The Chartered Institute for IT. This accreditation is a mark of assurance that the degree meets the standards set by BCS. As a graduate of this course, accreditation will also entitle you to professional membership of BCS, which is an important part of the criteria for achieving Chartered IT Professional (CITP) status through the Institute. Some employers recruit preferentially from accredited degrees, and an accredited degree is likely to be recognised by other countries that are signatories to international accords.
Apply for membership of the British Computer Society
On graduating, you'll be eligible to apply for Membership of the British Computer Society (MBCS)
Accredited by the Chartered Institute for IT
This degree has been accredited with full CITP status by BCS, The Chartered Institute for IT
A choice of specialisms
You'll have the opportunity to specialise in fascinating areas such as artificial intelligence, ethics or computer law
Course modules
The modules listed below are for the academic year 2024/25 and represent the course modules at this time. Modules and module details (including, but not limited to, location and time) are subject to change over time.
Year* 1 modules
Year 2 modules
Year 3 modules
Computer Hardware and Software Architectures
This module currently runs:all year (September start) - Monday afternoon
all year (January start)
(core, 30 credits)
The module introduces students to the basics of Information Technology; past, current and future trend in computer systems. The detailed design of a small-scale Computer Systems is presented where students have the opportunity to build, configure and test a computer system for a given application. Students will identify the basic features of the Windows operating system and its elements. Health Safety issues and the safe disposal of equipment is also covered leading to an understanding and appreciation of social, ethical, environmental and economic issues related to computer’s hardware and software element. The module aims to
1. Introduce students to the fundamental concepts of Information Technology and basic networking,
2. Provide a working technical knowledge of modern computer systems and their respective components,
3. Introduce Operating systems by focusing on Windows products, identifying similarities and differences,
4. Identify the correct approach to preventive maintenance and upgrading and troubleshooting
5. Introducing students to Assembly language and how it interacts with hardware
6. Awareness of social, environmental, commercial and economic aspects of PC technology
Fundamentals of Computing
This module currently runs:spring semester - Tuesday afternoon
(core, 15 credits)
Students will receive an introduction to the principles of information processing and an overview of the information technologies for digital data processing using computational and communication devices, including an initial understanding of the requirements for usability, quality, complexity, security and privacy of the developed solution. The students will obtain initial practical skills in modelling, design, implementation and testing of software systems for real-world application using a suitable programming language.
Read full detailsIntroduction to Information Systems
This module currently runs:autumn semester - Tuesday afternoon
(core, 15 credits)
Students will receive an introduction to the business environment and the role of information management and information systems within business.
The module develops an understanding of the Information Systems, the Software Development process and the basic technology underpinning these systems. This will include database management systems and the Internet. Students which will develop key skills and knowledge in the aspects of an information system, including databases, websites, and scripts with particular regard to usability.
• The module aims to provide an overview of the nature of organisations, their business models, and how key areas operate to meet business objectives. It introduces students to organisational culture, data, information and knowledge management, and the role of information in organisational decision making.
• Within the module the students will be given an appreciation of the effect of ICT on organisational performance, and a basic understanding of the processes of developing and maintaining information systems, software products and services.
• An introduction to underlying technologies (e.g., databases, Internet and Web) is embedded in the module, which also seeks to develop basic competence and confidence in the use of appropriate tools, techniques and academic and communication skills, with an underlining awareness of legal, social, ethical and professional issues.
Logic and Problem Solving
This module currently runs:all year (September start) - Friday morning
(core, 30 credits)
The module aims are to give the students an understanding of how problems can be solved systematically, plan their solutions and write them in the form of algorithms. This module also develops a range of mathematical techniques including set theory, logic, relations, functions and operational research techniques. In addition, it gives a grounding in standard software packages, to give students an understanding of their use in problem solving as well as to make students able to apply these packages appropriately in subsequent modules.
Read full detailsProgramming
This module currently runs:all year (September start) - Tuesday morning
(core, 30 credits)
This is an introductory programming module, designed to develop interest, ability and confidence in using a programming language. Students will gain the basic knowledge and experience to solve simple programming problems using established techniques in program design, development and documentation. It is expected that on completion of this module, students will be able to design, implement and test object-oriented programs. The module also enables to self-study a popular programming language and obtain a completion certificate. The student is also expected to develop their confidence needed to program solutions to problems through a series of practical programming exercises.
Assessment: Multiple choice test (30%) + Programming certificate(10%) +Coursework (60%) [Pass on aggregate]
Read full detailsAdvanced Programming and Technologies
This module currently runs:spring semester - Thursday morning
(core, 15 credits)
This module will introduce students to more complex programming problems, such as the manipulation of fundamental data structures, various important algorithms, such as sorting and searching, and provide them with practical understanding and techniques, to tackle object-oriented programming issues related to the program scale, complexity and programming productivity. The module will also enable students to evaluate, select and employ suitable software development tools and technologies for program design and implementation.
The module aims to:
address programming issues when the program size increases e.g. complexity, scalability and productivity.
familiarise students with major programming platforms/technologies to handle the addressed issues
Class libraries, APIs
Components
Frameworks
Development platforms and current IDEs
enable students to evaluate, select and use suitable programming technologies for program design and implementation.
Cloud Computing and the Internet of Things
This module currently runs:autumn semester - Friday morning
(core, 15 credits)
This module will enable students to understand the Internet of Things (IoT) and Cloud Computing concepts, building blocks, ecosystems, infrastructure, and applications. This will enrich their knowledge and understanding of the core technologies and platforms for IoT and Clouds, that allows digitally enabled devices or objects to collect, gather, and transfer data over a network without involving human-to-human or human-to-machine interaction.
The module will place emphasis on IoT components and delivery models, IoT system architecture, key wireless/mobile/sensor technologies, IoT communication protocols, issues of privacy and trust, cloud platform, and virtualization technologies in the development of IoT cloud infrastructure and applications.
Students will be supported with a series of exercises performed using a powerful network simulation tool, that will cover the range of basic principles to more advanced IoT system design. This will allow students to get real world experience in building IoT system by integrating sensor devices and cloud for creating interconnected solutions to smart cities, homes, and enterprises. Some basic knowledge of Python will be used throughout. By the end of the module, you will get experience in solving real-world problems (IoT and Cloud system implementation) efficiently using simulation modelling.
Read full detailsDatabases
This module currently runs:autumn semester - Wednesday morning
(core, 15 credits)
Introduces techniques for analysing, designing and implementing database systems. An understanding of data modelling and design concepts is provided and database programming language skills are taught. The practical aspect of developing database systems is emphasised and use is made of a widely-used commercial database system (e.g. Oracle) for this purpose.
The module will enable students to give an introduction to the issues governing the design and implementation of database systems. Theoretical aspects of designing sound database systems, as well as the practical aspects of implementing such systems are presented. This therefore allows students to understand, and put into practice, the techniques available for analysing, designing and developing database systems.
Read full detailsNetwork Operating Systems
This module currently runs:autumn semester - Thursday morning
(core, 15 credits)
This module helps the students to develop the theoretical and practical knowledge of Network Operating Systems, used by the enterprise today. This is achieved by exposing the student to some of the most commonly used network operating systems. The student will reinforce their theoretical knowledge in practical sessions where they will install configure, manage and troubleshoot network operating systems.
The module covers the necessary background through formal lectures/seminars followed by comprehensive hands-on practical workshops.
The aims of this module are:
1. To understand the importance of Network operating systems (NOS)
2. To explain the operation of Network operating systems, and their benefits
3. To describe hardware requirements for the effective operation of NOS
4. To compare some of the most commonly available NOS, and their abilities and limitations
5. To understand the concept of virtualisation and its application in modern server environments
6. To understand server documentation, security and trouble shooting
Professional and Ethical Issues
This module currently runs:spring semester - Thursday afternoon
(core, 15 credits)
This module focuses on professional, social, ethical issues within the context of social responsibility and covers relevant computer laws (LSEPI) underpinning the Computing discipline. The focus of the module is empowering student to take their place in society as socially responsible professionals and allowing the exploration of self-awareness, empathy, self-efficacy and engagement in students
Assessment: Coursework (100%)
The aims of this module are to:
• Expose students to a range of professional and ethical issues to prepare them to develop their own response to working with a professional outlook.
• Prepare students for the world of work and equip them with the knowledge and appreciation of professional bodies, code of conducts and professional certifications.
• Provide students with knowledge and understanding of the regulations governing the digital environment (e.g. Internet) and social, ethical and professional issues (LSEPI) underpinning the Computing discipline.
Introduce students to academic research and research ethics, and to academic writing.
Smart Data Discovery
This module currently runs:spring semester - Friday morning
(core, 15 credits)
This module will enable students to understand the fundamental concepts of data science and appreciate key techniques of data science and its applications in a wide range of business context. Students will be exposed to data understanding, preparation, modelling, results evaluation and data visualisation techniques that can assist businesses in making effective data-driven decisions to improve productivity and consumer satisfaction. Students will be introduced to the practical application of tools and techniques required to perform data science projects in a modern business environment.
Read full detailsSoftware Engineering
This module currently runs:all year (September start) - Monday morning
(core, 30 credits)
This module provides a systematic approach to software analysis, design, construction, testing, deployment, and maintenance. The module also broadens the student’s knowledge of software engineering and systems development methods, techniques and tools. The general principles of Software Engineering and Systems Development will be introduced; notably the software life cycle and different software development approaches. Students will be able to choose appropriate software development methods and apply them to case studies. They will use a variety of critical techniques and tools to model requirements and logical design.
Students will apply their knowledge of computer systems and application areas to produce outline physical designs. Students will develop project planning and management, teamwork and communication skills, taking into consideration risk/safety, security, and professional and legal issues in the development of software products, information systems and services. Experience of working as an individual and a team member on a software development case study will enhance students’ employability.
Read full detailsApplication Development
This module currently runs:all year (September start) - Friday afternoon
(core, 30 credits)
CS6004 Application Development 30 weeks: This module will equip students with essential knowledge and skills to become efficient software developers. The module will consolidate and integrate programming concepts and techniques which students have learned earlier in the degree for the purpose of application development for the real world. The module will also extend students’ knowledge and skills for them to be able to tackle issues pertinent to realistic application development projects.
The module delivery will be conducted in a practical fashion through exposing the student to one exemplar of modern development platform/technologies in depth and then requiring them to develop a significant software artefact using the exemplary toolset/development platform, and to reflect on the process and the solution. (Exam, course work and practical exam). It will cover risk assessment to identify and implement appropriate security.
The module aims are:
● To provide students with a disciplined understanding of the state of the art of application development in terms of development technologies, development platforms and toolsets, risk assessment and security in the broader context of the IT industry business.
● To consolidate the techniques and concepts introduced in earlier programming modules in order for students to be able to employ them in an integrated fashion in realistic application development projects.
● To introduce students to a major contemporary software development platform, including its programming languages and toolsets for application development.
● To train and equip students with necessary hands-on skills in using a major development platform and environment to design and implement a significant software application.
Career Development Learning
This module currently runs:spring semester - Wednesday afternoon
autumn semester - Wednesday afternoon
(core, 15 credits)
The module enables students to undertake an appropriate, short professional activity related to their course at level 6 with a business or community organisation and to gain credit for their achievements. The activity can be professional training or certification, a volunteering activity, employment through internal or external work-based placements, research-related activities, business start-up projects, entrepreneurship programs and more. Please see the complete list of accepted activities on WebLearn.
Students are expected to engage in any one or combination of career development learning activities for a total of ~70 hours which should be recorded clearly in a tri-weekly learning log – part of the portfolio. The ~70 hours can be completed in ~30 working days in FT mode or spread over a semester in PT mode.
Students are expected to complete a total of ~150 hours, 70 hours of which is direct engagement in any one or combination of career development learning activities. Progress should be recorded clearly in tri-weekly learning logs which are part of the portfolio. The ~150 hours can be completed in ~35 working days in FT mode or spread over a semester in PT mode.
Students should register for the module to be briefed, undergo induction and module planning and have their career development learning activity approved before they take up the opportunity. Students must be made aware that both the "Learning Agreement" (LA) and relevant "Health and Safety (H&S) checklist", where applicable, must be approved before starting the learning activity. Activities started without prior explicit supervisor approval will not be accepted.
The module aims to provide students with the opportunity to:
• Gain a valuable experience of the working environment and the career opportunities available upon graduation.
• Sharpen critical thinking, creative problem-solving and the ability to articulate solutions correctly to decision-makers and budget-holders alike.
• Undertake a career development learning activity appropriate to their academic level to gain exposure and access to professional networks.
• Extend learning experience by applying and building on their academic skills and abilities by tackling real-life problems through enrichment and extracurricular programs related to student subject areas.
• Enhance existing skills and master new ones through a structured personal and Professional Development Plan (PDP).
Data and Web Development
This module currently runs:all year (September start) - Friday morning
(core, 30 credits)
This module builds upon the student's general understanding of database design and implementation from prior learning. It discusses some key issues underpinning database management systems and their development, provides a strong coverage to advanced SQL, which helps preparing for professional certification. Introduces some current topics in database technology such as NoSQL. In addition, the module contains a substantial practical element utilising advanced SQL and full- stack web development framework application enabling students to gain transferable skills in designing and developing relatively complex ‘real life’ database applications using web database technologies.
The module will enable students to:
•Gain in-depth understanding of some key issues pertinent to the management and development of modern database applications.
•Acquire skills in advanced SQL which provides an opportunity for gaining professional certification.
•Introduced to current developments in database technology thereby raising students’ awareness and understanding of the future trend in SQL and NoSQL systems development.
•Design and develop relatively complex business web database application using industry-standard database products (e.g. Oracle Server/SQL Server/ MongoDB with .NET Core and MVC Framework).
Project
This module currently runs:all year (September start) - Wednesday afternoon
(core, 30 credits)
The module enables students to demonstrate their acquired knowledge and skills through a systematic and creative investigation of a project work in accordance with their course requirements. The topic of investigation will cover a broad spectrum of various analysis and techniques and will lead to a comprehensive and concise academic/industry-related report. Students will be assisted in exploring areas that may be unfamiliar to them and encouraged to develop innovative ideas and techniques. Students will be able to choose a project that may require the solution to a specific problem, creation of an artefact in a real-world environment or an investigation of innovative ideas and techniques related to an area within their field of study. Collaboration with outside agencies and projects with industrial, business or research partners/ sponsors will be encouraged.
Assessment: Project Report Interim Submission(25%) + Project process (25%) + Project Report Final Submission(40% -Pass on component) + Viva (10% -Pass on component).
The module aims to develop a wide range of subject specific cognitive abilities and skills relating to intellectual tasks, including practical skills and additional transferable skills of a more general nature and applicable in many other contexts.
Particularly, the module aims to:
•Provide an opportunity to learn, through supervised experience, how to plan and carry out a project through a systematic and creative approach;
•Encourage innovation and originality in approach to investigating a problem in an area that may be unfamiliar to the student;
•Provide opportunity for in depth study of some specialised area of suitable scale and complexity relevant to their course of study;
•Raise awareness in potential business development opportunities in connection to the project work undertaken and of any ethical, legal and professional issues;
•Develop reporting skills as well as the ability to communicate results, conclusions, and the knowledge and rationale underpinning these, to specialists and non-specialist’s audiences, clearly and unambiguously;
•Encourages reflection upon the relationship of design decisions to the appropriateness of the finished task;
•Enhance professional and personal development.
Read full detailsArtificial Intelligence
This module currently runs:autumn semester - Thursday afternoon
(option, 15 credits)
This module provides an introduction to the field of Artificial Intelligence, from its historical context to its current state. Students will research an aspect of AI and work in teams to design an intelligent system and develop a simple prototype.
The module aims to
• to build students’ knowledge and understanding of AI and its range of applications;
• to enable students to use their skills and knowledge to design a contemporary intelligent system;
• to develop students’ critical faculties with respect to the ethics and the issues surrounding AI;
• to build skills in software engineering and prototype development
Mobile Applications
This module currently runs:spring semester - Monday morning
(option, 15 credits)
This module introduces a range of specialist programming techniques as applied to mobile platforms. Specific areas of study will include: programming strategies for resource-limited portable devices – including reviewing key components through the development of exemplar applications using an appropriate mobile-based programming platform such as Java ME and Google Android.
The key skills and knowledge to be gained are:
•Understanding theoretical concepts related to the work of software in wireless networks and the use of different protocols, frameworks and tools for building mobile applications
•Learning techniques for programming mobile applications using standard technological frameworks, development tools, mobile device emulators and handsets
•Acquiring practical skills in developing mobile applications which utilize wireless services and mobile Internet
•Applying analytical knowledge and practical skills for building typical mobile applications
•Developing ability to compare protocols, models and paradigms for mobile applications and estimate trade-offs during design using different design patterns, development frameworks and programming techniques
•Building professional competence and increasing the employability through the use of industrial standard technologies and tools for software development
Read full detailsProject Analysis and Practice
This module currently runs:autumn semester - Thursday morning
(option, 15 credits)
The aim of the module is to explore how projects are analysed, developed and managed in a business setting and the types of project methodologies that are used. Students will engage in using a methodology such as Agile in a team setting to understand the different roles within the Agile methodology. The module will examine the role and value of UML and other project management tools. The module will use case studies to gain a deeper knowledge of how projects are analysed, developed and managed. The module will be assessed by means of a 3000 word report based on a chosen case study.
Read full details