Modules
This module introduces students to general Computing Principles and Skills which will serve as a foundation for all future modules.
During this module, students will explore the purpose of the CPU within a computer, breaking down the steps involved in executing a single instruction in a computer program.
An understanding of algorithms, including key algorithms for searching and sorting data are covered, along with an introduction to measuring algorithm efficiency.
The basics of programming are introduced, including simple commands, controlling program flow, and working with various data types. Students will also learn modern techniques such as object-oriented programming, using APIs, and handling JSON data. A strong practical focus allows them to design, code, and test programs as part of the software development process.
Additionally, key mathematical skills are developed, alongside activities designed to enhance independent and academic study skills.
- Hardware components in a computer system.
- CPU architecture
- Boolean Algebra and the use of logic gates within the computer system.
- The Fetch-Decode-Execute cycle
- Key algorithms for searching and sorting
- Introduction to formal languages used to describe algorithms
- Assessing algorithm efficiency with Big O notation
- Types of data including data formats and collections
- Control flow with programs
- Object Oriented Programming including Functions, Classes and Methods
- Connected applications focusing on APIs and JSON data
- Binary and Hexadecimal number systems, including conversions and mathematical functions.
- Introduction to set theory.
- Algebra
- Functions
- Trigonometry
- Vectors
- Matrices
- Combinations and Permutations
- Learning to use and navigate a range of digital spaces specific to your subject
- Understanding academic conduct and conventions for communicating information
- Finding and using a range of academic sources relating to your subject
This module gives students the opportunity to learn how computers are used in different ways to build and manage software products and services.
Maths skills are further developed and relevant software is introduced.
Students learn how websites are created using HTML, and how website data is transferred between a server and the end-user’s computer
Students will be introduced to the essential principles and practices in the field of Cybersecurity covering key subjects such as Confidentiality, Integrity and Availability of data. They will study cyber-threats, cyber-crime and the activities of cyber criminals whilst learning practical ways to protect themselves online, including the use of VPNs and antivirus software.
Students are familiarised with the basics of Information Security Management Systems (ISMS), an understanding of cybersecurity tools and in-depth look at penetration testing.
Hands-on workshops will focus on the practical use of virtualization and Linux as foundational tools in modern day cloud-based applications and their inherent strengths and weaknesses from a Cybersecurity perspective.
- Website creation with HTML and CSS with an introduction to website hosting.
- Introduction to The Software Development Lifecycle
- Network protocols and data transmission techniques.
- Cybersecurity terminology
- Cybersecurity tools and technical security solutions
- Programming from a cybersecurity perspective
- Introduction to Information and System Security Core threats to Information and System Security (technical, social engineering, organisational structures) Introduction to Information Security Management Systems (ISMS) e.g. the CIA triad, risk management, security policies and standards
- Introduction to penetration testing
- Social engineering
- Virtualisation and Linux
- Programming in C
- Defensive programming using encryption, data validation and exception handling
- Coordinate Geometry
- Quadratic equations
- Simultaneous equations
- Introduction to Calculus
- Advancing digital and academic skills introduced during Term 1
- Developing research and information literacy in relation to your subject
- Creating an academic poster on a chosen research paper
This module is designed to give foundation year students an introduction to the fundamentals of Data Science using the Python language. Students will gain hands-on experience of analysing data, presenting insights into that data and using machine learning to predict future outcomes based upon past events.
- Understanding the full software development lifecycle from requirements definition to implementation
- Working with the NumPy and Pandas libraries for Data Science
- Exploring data visualisation with Seaborn and Matplotlib
- Data pre-processing for machine learning
- Building regression models to explore and utilise trends within data
- Using a range of common techniques to measure performance of machine learning models
- Exploring real life uses and practical examples of machine learning
- Statistical methods such as mean, median, mode, standard deviation
- Identifying and excluding data outliers
- Correlation/linear regression
- Introduction to Statistical tests
- Introduction to Games Design
- Use of Artificial Intelligence as a programming assistant
- Graph Theory
- Computational Complexity (P vs NP)