GCSE Computer Science Knowledge Organisers PDF
Document Details

Uploaded by SpectacularConceptualArt
St Michael's Church of England High School
Tags
Related
- GCSE Computer Science Past Paper Presentation Notes PDF
- AQA GCSE Computer Science Fundamentals of Computer Networks PDF
- AQA GCSE Computer Science (8525) Paper 2 Revision Guide PDF
- Edexcel GCSE Computer Science Decomposition & Abstraction PDF
- Edexcel GCSE Computer Science PDF
- Edexcel GCSE Computer Science Hardware PDF
Summary
These knowledge organisers cover fundamental computer science topics such as systems architecture and memory storage. They provide key vocabulary, definitions and diagrams.
Full Transcript
Knowledge Organiser - 1.1 Systems Architecture Key vocabulary Fetch – Execute Cycle CPU Central Processing Unit. Fetches – Decodes – Executes instructions. CU Control Unit. Manages...
Knowledge Organiser - 1.1 Systems Architecture Key vocabulary Fetch – Execute Cycle CPU Central Processing Unit. Fetches – Decodes – Executes instructions. CU Control Unit. Manages the components of the CPU. ALU Arithmetic and Logic Unit. Carries out basic mathematics and comparisons. Cache Super fast memory located next to the CPU. Stores commonly used data & instructions. Registers Small memory containers inside the CPU. MAR Memory Address Register. Stores the address of the next instruction. MDR Memory Data Register. Stores the data fetched from the main memory (RAM). Program Counter A register that records the current instruction being executed. Von Neumann Architecture Accumulator A register used by the (ALU) to store the results of calculations. Clock Speed The speed of a computer's CPU, measured in hertz. This indicates the number of fetch-decode-execute cycles that can run per second. Cores A processing unit within a CPU. CPUs can have multiple cores. Embedded System A special purpose computer built into another device. Knowledge Organiser - 1.2 Memory & Storage Units Key vocabulary Unit Abbreviation Value Primary Storage Volatile memory used to store currently used data and instructions. Petabyte PB 1000⁵ bytes RAM Random access memory. This is volatile memory that is Terabyte TB 1000⁴ bytes constantly being written to and read from. It does not retain its contents without a constant supply of power. When a Gigabyte GB 1000³ bytes computer is turned off, everything stored in its RAM is lost. ROM Read only memory. This is non-volatile memory or storage Megabyte MB 1000² bytes containing data that cannot be changed. Kilobyte KB 1000 bytes Virtual Memory A section of a secondary storage which is temporarily used as RAM. Byte B 8 bits Secondary Storage Non-volatile memory used for long-term storage of programs and data. Nibble N 4 bits Optical Storage Storing and reading data from a disc using a laser. Bit b 0 or 1 Examples include CD, DVD, Blu-ray. Magnetic Storage Storing and reading data from a hard drive disc using Capacity Calculations magnetism. Moving between units * By 1000 to move down Solid State Storage Storing and reading data using electricity / By 1000 to move up Capacity The maximum amount of data that a device can contain. Sound file size Sample rate * duration * bit depth Compression A method of reducing file sizes, particularly in digital media such as photos, audio and video. Image file size Colour depth * image height * image width Lossy Compression A form of compression that reduces digital file sizes by removing data. Text file size Bits per character * number of characters Lossless A form of compression that encodes digital files without Compression losing detail. Files can also be restored to their uncompressed quality. Knowledge Organiser - 1.2 Memory & storage Key vocabulary Binary Conversion Denary/Decimal The number system most commonly used by people. It Find the largest value that fits into your number then subtract. Repeat. contains 10 unique digits 0 to 9. Also known as decimal or The number 42 in binary: base 10. 128 64 32 16 8 4 2 1 Binary A number system that contains two symbols, 0 and 1. Also 0 0 1 0 1 0 1 0 known as base 2. Hexadecimal A number system using 16 symbols from 0-9 and A-F, also known as base 16 and hex. Binary Shift Multiply a binary number by shifting digits to left. Divide by Binary Addition shifting to the right. Fill gaps with zeros. Start at the right hand side of any addition and follow the rules. Here is 7+6 in binary. Note the carries go above the column to the left. Character set A table of data that links a character to a number. This allows the computer system to convert text into binary. Examples are ASCII and Unicode. + = 1 1 0+0 0 0 1 1 1 Pixel Picture element - a single dot of colour in a digital bitmap image or on a computer screen. 0+1 1 0 1 1 0 1+1 0 carry 1 Metadata Data about data, eg photo image files have data about where the photo was taken and which camera took the 1+1+1 1 carry 1 1 1 0 1 picture. Colour Depth The amount of bits available for colours in an image. Hexadecimal conversion Resolution The fineness of detail that can be seen in an image - the higher the resolution of an image, the more detail it holds. The hexadecimal number system is 0-9 then A-F (A represents 10) In computing terms, resolution is measured in dots per inch Carry out a binary conversion then split the number into 2 nibbles. Then (dpi). convert the two separate values into hexadecimal. The denary number 42 in Hexadecimal is 2A Sample rate How many samples of data are taken per second. This is normally measured in hertz, eg an audio file usually uses 128 64 32 16 8 4 2 1 samples of 44.1 kHz (44,100 audio samples per second). 0 0 1 0 1 0 1 0 Bit depth The number of bits available to store an audio sample. 8 4 2 1 8 4 2 1 0 0 1 0 1 0 1 0 Duration Length of a file in terms of time. (minutes and seconds) In hex 2 is 2 In hex 10 is A Knowledge Organiser - 1.3 Networks Types of network Key vocabulary LAN WAN Network A group of interconnected computers/devices. LAN Local area network. A network of computers that covers a small area, eg a school or college. WAN Wide area network. A network that spans across a building, buildings or even countries, eg the internet. Client-server A relationship in which data or web application is hosted on a server and accessed by client computers. Peer to peer A relationship where all computers on the network share responsibility and there is no one central server. WAP A device that connects computers to a network using Wi-Fi. Switch A device for connecting computers and other network capable devices together to form a network. NIC Network Interface Controller -A circuit board that is installed in a computer so it can be connected to a network. Transmission How data is carried from point A to point B physically, either Topologies media by cable or wirelessly. Star Mesh Ethernet A set of protocols used in a wired local area network that describes how data is transmitted within it. Wi-Fi A method of connecting to the internet wirelessly using radio waves. Bluetooth Wireless technology used for transmitting data over short distances. DNS Domain name server - an internet service that translates IP addresses into website domain names. All websites have equivalent IP addresses. Host A server that stores files for other computers to access. Cloud A term often used to describe a location on the internet from which software applications are run and where data is stored. Knowledge Organiser - 1.3 Networks Key vocabulary Common protocols Encryption Files that are encrypted have been altered using a secret TCP/IP Transmission Control Protocol/Internet Protocol - enables code and are unreadable to unauthorised parties. communication over the internet. IP address A unique address for each computer device on a network. HTTP Hypertext Transfer Protocol - governs communication MAC address Media access control - each unique piece of hardware on a between a webserver and a client. network has a MAC address. Standard An agreed way of doing things. HTTPS HTTPS (secure) includes secure encryption to allow transactions to be made over the internet. Protocol A set of rules for how messages are turned into data packets and sent across networks. FTP File Transfer Protocol - governs the transmission of files across a network and the internet. POP Post Office Protocol – governs the transmission of emails Layers to devices. Once downloaded to the device is deleted Layering means to break up the sending of messages into separate components from the server. and activities. Each component handles a different part of the communication. This can be referred to as the Transmission Control Protocol/Internet Protocol IMAP Internet Message Access Protocol – governs the (TCP/IP) model. transmission of emails. Stored on server and accessed by devices. Layering allows standards to be developed, but also to be adapted to new hardware and software over time. For example, different software packages (applications) may use the same transport, network and link layers but have their SMTP Simple Mail Transfer Protocol - governs the sending of own application layer. The way the program encodes the message changes - the email over a network to a mail server. rest of communication method remains the same. Layering In networking, the concept of breaking up communication into separate components or activities. Encryption A simple method of encryption requires the use of a technique known as the Plaintext Caesar cipher. The cipher works by giving a number value to a key. Each plaintext letter is replaced by a new letter, the one found at the original letter's position in Ciphertext the alphabet plus the value of the key. The example uses a key value of 3. Knowledge Organiser - 1.4 Network Security Protecting networks Key vocabulary Form of attack Prevention Malware Software that is designed to cause harm or damage to a computer. This includes viruses that might damage files, Malware Anti-Malware software. adware that causes pop-ups, and spyware that collects and shares login details. Phishing Training of user to detect scams as well as Social Engineering Tricking people into giving sensitive data such as PINs or the filtering of emails. passwords. Phishing An attempt to gain personal information about someone by Brute-force attacks Use of different strong passwords. A limit way of deception, eg sending an email pretending to be on the number of incorrect attempts. from their bank asking them for their bank details. Denial of service attacks Block IP addresses which send too many Brute-force attack Attempting every combination of a password or encryption requests. Increase capacity. key until it is correct. Data interception and theft Encryption of data. Denial of service An attack designed to render online services inaccessible. attack One type of this attack involves many computers simultaneously flooding a target with network traffic. SQL injection Ensuring that all data input is sanitized. Data interception Where data is intercepted during transmission. This is done (Forcing data to be in the format you want using software called a packet sniffer, which examines data it such as a date, text or integer.) packets as they are sent around a network. SQL Injection Where SQL code is entered as a data input. Many databases use SQL code to interrogate the data and maintain the structure. SQL code can be inputted as data, which can cause errors or unintended operations. Penetration testing Systems are tested for vulnerabilities to reveal any weaknesses in the system which can be fixed. Anti-malware A type of computer program which detects, prevents and removes malware on a system. Firewall An application that prevents unauthorised connections to and from the Internet. User-access level These are the permissions given to a user to access facilities on a computer. Encryption Files that are encrypted have been altered using a secret code and are unreadable to unauthorised parties. Knowledge Organiser - 1.5 Systems Software Key vocabulary User interfaces Operating System The software that manages the hardware and software A Graphical User Interface (GUI) is the most resources in a computer system. common interface. It uses Windows, Icons, Menus and a Pointer to display data and User interface The means by which a user interacts with a computer or allow the user to navigate. It requires device. processor power to run. It is easy to use and requires little training. Memory Managing which data is stored in which location in the main Management memory. A Command Line interface (CLI) uses text to display data only and accepts only text Multitasking In computing, running more than one program commands from the user. It requires minimal simultaneously. processor power to run. It requires the user to learn commands to use. Peripheral A piece of hardware that connects to a computer, eg a mouse, keyboard, printer or scanner. A menu driven interface uses a series of menus in a tree to display data and allow the Driver Software that controls and communicates with peripherals user to navigate. It requires no training to used. Examples include ticket machines. User management Organising how user interfaces and data are represented to different users. A Natural Language interface uses linguistic File management Organising how data is stored on secondary storage. commands that are spoken in order to allow the user to navigate and represent data. Processing power is required to understand the user request and respond. No training is Utility software A program which performs important maintenance tasks to required in order to use. improve the performance of a computer system. Defragmentation Encryption Files that are encrypted have been altered using a secret software code and are unreadable to unauthorised parties. Over time files stored can become fragmented. Defragmentation The process of reordering files stored on a hard disk so that their segments run contiguously. Defragmentation removed any gaps and reorders data so that files are Data Compression A method of reducing file sizes, particularly in digital media contiguous and all free space is at such as photos, audio and video. the end. Knowledge Organiser - 1.6 Ethics Impacts of digital technology Legislation relevant to Computer Science Ethical issues The Data Protection Act 2018 This law protects your data when used by companies and organisations. Personal Ethics are moral principles, or rules, which govern a person's attitudes and data must be: behaviour. Ethics apply to the use of computers as much as they do to other things in life. Ethical issues in computing include: Fairly & lawfully processed Obtained for legitimate purposes Ensuring public safety Adequate, relevant & not excessive Accurate & up to date Security of data Not be kept longer than necessary Handled securely. Cultural issues Computer Misuse Act 1990 The introduction of computers has changed society, sometimes for the better, sometimes for the worse. 'Cultural issues' is the term used for There are three separate parts to the Act: computer matters that have an effect on the nature and culture of society. 1. It is illegal to access a computer unless you have permission to do so. Some of these issues include: 2. It is illegal to access data on a computer when that material will be used to The digital divide commit further illegal activity, such as fraud or blackmail. The changing nature of employment 3. It is illegal to make changes to any data stored on a computer when the user does not have permission to do so. Environmental issues Copyright Designs and Patents Act 1988 Resources are needed to in order for computers to be produced, The Copyright, Designs and Patents Act 1988 exists to protect peoples' creations. distributed and used. Metals and plastics are used to manufacture When a person creates something, they own it. What they create might include: components, while energy is expended in distributing equipment and a picture, drawing or photograph in using it. a video, television programme or film text, such as a book, article or report Many computers, such as web servers, domain name servers and data a game centres, need to be left running continuously. This requires lots of energy to maintain. Software licences Many computer components are either hard to recycle or contain toxic materials, such as lead. Open Source Proprietary Privacy issues Free of copyright Copyright protected Generally free May have a fee or subscription licence As more and more services become digitised users are worried about the Source code is public Source code is not public amount of data organisations and governments gather. Eg Google Maps Source code can be modified Updates from manufacturer only stores all data locations permanently unless opted out. Google know Possible online support from peers. Can be expensive exactly where their users are, have been and for how long. This data is Support may not be available Cannot be modified used for helpful purposes but it could also potentially be abused. No guarantee of quality Licence can limit number of installs Knowledge Organiser - 2.1 Algorithms Key vocabulary Searching Algorithms Algorithm A sequence of logical instructions for carrying out a task. In Linear Search computing, algorithms are needed to design computer A linear search is the simplest method of searching a data set. programs. Starting at the beginning of the data set, each item of data is examined until a Computational A problem-solving method using computer science match is made. Once the item is found, the search ends. Thinking techniques, where possible solutions are developed and 1. A way to describe a linear search would be: presented in a way that can be understood by humans and 2. Find out the length of the data set. computers. 3. Set counter to 0. Abstraction The process of extracting or withdrawing something. 4. Examine value held in the list at the counter position. 5. Check to see if the value at that position matches the value searched for. Decomposition Breaking down a complex problem or system into smaller 6. If it matches, the value is found. End the search. parts that are more manageable and easier to understand. 7. If not, increment the counter by 1 and go back to step 3 until there are no more items to search. Pseudocode Also written as pseudo-code. A method of writing up a set of instructions for a computer program using plain English. This A linear search, although simple, can be quite inefficient. Suppose the data set is a good way of planning a program before coding. contained 100 items of data, and the item searched for happens to be the last Trace table Trace tables are used to allow programmers to trace the item in the set? All of the previous 99 items would have to be searched value of variables as each line of code is executed. The through first. values of the variables are displayed in a table and assist the However, linear searches have the advantage that they will work on any data programmer in identifying any potential errors. set, whether it is ordered or unordered. Flowcharts Binary Search A binary search is an efficient method of searching an ordered list. A binary search works like this: Line Input/output 1. Start by setting the counter to the middle position in the list. 2. If the value held there is a match, the search ends. 3. If the value at the midpoint is less than the value to be found, the list is divided in half. The lower half of the list is ignored and the search keeps to Process Decision the upper half of the list. 4. Otherwise, if the value at the midpoint is greater than the value to be found, the upper half of the list is ignored and the search keeps to the lower half of the list. 5. The search moves to the midpoint of the remaining items. Steps 2 Sub Program Terminal through 4 continue until a match is made or there are no more items to be found. Knowledge Organiser - 2.1 Algorithms Sorting Algorithms Bubble Sort Merge Sort Insertion Sort Bubble sorts work like this: A merge sort is a more complex sort, but also a An insertion sort is less complex and efficient than a Start at the beginning of the list. Compare the first highly efficient one. merge sort, but more efficient than a bubble sort. value in the list with the next one up. If the first An insertion sort compares values in turn, starting value is bigger, swap the positions of the two values. A merge sort uses a technique called divide and with the second value in the list. Move to the second value in the list. Again, compare conquer. The list is repeatedly divided into two until this value with the next and swap if the value is all the elements are separated individually. Pairs of If this value is greater than the value to the left of it, bigger. Keep going until the there are no more items elements are then compared, placed into order and no changes are made. Otherwise this value is to compare. Go back to the start of the list. combined. The process is then repeated until the list repeatedly moved left until it meets a value that is is recompiled as a whole. less than it. Each run through the list, from start to finish, is known as a pass. The bubble sort continues until a The sort process then starts again with the next pass is made where no values have been swapped. value. This continues until the end of the list is At this point, the list is sorted. reached. Knowledge Organiser - 2.2 Programming Fundamentals Key vocabulary Python Syntax Variable A memory location within a computer program where values are stored. player_age = (15) Constant A value that does not change when the program is running. pi = (3.14) Assignment Setting the value of a variable in a computer program. player_age = (15) Input Data received by a program. player_name = str(input(“What is your name?”)) Output Data sent out of a program. print (player_name) Data types Python Syntax Integer Whole number player_age = (15) Real Decimal number. Called a float in Python. player_height = (150.8) Boolean True or False player_active – (True) String A sequence of characters which include letters, numbers & symbols. player_name = (“Zaphod”) Casting Changing the data type of a variable. int(4.2) Comparison Operators Imports == Equal to != Not equal to Time – allows you to pause your import time program. #------------------------------------------- > Greater than >= Greater than or equal to time.sleep(1) < Less than 0: print (“Player takes their turn”) player_turns = player_turns – 1 active = True while active == True: print (“Player is active”) Iteration (for) Python syntax The repetition of a block of statements within a program when the number of for counter in range (0,10,1): repeats is known. print (counter) Knowledge Organiser - 2.2 Programming Fundamentals Sub Programs Python syntax Procedure A section of computer code that performs a specific def greeting (): task. print (“Hello world”) #-------------------------------------------------------- greeting() Function A section of code that, when programming, can be def addition(a,b): called by another part of the program with the c = (a+b) purpose of returning one single value. return (c) #-------------------------------------------------------- num1 = int(input(“Enter first number:”)) num2 = int(input(“Enter first number:”)) answer = (addition(num1,num2)) print (num1,”+”,num2,”=“,answer) Arrays Python syntax 1D Array An array is a data structure that holds similar, related stationery = [ “Pen” , “Pencil” , “Ruler” , “Eraser” ] data. An array is like a collection of boxes, each of print (stationery) #would display whole array which is called an element. Each element has a print (stationery) #would output the first element – “Pen” position in the array, and can hold a value. The data print (stationery[0-2]) #would output the first 2 elements – “Pen,Pencil” in an array must all be of the same data type. 0 1 2 3 Pen Pencil Ruler Eraser 2D Array A two-dimensional array can hold more than one set stationery = [ [ “Pen”,“Pencil”,“Ruler”,“Eraser” ] , [“Red,”Green”,”Blue”,”Yellow] ] of data. This type of array is like a table, with data print (stationery) #would print the whole 2D array held in rows and columns. print (stationery) #would print the first row only (the original stationery) print (stationery) # would print the second row only (the coloured pens) 0 1 2 3 0 Pen Pencil Ruler Eraser 1 Red Green Blue Yellow Knowledge Organiser - 2.2 Programming Fundamentals File handling Python syntax Open A file must be open before a record can be read from file = open(“scores.txt” , “r”) #would import the contents of score into the variable file in read only mode or written to it. To open a file, it must be referred to file = open(“scores.txt” , “a”) #would import the contents of score into the variable file in append mode by its identifier within the program. Files can be file = open(“scores.txt” , “w”) #would import the contents of score into the variable file in write mode opened in read mode (r), write (w) or append (a) Read Once a file has been opened, the records are read score = file.read() #reads the entire file from it one line at a time. The data held in this record score = file.readline() #reads a single line can be read into a variable, or, more commonly, an array Write Data is written to a file one line at a time, using for x = 0 to 9 the writeLine statement file.write(scores[x]) Closing A file must be closed by the program for it to be file.close() saved. SQL SQL Structured query language (SQL) Databases use their own type of programming language. This language is known as structured query language, or SQL. SELECT , FROM , WHERE Table name = Computer_Scientists SELECT * FROM Computer_Scientists WHERE Title = “Mr” #would return records 002 and 004 ID Title Forename Surname Nationality Data can be retrieved from a table using these 001 Mrs Ada Lovelace GB SELECT * FROM Computer_Scientists WHERE Nationality = “USA” commands. #would return record 003 002 Mr Alan Turing GB * Stands for wildcard SELECT * FROM Computer_Scientists WHERE Nationality = “USA” which means all records. 003 Miss Grace Hopper USA #would return record 003 004 Mr George Boole GB SELECT * FROM Computer_Scientists WHERE ID < “003” #would return record 001 and 002 Knowledge Organiser - 2.3 Producing Robust Programs Key vocabulary Input Sanitation The process of checking entered data and removing dangerous inputs which could otherwise be used to cause damage to a program. Authentication Verifying the identity of a user. Validation Checking input data is sensible and in the right format. Maintainability The process of ensuring that a program is easy to understand, modify and update. Naming conventions Choose either CamelCase or under_score conventions for variables and stick to one. Comments Annotation using a # in Python. Should be used to explain what a section of code intends to do. Iterative testing Tests carried out while a program is being developed. Step by step. Final/terminal testing A test carried out when all parts of a program are complete. Syntax Error Error in a program resulting from code not following syntax rules governing how to write statements in a programming language. Logic Error Error in a program which does not cause a program to crash but causes unexpected results. Test data Data entered into a program to test if it is working. Normal data Data entered into a program that should produce a positive result Boundary data Data entered into a program at the edge of its acceptable range Invalid data Data entered into a program that should produce a negative result. Erroneous data Data that a program cannot process and should not accept. Test tables Tests are laid out in a testing table, which indicates: Example The test number A description of what the test intends to check # Description Data Test type Expected Actual The test data being used 1 Number accepted? 5 Normal Accept Accept The type of test - normal, boundary or erroneous Expected outcome 2 Test low boundary 1 Boundary Accept Accept Actual outcome 3 Test upper boundary 10 Boundary Accept Accept Ideally, a programmer should run as many tests as is sensible. Many large 4 Test < boundary -5 Erroneous Reject Reject programs, especially games, contain bugs simply because it may not be possible to test every possible input or action. 5 Test > boundary 20 Erroneous Reject Reject Knowledge Organiser - 2.4 Boolean Logic Logic Gates Boolean Operator Logic Gate Symbol Truth Table A B A AND B 0 0 0 0 1 0 AND (Conjunction) 1 0 0 1 1 1 A B A OR B 0 0 0 0 1 1 OR (Disjunction) 1 0 1 1 1 1 A B 0 1 NOT (Negation) 1 0 Knowledge Organiser - 2.5 Programming Languages and IDE’s Key vocabulary Example of an IDE High level Also known as high level language. This is a computer programming programming language used to write programs. High-level languages need to be translated into machine code through a compiler, interpreter or assembler. Low level Also known as low level language. This is a computer programming programming language which closely represents machine language. Low-level languages are more difficult to understand than high-level languages but they execute quicker. Translator Translators are needed to translate programs written in high level languages into the machine code that a computer understands. Tools exist to help programmers develop error- free code. Assembler A program that translates assembly languages into machine code. Compiler A program that translates high-level programming languages into machine code. Interpreter A program that translates high-level programming languages into machine code. Programs can either be interpreted or compiled. IDE A suite of tools that helps a programmer to write error-free, maintainable code. Editor The part of an IDE that allows the user to write and amend code. Error Diagnostics / The process of finding and correcting programming errors. debug Run time The part of an IDE where a program runs. environment