Untitled Flashcards Set

Fetch-execute Cycle Instructions are fetched one by one from main memory, decoded, and then executed by the processor. This cycle repeats until the program is complete CPU (Central Processing Unit) A chip within the computer which controls the operation of all parts of the computer and decodes then executes program instructions. ALU (Arithmetic Logic Unit) The part of the CPU responsible for arithmetic and logical operations. Processor Cache High speed memory built into the CPU. Instructions are copied to cache memory allowing them to be accessed more quickly and therefore increasing the speed of the CPU. Register A small area of memory within the CPU where data is stored temporarily to avoid the delay in copying to and from main memory, Von Neumann Architecture The design on which most computers are based. It defines several registers along with the fetch-execute cycle and how the CPU interacts with main memory. MAR (Memory Address Register) A register. It contains the address of the instruction currently being read from or written to main memory. MDR (Memory Data Register) A register. It contains the instruction which has just been copied from main memory. Program Counter A register. It contains the address of the next instruction to be fetched from memory. It is updated each time a new instruction is fetched to contain the address of the next needed instruction. Accumulator A register. Stores the result of the last operation. 1.1.2 CPU Performance Clock Speed How many instruction cycles the CPU can deal with in a second. Measured in MHz or GHz. Faster is better. Cache Size The larger the amount of cache the CPU has the more instructions it can store without having to transfer to main memory and therefore the faster it will perform. Cores Some CPUs have more than one core, each containing its own ALU and registers and therefore capable of carrying out instructions independently. The more cores, the more instructions the CPU can process at once and therefore the faster it performs. 1.1.3 Embedded Systems Embedded System Specialist hardware and software build into a device with a single specific purpose. They are usually found within appliances such as washing machines. 1.2 Memory and Storage 1.2.1 - Primary Storage (Memory) Primary Storage Also known as memory. Holds the data, programs and instructions currently in use. RAM Random Access Memory. Stores programs and data before they are processed by the CPU. Read/write memory, meaning the contents can be changed. The contents are lost when the computer is turned off. ROM Read Only Memory. Data can be retrieved but not changed and the contents are not lost when the computer is turned off. Used to store programs for embedded system Volatile Memory Data stored in volatile memory is lost when the computer is turned off. No-Volatile Memory Data stored in non-volatile memory is not lost when the computer is turned off. 4 Virtual Memory Space on the computer's hard drive used as main memory (RAM). Virtual memory is slower than main memory. 1.2.2 Secondary Storage Optical Storage A type of secondary storage which stores data on a spinning plastic or metal disk. Data is read from and written to the disk using a laser. Magnetic Storage A type of secondary storage which uses magnetic fields to store data. A read/write head reads and writes data from the media. Solid State Storage A type of secondary storage which uses flash memory to store data. They have no moving parts and are much faster than optical or magnetic storage. HDD (Hard Disk Drive) A magnetic storage drive which can store large amounts of data and is often the main method of secondary storage in personal computers. The drive contains a number of internal disks and a read/write head used to read and write data. DVD (Digital Versatile Disk) A high capacity optical storage disk commonly used for video storage. A range of capacities are available up to 17GB CD (Compact Disk) An optical storage disk often used to store music. Capacity is usually around 800mb SSD (Solid State Drive) A solid state storage drive which carries out the function of a traditional HDD. They are much faster than HDDs and less easy to damage as they have no moving parts. They are also more expensive and usually lower capacity. 1.2.3 Units Bit The smallest unit of storage, containing a binary 1 or 0. Nibble 4 bits (half a byte) Byte 8 bits Kilobyte (KB) 1000 bytes Megabyte (MB) 1000 KB Gigabyte (GB) 1000MB Terabyte (TB) 1000GB Petabyte (PB) 1000TB Binary A number system used by computers. It contains only two symbols, 0 and 1 and is also known as base 2. 1.2.4 Data Storage Denary The number system most often used by people. It uses the digits 0 to 9 and is also known as base 10 or decimal. Positive Number A number greater than 0. Negative Number A number less than 0. Integer A whole number without a decimal point or fraction. E.g. 1, 100 or 88122 Overflow Error This happens when not enough space has been allocated to store the results of a calculation. For example, if one byte has been allocated but the result is 9 bits long. Hexadecimal A number system used by computers. It contains only two symbols, 0 and 1 and is also known as base 2. Binary Shift A process used to preform maths on binary numbers. It involves moving all the digits to the left or right. Most Significant Bit The furthest left digit in a string of binary numbers, its position means it has the highest value. Least Significant Bit The furthest right digit in a string of binary numbers, its position means it has the lowest value. Character A single symbol, for example a letter, number or punctuation mark. 5 Character Set A system for representing characters in binary, each character is assigned a unique binary number. ASCII American Standard Code for Information Interchange. A 7 bit character set used to represent characters. Unicode A much larger character set created to overcome the limited number of characters available in ASCII. It includes many different language characters as well as other symbols such emojis. Pixel Short for Picture Element. Pictures on a computer are divided into a grid, with each square in the grid being one pixel which can be a single colour. Metadata Additional data about a file such as when it was created or who created it. Commonly used with photos to store things like the make of camera or location the photo was taken. Colour Depth The amount of bits available for colours in an image. The higher the colour depth the more colours available and therefore the more realistic the image will appear. Resolution The number of pixels an image is divided into. The higher the resolution, the more pixels in the image and the clearer it will be. Sample Rate The number of samples taken in one second. This is measured in hertz (Hz), 1Hz is one sample per second. The higher the sample rate, the more samples per second and therefore the higher the quality of the file. Bit Depth The number of bits available for each sample. The higher the bit depth, the more bits available and therefore the better the quality. Analogue A continuously varying signal, usually represented as a curved line. Examples include sound or temperature recordings. 1.2.5 Compression Compression A way of reducing the size of a file. It is often used with photos, music and video files. Lossy Compression A compression method which reduces the file size by removing certain data. The original file cannot be restored from the compressed version but the file is reduced by more than with lossless compression. Lossless Compression A compression method which reduces the file size without losing any data. The original file can be restored from the compressed version, but the file size is not reduced by as much. 1.3 Computer networks, connections and protocols 1.3.1 Networks and topologies Network Two or more computers connected together for the purposes of sharing data or resources. LAN (Local Area Network) A network which covers a small geographic area such as a single building. WAN (Wide Area Network) A network which covers a large geographic area. Client - Server A network setup where resources or processing are carried out by a central computer (called a server) with other devices (called clients) accessing resources via the network. Peer to Peer A network setup where all computers have an equal status and function as both client and server. Wireless Access Point Uses a wireless radio to allow devices to connect wirelessly to an existing network. Router A device which connects two or more different networks together allowing them to communicate with one another. Switch A device which provides computers and other devices with a wired connection to a network. NIC (Network Interface Card) A component within a computer or other device which allow it to connect to a network. The card provides the physical connection to the network 6 and controls the sending and receiving of data between the computer and the network. It may be built into the computer motherboard or a separate expansion card. Transmission Media The physical connection which carries data between network devices. This could be a cable or wireless signals depending on the network. DNS (Domain Name System) A system which links a URL or other human readable name with an IP address. Hosting The storing of files or other data on a server. The server storing the data is called the host. The Cloud A term for accessing storage or other resources remotely across The Internet. Web Server A server which hosts web sites and pages for users to access, usually via The Internet. Network Topology The way in which computers and other network devices are connected together. Star Network A network topology where all devices connect back to a single central point. All communications travel via the central point. Mesh Network A network topology where all devices are connected to each other rather than a central point. Bandwidth The amount of data which can be transferred via a network in any given time. More bandwidth allows more data to travel across the network at the same time resulting in faster transfer speeds. The Internet A global network connecting millions of computers and other devices. URL Uniform Resource Locator. A human readable name given to websites and other Internet resources. DNS is used to translate the URL into the IP of the web server. Client A computer or other device which accesses data from a central server. 1.3.2 Wired and Wireless Networks, Protocols and Layers Ethernet A physical copper cable used to connect devices on a network. The term also refers to the protocols and standards used to control how data is sent and received on the cable. Wi-Fi A technology which uses wireless signals to connect network devices. Bluetooth A short range wireless networking technology. It has relatively low range and speeds and is most often used for peripheral devices such as mice or headsets. Encryption The process of converting data so that it cannot be easily read or understood without first being decrypted. It is often used to keep important data secure when sharing it over a network. IP Address Stands for Internet Protocol Address. A unique address assigned to every computer on a network. IPv4 Internet Protocol Version 4. Devices are assigned addresses made up of four numbers separated by dots, e.g. 232.112.11.1 each number can be between 0 and 255. IPv6 Internet Protocol Version 6. Designed in response to the limited number of addresses in IPv4. Devices are assigned an address made of eight groups of hexadecimal characters such as FE80:CD00:0000:0CDE:1257:0000:211E:729C MAC Address Media Access Control Address. A 12 digit hexadecimal number assigned to a network interface card. Each card has its own unique MAC addressed assigned when the card is made. Standard An agreed way of doing something allowing different people and organisations to make products and services which work together. Protocol An agreed set of rules for how network communications should take place. 7 TCP/IP Transfer Control Protocol / Internet Protocol. A group of standards which control how data is sent and received over networks including the Internet. HTTP Hypertext Transfer Protocol. A standard for transferring web pages between a client and web server. It is based around the idea that clients send a request which the server responds to. HTTPS Hypertext Transfer Protocol Secure. A version of the HTTP standard with security added. Commonly used for accessing secure websites such as online banking. FTP File Transfer Protocol. A standard for file transfer over networks. POP Post Office Protocol. A standard used by email clients to retrieve emails from an email server. IMAP Internet Message Access Protocol. A standard used by email clients to access emails stored on an email server. It has the advantage over POP of allowing emails to be stored and organised on the mail server. SMTP Simple Message Transfer Protocol. A standard used for the sending of emails over networks and The Internet. 1.4 Network Security Malware A term for any software which is designed with malicious intent. Malware may damage the computer, monitor user activity and files or delete or damage data. There are many different types of malware which behave in different ways. Social Engineering Attempting to gain access to computer systems by targeting the people using the system instead of using technical measures to attack the system itself. People are often the weakest security point in a computer system and examples such as watching someone enter their password or pretending to be their boss and telling them to do something urgently aim to take advantage of this fact. Phishing Attempting to trick someone in to revealing information such as their password, financial, or other private information by pretending to be someone else. Phishing usually takes place by email, and involves sending an email which pretends to have come from the user's bank or other trusted organisation or person. Brute-force attack Attempting to guess a code or password by trying every possible solution until the correct one is found. The attack may work through a list of common passwords or dictionary words, or simply start with a code of 0000, followed by 0001 etc. Denial of Service Attack Attempting to send more traffic or data to a computer system than it is able to handle. If successful, this results in parts of the system, or even the whole system, being unable to process the data is receiving and failing. Data Interception Attempting to access data whilst it is being transferred between devices, usually over a network. The victim usually has no idea that their data has been stolen, and the attacker may access usernames and passwords or whole files. SQL Injection Entering SQL code into a data input field on a web site or application. If the system is not correctly coded, and uses a SQL database, the code could be run directly on the database, allowing the attacker to access, change or delete the entire database. Penetration Testing An authorised hacking attempt where a person or company attempts to hack into a system or network and then reports their finding to the system's owner. This allows security flaws to be fixed before real hackers can take advantage of them. 8 Anti-Malware Software Software which attempts to detect, prevent and remove malware on a computer system. Anti-Virus software is a common example of antimalware software. Firewall A network security device which checks traffic passing through it against a set of rules, only traffic which meets the rules is allowed through. This prevents traffic from unauthorised devices or using unauthorised protocols from passing through. User Access Level Controlling which aspects of a system or network users can access. Users are allowed access only to the parts of the system the need, preventing them from accidentally or deliberately damaging sensitive parts of the system or accessing sensitive data. Password A secret word or phrase, usually provided alongside a username, to control access to a system or network. Only someone who knows the correct password can access the system. Encryption The process of converting data so that it cannot be easily read or understood without first being decrypted. It is often used to keep important data secure when sharing it over a network. Physical Security Securing the physical components of a system or network. This could be as simple as locking a portable computer to a desk or advanced as storing servers in a reinforced building with multiple locked doors. 1.5 Systems Software 1.5.1 Systems Software Operating System (OS) Controls the operation of all aspects of the computer and provides an interface by which a user can interact with the computer. User Interface A part of the operating system or other software which allows the user to interact with and control it. They usually comprise of a graphical component which the user can see on a monitor or other display hardware, and way for the user to interact with the system, either by typing commands, or clicking items with a mouse or touchscreen. Memory Management The function of the Operating System which manages the computer's memory, controlling how the memory is used and which applications can access it. Multitasking The ability for an operating system to run more than one task or application at the same time. Peripheral Management The ability of an operating system to control and manage hardware devices such as printers, mice or speakers which are connected to the computer. Device Driver Computer code which provides instructions for how the operating system should interact with a specific piece of hardware. Device drivers are specific to the operating system and piece of hardware for which they were designed. User Management A function of the operating system which manages user accounts. In many cases, multiple user accounts can exist with their own username, password and access rights allowing more than one person to use the same computer. File Management A function of the operating system which manages files and folders stored on either the computer's internal storage, or external storage devices such as a USB Stick. Access Rights A function of the operating system which manages the access that different users and applications have to the system. It allows different user accounts or applications to be granted access to different parts of the system. 1.5.2 Utility Software Encryption Software Software which encrypts data. The encryption process turns the data into code which is only readable with the correct key. This is designed to keep 9 the data secure and prevent it being read by those who should not have access to it. Defragmentation Software which reorders files stored on a hard disk so that they run in a sensible order to improve performance and efficiency. Data Compression Software which compresses data so that it takes up less storage space. 1.6 Ethical, Legal, Cultural and Environmental Impacts of Digital Technology Ethical The idea of right and wrong by which people should behave. This is not the same as what is legal or illegal, but the idea of always doing the right thing. Legal A set of rules which lay out behaviours which are not allowed and the punishments for breaking these rules. Laws vary from country to country, with new laws being made and existing ones being updated. Cultural A set of behaviours and expectations which people accept as being normal and expected within their daily lives. These are not enforced by any laws, and don't always have to do with right and wrong, but are how people expect things should be. An example might be colouring a delete button red, or ordering items starting at the top left of the screen. Environmental Matters relating to the natural world around us and making sure we take good care of things like animals, the atmosphere and the planet as a whole. Privacy The expectation that certain information is kept secret. Usually this relates to personal information such as someone's address or medical history which they would not want to be shared. The Data Protection Act (2018) A law in the United Kingdom which governs the processing of personal data. It outlines the requirements for organisations who handle data and the rights of those who provide the data. Computer Misuse Act (1990) A law in the United Kingdom which makes misuse of computer systems illegal if certain criteria are met. Copyright Designs and Patents Act (1998) A law in the United Kingdom which provides protection in law for works and materials. The act explains what protections are available, and what (if any) steps need to be taken to register for these protections. Software License The right for an organisation or user to use a piece of computer software. The license is an agreement between the person or organisation who made the software and those using it and lays out any rules or restrictions associated with use. The user may have to pay either a one time or yearly fee for the license. Open Source Software Software where the code is made available to the public to view or edit as they wish. Open source software is usually free for anyone to use. Proprietary Software Software where the source code is owned by a person or organisation and is not available to the public. 2.1 Algorithms 2.1 Computational Thinking Computational Thinking The process of thinking about a problem using computational means in order to create a solution which a computer can implement. Abstraction The process of removing irrelevant or unnecessary information from the problem in order to better understand the basic parts of it. Decomposition The process of breaking a problem down into smaller parts to make it easier to solve. 10 Algorithmic Thinking The process of working out the individual steps needed to solve a problem in order to produce an algorithmic solution. 2.1.2 Designing, Creating and Refining Algorithms Algorithm A sequence of logical instructions to carry out a particular task. Structure Diagram A diagram which shows in graphical format the steps needed to solve a problem. There are several different types of structure diagram and a flow chart is one example. Pseudocode A way of writing out algorithms or other computer programs in a way which sits somewhere between full sentences and computer code. Flowchart A way of using pictures and shapes to represent the steps needed to solve a problem or that a program will take. Programming Language A language which can be understood by computers to produce computer software. Error Something wrong in computer code which causes it either to not run at all or to produce an incorrect output. Trace Table A table which records the values stored in each of a program's variables at each stage through the program. It is a useful tool when trying to find errors in the code. 2.1.3 Searching and Sorting Algorithms Search Finding a value or piece of information within a set of data. Binary Search A way of searching an ordered list by looking at the middle item in the list, then looking at either the items above or below depending on if the required value is higher or lower. This process repeats until the value is found. Linear Search A way of searching through a list items, checking them one at a time until the required value is found. Sort A way of placing information into a certain order, such as alphabetically or by number. Bubble Sort A way or sorting a list by comparing the items in a list, two at a time, and changing the order if needed. The process repeats until the list is in the correct order. Merge Sort A way of sorting a list by dividing it in two until each item is separated individually. Pairs of items are compared and placed in order until the list as a whole is ordered. Insertion Sort A way of sorting a list by working through the items one at a time and placing them in the correct position in the list. 2.2 Programming Fundamentals 2.2.1 Programming Fundamentals Variable A named value in which data can be stored by a computer program. The data can be changed as the program runs. Constant A named value which is accessed by a computer program but is fixed and cannot be changed. Operator Operators compare or modify values in computer code. Examples include + < and NOT. Input Data or information which is put into the program. This could be entered via a user, or taken from a sensor. Output Data or information which the program produces. This could be shown on a screen, sent to a printer, or saved to a file. Assignment The process of placing a value in to a variable. Sequence Following through a set of steps in a particular order. Selection Taking different paths through the code depending on a condition. Iteration Repeating a set of steps several times. 11 Count Controlled Loop Using a counter to loop through one or more lines of code until they have been run a certain number of times. Condition Controlled Loop Using a loop to repeat one or more lines of code until a certain condition is met. Arithmetic Operator An operator which uses maths to modify numbers such as + Boolean Operator An operator which uses a logical criteria to compare two values such as < or AND 2.2.2 Data Types Integer A whole number without a decimal point or fraction. E.g. 1, 100 or 88122 Real A number which may include a decimal point such as 11.2 Boolean Operator A value which can be only TRUE or FALSE. Character A single symbol, for example a letter, number or punctuation mark. String A number of characters together, usually to form a word or sentence. Casting The process of forcing a value into a certain format, for example forcing a telephone number to be stored as a string and not an integer. 2.2.3 Additional Programming Techniques String Manipulation A broad term for a number of ways to change or modify strings. Concatenation The process of joining two or more strings together. Slicing The process of splitting a string into two or more parts. File Handling Ways in which computer code can interact with files on the computer's disk, such as opening them or writing data to them. Record A single row or related information in a database table Table A group of records and fields stored together in a database. Field A part of a record in the database which stores specific information such as a name or address. SQL Structured Query Language. A programming language designed to be used with databases. Array A set of data items stored together with a single name and accessed by a program. Sub Program A smaller part of the program which performs a specific task. Function A sub program which performs a specific tasks and always returns a specific value when run. Procedure A sub program which performs a specific task but does not always return a value. Random Number A number generate by computer at random. 2.3 Producing Robust Programs 2.3.1 Defensive Design Defensive Design Designing and building computer code with the ability to keep it secure, easy to maintain and robust as a priority. Authentication A security mechanism which requires a password, code, fingerprint or other factor to gain access to all or part of a system. Input Validation The process of comparing data entered into the program to a set of rules to ensure it is valid and will not damage the system before processing it. Maintainability The ability to keep code updated, fix bugs and add new features easily. Naming Conventions An agreed way of naming parts of the program such as variables or sub programs such that they are easy to read and their purpose is clear. Indentation Inserting spaces at the start of a line or lines of code so to group them together and make the code easier to read. 12 Comment Lines which do not form part of the code and are not executed but instead provide notes and explanations to those looking at the code. 2.3.2 Testing Testing The process of trialling a program in order to ensure it performs as expected. Iterative Testing Testing which is carried out whilst the program is being developed. Final Testing Testing which is carried out at the end of development just before the code is released. Syntax Error An error which breaks the rules of the programming language and stops the code from running. Logic Error An error which produces an unexpected output even though the code still runs. Normal Data Data which the program should accept without error. Boundary Data Data at the extremes of what the program should accept without error. Invalid Data Data of the correct type, but not valid for the program and which should be rejected. Erroneous Data Data which is the wrong type and should be rejected 2.4 Boolean Logic AND Has two inputs and outputs 1 only if both are 1. OR Has two inputs, if both are 1 then outputs 1, otherwise outputs 0. NOT Has a single input and outputs the opposite of that input. Truth Tables A table which shows the possible input and output values for a logic gate Logic Gate An operator such as AND, OR or NOT which performs a logical function on the input. Logic Diagram A diagram showing one or more logic gates together. 2.5 Programming Languages and Integrated Development Environments Programming Language A language which can be understood by computers to produce computer software. High Level Language A programming language which is close to English in the commands used making it easier to learn and understand. Low Level Language A programming language closer to machine code, using less English like commands making it harder to understand. Translator A piece of software which converts programming language into machine code which the computer can understand and execute. Compiler A translator which converts code in one go. Interpreter A translator which converts code line by line. Integrated Development Environment A piece of software used by developers to write computer code. They often contain features such as translators and syntax highlighters to make it easier to write code. Editor A piece of software used to write computer code. Error Diagnostics Tools to help locate and resolve errors in code. Runtime Environment A tool which allows code to run on a system for which it was not designed. For example, running a mobile phone app on a desktop computer

robot