Year 0 – Foundation Year
Working with Software (20 Credits)
The aim of this module is to ensure that you have a good grounding in the software we use every day in computing to document and to capture information about computer systems, including video editing packages. You will also learn how to prepare for assessments by understanding the tasks to be undertaken, planning your time and ensuring what you submit meets the requirements. This will help you for future assessments in your degree.
Working with Computer Hardware (20 Credits)
This module aims to introduce you to the basics of how electronic and logical systems create computer hardware and to develop simple systems using such things and Arduino and Raspberry Pi computers. You will also learn how to use log books to record what you have done – to help your learning and revision of topics and also to evidence your contributions to group work projects.
Programming Concepts (20 Credits)
In this module you will learn some basics of computer programming using a language such as Python – how to write simple programs and to test these to ensure that they are working properly.
Mathematics OR Advanced Mathematics (20 Credits)
Much of what we do in Computing has a mathematical basis to it. On this module you will learn of refresh your knowledge of the mathematics we use most commonly in computing. The Mathematics module should ensure that you have a good grounding in the mathematics typically used at GCSE which will support your later learning in your degree.
Students who have already achieved a good GCSE, or equivalent, may study the Advanced Mathematics module if they wish to. This module covers more advanced mathematics and opens up opportunities for changing programmes to the Computer Science Degree.
Computing in Society (20 Credits)
The aim of the module is to investigate the role of Computing in society and how computing can affect the society we live in. For example we may look at how computer technology has enabled the casualization of labour through platforms such as Uber, Deliveroo, changed the shape of the high street with companies such as Amazon and the way we communicate and inform ourselves about the world with social media organisations such as Facebook. You will learn how to gather information and extract parts of this to form a good report, essay or presentation about a particular topic.
Programming Project (20 credits)
This programming project module provides you with the opportunity to consolidate your learning from other course modules such as; Programming Concepts, Working with Hardware and Working with Software. The project learning will adopt the Conceive, Design and Implement (CDIO) model of learning to support your and your peers learning and application to solve the problem typically sourced from local industry. Also, providing you the opportunity during foundation year to contribute to local industry through your project.
Introduction to C# (20 Credits)
The aim(s) of the module is to introduce students to the C# programming language and the Visual Studio Integrated Development Environment (IDE). The module is an initial module in computer programming and will assume no prior knowledge of programming. You will use a log-book to demonstrate your learning throughout this module as you build up your skills and will be assessed on specific entries into this log book.
This module provides support for the Design and Implement elements of the CDIO module.
Deployment Technologies for Computing (20 Credits)
In this module you will be exposed to basic understanding of electronic principles, sensors, wiring up electronic components, programming hardware systems, controls, robotics and also introduce a rapid application development platform to build mobile applications for a deployment system using visual and model driven approach. This will allow you to create simple prototype systems to demonstrate your concepts and ideas and will be used in the Software Lifecycle Development project in Semester 2.
Fundamentals of Computer Systems (20 Credits)
This module will introduce you to the base concepts of the binary computer through interaction with small devices such as simulation systems or the Raspberry Pi. Students will examine its components, its operation and basic elements of data storage.
Application Development (20 Credits)
The aim(s) of the module is to continue to develop your capability to develop simple C# solutions to problem situations. This will cover more complex programming concepts than looked at in Introduction to C# as well as concepts of Graphical User Interface development and design and linking C# systems to file store and database systems.
Ethics, Professionalism and Employability in Computing (20 Credits)
This module aims to give a good understanding of ethical, professional and employability issues you will encounter when embarking on a career in Computing. The module will focus on the kind of roles available to computer professionals and discuss the choices required, both in general and with regard to the degree modules that might best guide you into a particular career. Students will have the opportunity to research and explore the knowledge required for their chosen career and be encouraged to discuss the ethical and professional issues relating to these areas.
Software Lifecycle Group Development Project (20 Credits)
To develop your understanding of the fundamental concepts of software engineering you will work through a project in teams to develop a piece of software. You will work through the software life-cycle tasks to developing a computer-based solution to meet specific user requirements through the development of a simple system. You will also develop your understanding of what is required for good team formation and operation.
Object-Oriented Programming (20 credits)
Object oriented programming continues the software programming stream from year 1 by looking at a way of thinking about problems and development of solutions – using the class and object model. Continuing the use of the main programming language from year 1 (typically C#) the module deepens your knowledge of how to use the power of this development language. The students will also consider the concepts of the ethics of untested software and Intellectual property rights in the software industry and how this may affect their own software development careers.
Software Engineering (20 Credits)
The aim of this module is to provide the students with an opportunity to understand the basic methodologies, tools and techniques involved in creating comparatively small software systems. The module aims to provide students with the ability to effectively use one of the industry used software development frameworks such as Visual Studio Team Services (VSTS) and its embedded tools to create a full application starting with a scenario of a small project idea and ending with full deployment of a solution application.
Database Enhancement Group Project (20 Credits)
The module aims to provide you with a practical appreciation of the fundamental issues involved in designing, implementing and testing a small relational database application in a multi-user environment using an industry-standard database management system. You will be taking an existing database and making improvements to this while understanding the modelling concepts and theory to understand database systems.
Web Development Project (20 credits)
This module aims to provide students with the theoretical knowledge and practical skills to understand and construct interactive websites. The focus will be on client-side and server-side design and implementation enabling students to appreciate the role of various network architectures and system configurations. This module provides support for all elements of the CDIO model.
Networking and Operating Systems (20 Credits)
The aim of this module is to first introduce you to basic principles of operating systems and undertake practical exercises on basic administrative tasks. You will also be introduced to the fundamental aspects of Computer Networks. Key aspects such as the design, construction and operation of Local and Wide Area Networks, and the layered protocol architecture are covered. The module aims to reinforce the taught material using physical equipment and software tools in a laboratory environment.
Algorithms and Data Structures (20 credits)
In software development we often use standard techniques to solve problems. These solutions come from the way we store the information (Data Structures) and the steps we work through to arrive at the information we need to extract (the algorithms). This module looks at both elements together – so you can understand how to create solutions more quickly, reliably and with ease of understanding and maintenance of other programmers. This essential skill for all developers will help you work effectively in industry.
Optional Year in Industry
The year in industry allows you to develop your knowledge and skills in a business or industrial setting. This allows you to build up the practical skills desired by employers and to demonstrate your capabilities on your CV.
Individual Study - Part A (20 Credits)
The Individual Study is your opportunity to demonstrate your capabilities and what you have learned over your time at University and is worth a third of your final year credits. You will perform a research task that will usually involve literature and practical work. You will write a dissertation to describe your work and create a poster to present the work to a broad range of people.
Programming Languages and Frameworks (20 credits)
The module introduces special purpose frameworks used for special types of applications, such as web applications with special languages such as CodeIgniter for PHP, or Selenium for Testing. You will look at a variety of different frameworks in different areas of software development with a view to evaluating commonality and differences between them.
Cybersecurity (20 Credits)
In this module you will learn to how to perform a risk assessment of a variety of assets linked to an organisation, such as information, computers, networks, delivery and supply chains, people and buildings. You will then develop skills to protect information systems (hardware, software and associated infrastructure), the data on them, and the services they provide, from unauthorised access, harm or misuse. We believe that an understanding of computer security is so important in modern IT that all computing students should be versed in it to some level to protect themselves and any organisation they work with.
Individual Study- Part B (20 Credits)
You will continue and conclude your work on your Individual Study that you started in the first Semester.
Human Computer Interaction (20 Credits)
The module shows you to concepts relating to how to ensure usability is part of the design of new systems and to introduce systematic approaches to the design and analysis of user interfaces. You will explore the new research, developments and future direction of the field to enhance the interaction between humans and computers and
Advanced Databases and Big Data (20 credits)
This module uses the Conceive Design Implement Operate (CDIO) educational framework utilising software engineering fundamentals within the context of conceiving, designing, implementing and operating a complex value-added real-world database system. The module follows on directly from the Year 2 Database Enhancement Group Project module. It aims to consolidate/extend the practical and analytical skills required to carry out more advanced logical/conceptual database design and explores alternative ways of modelling data. It also aims to keep students abreast of recent developments in the field; particularly in the storage and effective use structured Big Data.