More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
post
page
Python IDE Dashboard

Types of Software

A computer system is made of both hardware and software.

The hardware components of a computer systems are the physical components of the system and include the motherboard, the CPU, RAM and ROM and all input, output and output devices.

Software consists of the computer programs that run on hardware. They fall into three main categories:

Operating Systems


The Operating System is an essential software needed to operate a computer. The Operating System is responsible for:

  • Process Management & Multitasking: The operating system allocates CPU time to the different jobs being processed by the CPU and may allow for multitasking, enabling the end-user to work on different applications at the same time.
  • Memory Management: The Operating System allows the user to load files and applications into the primary memory (RAM) and to remove these from RAM when they are no longer needed.
  • File Management: The Operating System lets the user organise their files in a folder structure. Users can create, rename, delete or move folders, subfolders and files that will be stored by the Operating System on the secondary storage devices.
  • Providing a User Interface to allow the user to interact with the computer. On a laptop or desktop computer most Operating systems (e.g. Windows, MacOs, Linux etc.) provide a Graphical User Interface (GUI) enabling the user to open apps in separate windows, use the mouse pointer to click on menus and icons. Similar Graphical User Interfaces are also available on smartphones running an iOS or Android Operating Systems.
  • User Management: Maintaining User Accounts and Access Levels: The operating system enables users to authenticate themselves often using a username or password or, on more recent smartphones, a fingerprint scanner or facial recognition software. Once logged in, the identified user will be given access to their own files, folders and settings based on their access-level
  • Peripheral Management: Managing the hardware including input, output and storage devices: The Operating System is the only software that will communicate with the different hardware components to decide what to display on screen, where to save or retrieve a file on secondary storage, what information to send to the printer, etc…

Drivers

To enable the Operating System to communicate with a wide range of hardware peripherals from many different manufacturers it is sometimes required to install drivers which are used to teach the OS how to communicate with a specific peripheral. (e.g. When connecting a new printer or game controller, you may have to install the required driver first).

Utility Software

Utility software is specific software that performs tasks to help with maintaining the computer system, to optimise the resources and keep the system secure.

There is a wide range of utility software including:

  • File Management software to help you organise your files using folders and sub-folders, move, rename or delete files and folders.
  • Disk cleanup software to help you free up space on your hard disk, and hence improve system performance. Disk cleanup software scans your disk to locate temporary files, Internet cache files, and other unnecessary program files that you can safely delete to free up space.
  • Defragmentation software is used to reorganise/optimise how files are stored on a hard-disk drive resulting in reduced read/write time when accessing files.
  • Backup software can be used to perform regular automated backup of all your files. Taking a backup of your files can be useful in case you have lost a file or your files are corrupted.
  • File compression software is used to create compressed files or group of files to save space on your secondary storage or to save time when transferring these files across the Internet.
  • Anti-virus and Anti-malware software that scan the content of your hard-disk drive to identify and quarantine potentially infected files and other malware such as trojan horses, worms, spyware or ransomware.
  • Firewall Software can be used to scan all incoming and outgoing traffic from/to your computer and block malicious requests and potential hacking attempts.
  • Encryption software is used to encrypt sensitive information before either storing it (e.g. Password Management Software) or before sending it across the network/ the Internet

Application Software

Application software is the main software that you will want to use when on your computer, tablet or smart phone. It incudes software such as:

  • Word Processing Software,
  • Spreadsheet Software,
  • Presentation Software,
  • Graphic & Photo Editing Software,
  • Video Editing Software,
  • Web Browsers.

Most of the Apps you use on your smartphone are also examples of application software.


Types of Software – Drag and DropOpen in New Window

OCR J277/02 – 2.2 – Programming fundamentals

2.2 – Programming fundamentals - Overview / Checklist
2.2.1 Programming fundamentals
The use of variables, constants, operators, inputs, outputs and assignments
The use of the three basic programming constructs used to control the flow of a program:

    Sequence
    Selection
    Iteration (count- and condition-controlled loops)

The common arithmetic operators
The common Boolean operators AND, OR and NOT

2.2.2 Data types
The use of data types:

    Integer
    Real
    Boolean
    Character and string
    Casting
2.2.3 Additional programming techniques
Standard searching algorithms:

    Binary search
    Linear search

Standard sorting algorithms:

    Bubble sort
    Merge sort
    Insertion sort

The use of basic string manipulation
The use of basic file handling operations:

    Open
    Read
    Write
    Close

The use of records to store data
The use of SQL to search for data
The use of arrays (or equivalent) when solving problems, including both one-dimensional (1D) and two-dimensional arrays (2D)
How to use sub programs (functions and procedures) to produce structured code
Random number generation

Recommended Resources

2.2.3 Additional programming techniques

OCR J277/02 – 2.5 – Programming languages and Integrated Development Environments

2.5 – Programming languages and Integrated Development Environments - Overview / Checklist
2.5.1 Languages
Characteristics and purpose of different levels of programming language:

    High-level languages
    Low-level languages

The purpose of translators
The characteristics of a compiler and an interpreter

2.5.2 The Integrated Development Environment (IDE)
Common tools and facilities available in an Integrated Development Environment (IDE):

    Editors
    Error diagnostics
    Run-time environment
    Translators

Recommended Resources

2.5.2 The Integrated Development Environment (IDE)

OCR J277/02 – 2.1 – Algorithms

2.1 – Algorithms - Overview / Checklist
2.1.1 Computational thinking
Principles of computational thinking:

    Abstraction
    Decomposition
    Algorithmic thinking
2.1.2 Designing, creating and refining algorithms
Identify the inputs, processes, and outputs for a problem
Structure diagrams
Create, interpret, correct, complete, and refine algorithms using:

    Pseudocode
    Flowcharts
    Reference language/high-level programming language

Identify common errors
Trace tables

2.1.3 Searching and sorting algorithms
Standard searching algorithms:

    Binary search
    Linear search

Standard sorting algorithms:

    Bubble sort
    Merge sort
    Insertion sort

Recommended Resources

2.1.3 Searching and sorting algorithms

Bubble Sort vs. Insertion Sort

Computers are often used to sort large amounts of data (e.g. numerical order or alphabetical order). Though this may seem like a simple task to complete, a lot of research has focused on finding the most effective approach to sort … Continue reading


Merge Sort Algorithm

Computers are often used to process large amounts of data. Some of the tasks they can be used for is to sort data sets in order, e.g. numerical order or alphabetical order. Though this may seem like a simple task … Continue reading


Sorting Algorithms

Computers are often used to process large amounts of data. Some of the tasks they can be used for is to sort data sets in order, e.g. numerical order or alphabetical order. Though this may seem like a simple task … Continue reading


Searching & Sorting Algorithms Practice

The searching and sorting algorithms are key algorithms that you will study in computer science. Most computer programs involve some searching and sorting features so these key algorithms are often used when coding various computer programs. Searching and sorting algorithms … Continue reading


Linear Search Functions

For this programming challenge we will investigate different functions which will all be based on a linear search algorithm. Let’s consider a teacher who has decided to keep track of rewards issued to their students throughout the term by adding … Continue reading


BubbleSort Algorithm – Visualisation Insertion Sort Algorithm – Visualisation

Further Reading…

OCR J277/02 – 2.4 – Boolean logic

2.4 – Boolean logic - Overview / Checklist
2.4.1 Boolean logic
Simple logic diagrams using the operators AND, OR and NOT
Truth tables
Combining Boolean operators using AND, OR and NOT
Applying logical operators in truth tables to solve problems

Recommended Resources

2.4.1 Boolean logic

Logic Gates Challenges

For this set of challenges, your task is to design logic gates circuits in order to produce the desired output for the given inputs as described in each challenge. You can combine as many logic gates as necessary using the … Continue reading


Logic Gates Circuits

This set of challenges is designed to be completed with a logic board such as the Logic & Arithmetic board designed by the University of Southampton and the UK Electronic Skills Foundation. Alternatively, if you do not have access to … Continue reading


Logic Gates & Truth Tables

Learning Objectives In this post you will predict the output of logic gates circuits by completing truth tables. First you need to learn the basic truth tables for the following logic gates: AND Gate OR Gate XOR Gate NOT Gate … Continue reading


Logic Gates Diagrams

Learning Objectives In this post you will practise drawing logic gates diagrams using the following logic gates: AND Gate OR Gate XOR Gate NOT Gate First you will need to learn the shapes/symbols used to draw the four main logic … Continue reading


Design your own Logic Gates Circuits

In this blog post your will use our logic gates circuits simulator to create and test your own circuits. Circuit #1 Our first circuit will be based on the following Boolean Expression: Click on the above circuit to open it … Continue reading


Logic Gates Circuits in Cars

In this set of challenges you will design and test some logic gates circuits to control different automated features of a car including: Automatic Headlights System Interior Light System Automatic Windscreen Wipers System Did you like this challenge? Click on … Continue reading


Logic Gates Circuits used in a Theme Park

In this set of challenges, you will design and test some logic gates circuits to control different automated systems used to control the following rides of a Theme park: Ferris Wheel Drop Tower Roller Coaster Did you like this challenge? … Continue reading


LED Dice Logic Gates Diagrams

LED Dice Our aim is to create an LED Dice using a breadboard and 7 LEDs disposed as follows: We will then use three buttons/switches to control the 7 LEDs of the dice to recreate the following patterns: Octal Number … Continue reading


Binary Logic Activities

Access a range of activities about binary logic, logic gates, truth tables and Karnaugh maps … Continue reading


Further Reading…

OCR J277/02 – 2.3 – Producing robust programs

2.3 – Producing robust programs - Overview / Checklist
2.3.1 Defensive design
Defensive design considerations:

    Anticipating misuse
    Authentication

Input validation
Maintainability:

    Use of sub programs
    Naming conventions
    Indentation
    Commenting
2.3.2 Testing
The purpose of testing
Types of testing:

    Iterative
    Final/terminal

Identify syntax and logic errors
Selecting and using suitable test data:

    Normal
    Boundary
    Invalid/Erroneous

Refining algorithms

Recommended Resources

Further Reading…

OCR J277/01 – 1.6 – Ethical, legal, cultural and environmental impacts of digital technology

1.6 – Ethical, legal, cultural and environmental impacts of digital technology - Overview / Checklist
1.6.1 Ethical, legal, cultural and environmental impact
Impacts of digital technology on wider society including:

    Ethical issues
    Legal issues
    Cultural issues
    Environmental issues
    Privacy issues

Legislation relevant to Computer Science:

    The Data Protection Act 2018
    Computer Misuse Act 1990
    Copyright Designs and Patents Act 1988
    Software licences (i.e. open source and proprietary)

Recommended Resources

1.6.1 Ethical, legal, cultural and environmental impact

UK Legislation relevant to Computer Science

As a computer scientist, you need to be aware of the legislation that is relevant to the use of Computer Science related technologies. Whether you are designing a new website, creating a computer program or system or just using a … Continue reading


The Environmental Impacts of Computer Science

This post is part of series of blog posts investigating different ethical, environmental and legal impacts of Computer Science in today’s world.


Unveiling the World of Ethical Hacking

This post is part of series of blog posts investigating different impacts of UK legislation relevant to Computer Science with a particular focus on: Data Protection Legislation Intellectual Property Protection (incl. Copyright and Trade Marks legislation) Computer Misuse Act (1990)


The MafiaBoy dDoS attack

This post is part of series of blog posts investigating different impacts of UK legislation relevant to Computer Science with a particular focus on: Data Protection Legislation Intellectual Property Protection (incl. Copyright and Trade Marks legislation) Computer Misuse Act (1990)


The Hyperlink Patent Case and the Copyright, Designs and Patents Act

This post is part of series of blog posts investigating different impacts of UK legislation relevant to Computer Science with a particular focus on: Data Protection Legislation Intellectual Property Protection (incl. Copyright and Trade Marks legislation) Computer Misuse Act (1990)


Mickey Mouse Enters the Public Domain

This post is part of series of blog posts investigating different impacts of UK legislation relevant to Computer Science with a particular focus on: Data Protection Legislation Intellectual Property Protection (incl. Copyright and Trade Marks legislation) Computer Misuse Act (1990)


The Cadbury Ruling: Can Colours be Trademarks in the UK?

This post is part of series of blog posts investigating different impacts of UK legislation relevant to Computer Science with a particular focus on: Data Protection Legislation Intellectual Property Protection (incl. Copyright and Trade Marks legislation) Computer Misuse Act (1990)


The Salami Hack & the Computer Misuse Act Legislation

This post is part of series of blog posts investigating different impacts of UK legislation relevant to Computer Science with a particular focus on: Data Protection Legislation Intellectual Property Protection (incl. Copyright and Trade Marks legislation) Computer Misuse Act (1990)


Impacts of Computer Science Technologies on Society – BBC Bitesize Data protection legislation and privacy – BBC Bitesize The Computer Misuse Act 1990 – BBC Bitesize The Copyright, Designs and Patents Act 1988 – BBC Bitesize Open source and proprietary software – BBC Bitesize

OCR J277/01 – 1.5 – Systems software

1.5 – Systems software - Overview / Checklist
1.5.1 Operating systems
The purpose and functionality of operating systems:

    User interface
    Memory management and multitasking
    Peripheral management and drivers
    User management
    File management
1.5.2 Utility software
The purpose and functionality of utility software
Utility system software

    Encryption software
    Defragmentation
    Data compression

Recommended Resources

OCR J277/01 – 1.4 Network security

1.4 Network security - Overview / Checklist
1.4.1 Threats to computer systems and networks
Forms of attack:

    Malware
    Social engineering, e.g. phishing, people as the ‘weak point’
    Brute-force attacks
    Denial of service attacks
    Data interception and theft
    The concept of SQL injection
1.4.2 Identifying and preventing vulnerabilities
Common prevention methods:

    Penetration testing
    Anti-malware software
    Firewalls
    User access levels
    Passwords
    Encryption
    Physical security

Recommended Resources

Further Reading…

OCR J277/01 – 1.3 Computer networks

1.1 System Architecture - Overview / Checklist
1.3.1 Networks and topologies
Types of network:

    LAN (Local Area Network)
    WAN (Wide Area Network)

Factors that affect the performance of networks
The different roles of computers in a client-server and a peer-topeer network
The hardware needed to connect stand-alone computers into a Local Area Network:

    Wireless access points
    Routers
    Switches
    NIC (Network Interface Controller/Card)
    Transmission media

The Internet as a worldwide collection of computer networks:

    DNS (Domain Name Server)
    Hosting
    The Cloud
    Web servers and clients

Star and Mesh network topologies

1.3.2 Wired and wireless networks, protocols and layers
Modes of connection:

    Wired

      Ethernet

    Wireless

      Wi-Fi
      Bluetooth

Encryption
IP addressing and MAC addressing
Standards
Common protocols including:

    TCP/IP (Transmission Control Protocol/Internet Protocol)
    HTTP (Hyper Text Transfer Protocol)
    HTTPS (Hyper Text Transfer Protocol Secure)
    FTP (File Transfer Protocol)
    POP (Post Office Protocol)
    IMAP (Internet Message Access Protocol)
    SMTP (Simple Mail Transfer Protocol)

The concept of layers

Recommended Resources

1.3.2 Wired and wireless networks, protocols and layers

Wired & Wireless Connection Methods

Can you recognise the different types of cables used in IT? Do you know what are the main wireless technologies used to connect IT equipment? Take the quiz to check your knowledge of wired … Continue reading


Daily Protocolometer

In this post, we are investigating our daily use of the main protocols used when accessing the Internet while using our smartphone, laptop or desktop computer, tablet, smartTV or game console. Protocols are an essential concept to enable network communications … Continue reading


TCP/IP Protocols and Packet Switching

The TCP/IP protocols are a suite of protocols used to support different types of communication between devices over an IP network such as the Internet. These protocols resulted from research and development conducted by the US Defense Advanced Research Projects … Continue reading


TCP/IP Stack: Network Layers and Protocols

The TCP/IP Stack is a model that governs how data is transmitted from one computer to another via an IP network such as the Internet. Internet communication includes using a web browser to access a webpage from a websever, sending … Continue reading


IP Addresses (IPv4, IPv6), MAC Addresses & URLs

In this blog post, we are going to learn about the format of different addresses used on computer networks to uniquely identify hardware devices. We will investigate the use and format of: IPv4 Addresses, IPv6 Addresses, MAC Addresses. IPv4 Addresses … Continue reading


Further Reading…