Computer Science - Year 13

Computer Science Overview

Terms 1: Computational methods part 2

Students will learn the features that make a problem solvable by computational methods using decomposition and abstraction and apply their knowledge of backtracking, data mining, heuristics, performance modeling, pipelining and visualisation to solve problems, with particular reference to and reflection on how these methods have been used in their NEA.

  1. Students sit an assessment test comprising questions similar to those found on the A level exam paper
DPA

The Data Protection Act 2018: Legislation which protects individuals from unreasonable use of their store personal data.

CMA

The Computer Misuse Act 1990: Legislation which defines electronic vandalism, unauthorised access to computer systems and theft of information.

CDPA

The Copyright Design and Patents Act 1988: Legislation which gives creators of literacy, dramatic, musical and artistic works the right to control the ways in which their material may be used.

RIPA

The Regulation of Investigatory Powers Act 2000: Legislation which regulates the powers of public bodies to carry out surveillance and investigation, and covering interception of communications.

  • Spiritual
  • Moral
  • Social
  • Cultural
Develop the individual:

Create a supportive community:

Term 1: Web technologies

Students will understand how HTML, CSS and JavaScript are used to create web pages and how search engine indexing is implemented.

  1. Students complete a learning record and sit an assessment test comprising questions similar to those found on the A level exam paper.
0NF

A table with no normalisation. All data and all fields in one table

1NF

First Normal Form: A relationship with repeating groups removed. That is a relation in which the intersection of each tuple and attribute contains one and only one value.

2NF

Second Normal Form: A relation that is in 1NF and every non-primary key attribute is fully dependant on the primary key. That is, all the incomplete dependencies have been removed

3NF

Third Normal Form: A relation that is in 1NF and 2NF, and in which no non-primary key attribute is transitively dependant on the primary key. That is, all non-key elements are fully dependant on the primary key

ACID

Atomicity, Consistency, Isolation, Durability: A set of properties that guarantee that database transactions are processed reliably. In the context of databases, a single logical operation on the data is called a transaction.

Asymmetric Encryption

This method of encryption involves using a pair of keys to encrypt and decrypt a message so that it arrives securely. Initially, a network user receives a public and private key pair from a certificate authority.

Circuit Switching

A method of sending data over a wide area network in which two network nodes establish a dedicated communications channel through the network before the nodes may communicate. All data then follows this same path for the duration of the data transfer.

Client Side Processing

Client-side processing refers to operations that are performed by the client in a client-server relationship in a computer network. Typically, a client is a computer application, such as a web browser, that runs on a user’s local computer and connects to a server as necessary.

Client-Server

A method of network organisation in which network stations make use of resources available at one or more servers.

Concatenated Primary Key

When more than one field is added together to form a unique primary key for a table.

CSS

Cascading Style Sheets: A definition of the formatting and layout of elements of an HTML document. The stylesheet may be part of the HTML document, or stored as a separate file linked to the document. The use of different stylesheets linked to the same document allows appropriate layout of the same content on, for example, mobile devices, display screens.

Dictionary Coding

A class of lossless data compression algorithms which operate by searching for matches between the text to be compressed and a set of strings contained in a data structure (called the ‘dictionary’) maintained by the encoder.

DNS

Domain Name System: The Internet’s equivalent of a phone book. They maintain a directory of domain names and translate them to Internet Protocol (IP) addresses. This is necessary because, although domain names are easy for people to remember, computers or machines access websites based on IP addresses.

Encryption

The process of making data in a computer system unintelligible.

ERM

Entity Relationship Modelling: The process of producing a data model for describing the data or information aspects of a business domain or its process requirements, in an abstract way that lends itself to ultimately being implemented in a data such as a relation database.

Firewall

A computer application used in a network to prevent external users gaining unauthorised access to a computer system.

Flat File

A database that allows the user to specify data attributes (columns, databases etc.) for only one table at a time, storing those attributes independently

Foreign Key

The linking field in the foreign table formed when a relationship is made. The FK becomes by default the PK of the new table.

Hashing

The process of calculating a numeric value from one or more data items. While this value obviously depends on the value of the data items, it need not depend on the meaning attached to themn, simply producing a number that is used within the computer.

HTML

HyperText Markup Language: A mark-up language developed for multimedia documents, such as World Wide Web Pages.

Indexing

The process of creating a database index, which is a data structure that improves the speed of data retrieval operations on a dataset table at the cost of additional writes and storage space to maintain the index data structure.

JavaScript

An object-oriented computer programming language commonly used to create interactive effects within web browsers.

LAN

Local Area Network: A collection of computers / computing devices on the same network which are physically close together, for example, all located within one building or site e.g. a home or school network.

Length Encoding

A very simple form of data compression in which runs of data (that is, sequences in which the same data value occurs in many consecutive data elements) are stored as a single data value and count, rather than as the original run.

Lossless Compression

A compression scheme that allows the original images to be recreated.

Lossy Compression

A compression scheme where their generally involves a loss of resolution in parts of the image where experiences shows that it will be least noticed.

Normal Forms

A way of structuring the data in a relational database according to formal rules, in order to avoid problems of efficiency and security in accessing and maintain the data.

Normalisation

The process of arranging data in tables and setting their relationships to move them through normal forms

Packet Switching

A method of sending data over a wide area network in which the message is broken into a number of parts which are sent independently, over whatever route is optimum for each packet, and reassembled at the destination.

PageRank Algorithm

An algorithm used by Google Search to rank websites in their search engine results. It works by counting the number and quality of links to a page to determine a rough estimate of how important the website is. The underlying assumption is that more important websites are likely to receive more links from other websites.

Peer to Peer

A method of network organisation in which network stations can share resources on other network stations, so one station can use a printer on another station or save data on another station’s local storage.

Primary Key

A field that uniquely identifies a record in a table

Protocol

A set of rules that allow two devices to communicate.

Protocol Layering

The concept of a protocol not simply being a set of rules but those rules being built up into very specific layers and those rule layers behind built on top of each other in a deliberate order creating a layered protocol stack. This results in the rules of a protocol being executed in a specific sequence as you move through the protocol stack.

Proxies

A computer application that accesses data on a different computer system or network. It controls the access of authorised users to data and allows the operation of the system to be isolated from control by external users.

Record Locking

A technique of preventing simultaneous access to data in a database, to prevent inconsistent results. The classic example is demonstrated by two bank clerks attempting to update the same bank account for two different transactions.

Redundancy

Redundancy occurs in database systems which have a field that is repeated in two or more tables For instance, when customer data is duplicated and attached with each product bought, then redundancy of data is a known source of inconsistency since customer might appear with different values for given attributes.

Referential Integrity

A measure of the consistency of the data in a database. It is violated when the relation to which a foreign key refers to no longer exists.

Relational Database

Allows the user to specify information about multiple tables and the relationship between those tables

Search Engine Indexing

The method of collecting, parsing and storing data to facilitate fast and accurate information retrieval.

Secondary Key

A key field which can be used to access a table in a different way

Sever Side Processing

Server-side processing refers to operations that are performed by the server in a client-server relationship in computer network. Typically, a server is a computer program, such as a web server, that runs on a remote server, reachable from a user’s local computer.

SQL

Structured Query Language: The language and syntax used to write and run database queries

Symmetric Encryption

The oldest and best-known encryption technique. A secret key, which can be a number, a word, or just a string of random letters, is applied to the text of a message to change the content in a particular way. This might be as simple as shifting each letter by a number of places in the alphabet.

TCP/IP Stack

Transmission Control Protocol / Internet Protocol: The most common general-purpose standard protocol that allows any networked computers (including those on The Internet) to communicate with each other whatever their equipment.

Transaction Processing

Information processing that is divided into individual, indivisible operations, called transactions. Each transaction must succeed or fail as a complete unit, it can never be only partially complete.

WAN

Wide Area Network: A collection of computers / computing devices on the same network which are spread out over a geographically large area, for example a university across several campuses, or a multinational corporation with offices / sites in different cities or even different countries.

  • Spiritual
  • Moral
  • Social
  • Cultural
Develop the individual:

Create a supportive community:

Terms 1 - 3: NEA design, development, testing & evaluation

For this unit, students choose their own problem to solve. Students will be expected to analyse, design, develop, test, evaluate and document a program written in a suitable programming language. The underlying approach to the project is to apply the principles of computational thinking to a practical coding problem.

Learners are expected to apply appropriate principles from an agile development approach to the project development.

  1. 20% of the qualification. Internally assessed.

    3.1 - Analysis of the problem (10 marks)

    3.2 - Design of the solution (15 marks)

    3.3 - Developing the solution (25 marks)

    3.4 - Evaluation (20 marks)

  • Spiritual
  • Moral
  • Social
  • Cultural
Develop the individual:

Create a supportive community:

Term 2: Problem solving & programming - applied

Students will revisit and discuss the theoretical computational methods and programming techniques covered in the previous year, as they have been applied to their NEA projects.

  1. Student presentations of NEA project work so far
Sequence

One of the 3 basic programming constructs. Instructions happening one after the other in order is sequence.

Iteration

One of the 3 basic programming constructs. A selection of code which can be repeated either a set number of times (count controlled) or a variable number of times based on the evaluation of a Boolean expression (condition controlled) is iteration.

Branching / Selection

One of the 3 basic programming constructs. Instructions which can evaluate a Boolean expression and then branch the code to one or more alternatives paths is branching / selection.

Recursion

An advanced programming construct in which a block of code (often a function) is able to call itself. Recursion algorithms must be designed carefully so that terminating condition will be met.

Global Variable

A variable which can be used anywhere in the program.

Local Variable

A variable which is defined and can only be used within one part of the program (normally a single function or procedure).

Modularity

A technique of code design where a solution is broken down into a number of small self-contained and manageable chunks. Each Module of code should be designed to perform one set specific purpose. If during design it is found that the module starts to grow and performs more than one task then the additional functionality should be split out into a new module.

Functions

A block of code given a unique identifiable name within a program. A function can take either zero or more parameters when it is called and should return a value. The function should be designed and written to perform one task or action which is clearly indicated by its name.

Procedures

A block of code given a unique identifiable name within a program. A procedure can take either zero or more parameters when it is called. The procedure should be designed and written to perform one task or action which is clearly indicated by its name.

Parameters

Data structures passed into a Procedure or Function when they are initially called.

Parameter Passing

The process of providing a procedure, function or module with values at the point when you call it.

Parameter Passing By Value

If a data item is passed by value, a (local) copy of the data is used, which is discarded when the subprogram exits.

Parameter Passing By Reference

If a data item is passed by reference, the location (in memory) of the data is used. This means that any changes are retained after the procedure or function has been completed.

IDE

Integrated Development Environment: Software that performs the various stages of software design and implementation in a single integrated system. It will usually include facilities for project management, design, graphical design, programming, testing and producing documentation.

Debugging

The process of removing syntactical, semantic (logical) and run-time errors from computer code.

Computational Methods

Describes any method which does something related to computation, such as sorting, merging, searching, indexing etc.

Problem Recognition

The acknowledgement and definition of an issue that does or may arise during the performance of a process.

Problem Decomposition

The process by which a complex problem or system is broken down into parts that are easier to conceive, understand, program and maintain.

Divide and Conquer

Another term for decomposition which is the process by which a complex problem or system are broken down into parts that are easier to conceive, understand, program and maintain.

Backtracking

An algorithm for finding a complete solution. This is a refined brute force methodology. It is a very general algorithm for finding all (or some) solutions to computational problems. It incrementally builds to the solution, and abandons each partial success (backtracks) as soon as it determines that the partial solution cannot possible be completed to a valid solution.

Data Mining

The analysis of a large amount of data in a data warehouse to provide new information. For example, by using loyalty cards, which connect purchases to a particular customer, supermarkets can gathering information about the buying habits of individual customers.

Heuristics

Rules that are not derived purely from logic but are derived from the experience (of a person). These are also known as ‘rules of thumb’.

Performance Modelling

This is the process of carrying out mathematical approximations of how well models perform. e.g. How efficient they are.

Visualisation

The process of turning data in a visual representation which is easier for humans to understand, interrupt and work with.

  • Spiritual
  • Moral
  • Social
  • Cultural
Develop the individual:

Create a supportive community:

Term 3: Algorithms - applied

Students will revisit the algorithms such as searching and sorting algorithms (bubble sort, insertion sort, merge sort, quick sort), with reference to Big-O notation in terms of time and space complexity, standard algorithms for depth-first and breadth-first graph traversals, optimisation algorithms, such as Dijkstra’s shortest path algorithm and the A* algorithms have been applied to their NEA projects.

  1. Student presentations about NEA project work completed so far.
Algorithm

A sequence of steps designed to perform a particular task. An algorithm may be constructed to describe the operation of a complete system or to describe a particular part of it.

Big O Notation

Used in computer science to describe the performance or complexity of an algorithm. Big-O specifically described the worst-case scenario, and can be used to describe the execution time required or the space used (e.g. in memory or on disk) by an algorithm.

Bubble Sort

A simple algorithm popular with inexperienced programmers. It is inefficient when sorting large amounts of data as the time taken is related to the square of the number of items. If 10 items take 1ms then 100 times will take 100ms (this is 10 times the number of items and so the time will be 102 or 100 times longer).

Insertion Sort

A simple sorting algorithm that builds the final sorted array (or list) one item at time. It is much less efficient on large lists than more advanced algorithms such as quicksort, heapsort, or merge sort.

Merge Sort

A type of divide and conquer algorithm that was incited by John von Neumann. First the list is divided into the smallest unit (1 element), then each element is compared with the adjacent list to sort and merge the two adjacent lists. Finally all elements are sorted and merged.

Quick Sort

A type of divide and conquer algorithm which sorts the given sequence in place meaning that it doesn’t require extra storage as would be needed in a merge sort. The basic idea is dividing the sequence into two sub-lists around an element which is called the pivot such that all elements in the lower sub-list are less than the value of the pivot element and all elements in the higher sub-list are greater than the pivot element.

Dijkstra's Shortest Path

A graph search algorithm that solves the single-source shortest path problem for a graph with non-negative edge path costs, producing a shortest path tree. This algorithm is often used in routing and as a subroutine in other graph algorithms. In practice in picks an unvisited vertex with the lowest-distance, calculates the distance through it to each unvisited neighbour, and updates the neighbours distance if smaller. It the marks the visited when done with neighbours.

A* Algorithm

Widely used in pathfinding and graph traversal, the process of plotting an efficiently traversable path between points, called nodes. A* uses a best-first search and finds a least-cost path from a given initial node to one goal node (out of one or more possible goals). As A* traverses the graph, it follows a path of the lowest expected total cost or distance, keeping a sorted priority queue of alternate path segments along the way.

Binary Search

A particularly efficient search method. It only works if records in the file are in sequence. A binary search involvers accessing the middle record in the file and determining if the target record has been found or, if not, if it is before or after in the sequence. This process is repeated on the part of the file where the target record is expected, until it is found.

Linear Search

Involves examining each entry in turn in the file until the time is found or the end of the file is reached. Unless the file is in some useful order a serial search has to be used.

  • Spiritual
  • Moral
  • Social
  • Cultural
Develop the individual:

Create a supportive community:

Terms 4-5: Exam revision

Students will prepare for final examinations focusing on areas for development from the mock examination analysis. There are two 2 hour 30 minute examinations, each worth 40% of the overall qualification (80% in total).

  1. Students will sit two 2 hour 30 minute examinations.
  • Spiritual
  • Moral
  • Social
  • Cultural
Develop the individual:

Create a supportive community: