Computer Science Principals Definitions


  1. Computing Innovation - includes a program as an integral part of its function. Can be physical (e.g. self-driving car), non-physical computing software (e.g. picture editing software), or non-physical computing concepts (e.g., e-commerce).

  2. Personally Identifiable Information (PPI) - information about an individual that identifies, links, relates, or describes them

  3. decryption - a process that reverses encryption, taking a secret message and reproducing the original plain text

  4. encryption - a process of encoding messages to keep them secret, so only "authorized" parties can read it

  5.  public key encryption- pairs a public key for encryption and a private key for decryption. The sender does not need the receiver’s private key to encrypt a message, but the receiver’s private key is required to decrypt the message

  6. symmetric key encryption - involves one key for both encryption and decryption

  7. Computer Virus Scanning Software - protects a computing system against infection

  8. Multi-factor authentication - a system that requires at least two steps to unlock protected information; each step adds a new layer of security that must be broken to gain unauthorized access

  9. keylogging - the use of a program to record every keystroke made by a computer user in order to gain fraudulent access to passwords and other confidential information

  10.  malware- software intended to damage a computing system or to take partial control over its operation

  11.  phishing- a technique that attempts to trick a user into providing personal information. That personal information can then be used to access sensitive online resources, such as bank accounts and emails

  12.  rogue access point- a wireless access point that gives unauthorized access to secure networks

  13. Parameter: a variable in a function definition. Used as a placeholder for values that will be passed through the function. 

  14. Argument: the value passed to the parameter

  15. Return: used to return the flow of control to the point where the procedure (also known as a function) was called and to return the value of expression.

  16. Procedural abstraction: a process and allows a procedure to be used only knowing what it does, not how it does it. Procedural abstraction allows a solution to a large problem to be based on the solution of smaller subproblems. This is accomplished by creating procedures to solve each of the subproblems. 

  17. Library: a group of functions (procedures) that may be used in creating new programs

  18. API: Application Program Interface - specifications for how functions in a library behave and can be used

  19. Modularity: the subdivision of a computer program into separate subprograms

  20. List: an ordered collection of elements 

  21. Element: an individual value in a list that is assigned a unique index

  22. Index: a common method for referencing the elements in a list or string using numbers

  23. Iteration: a repetitive portion of an algorithm which repeats a specified number of times or until a given condition is met.

  24. Infinite loop: occurs when the ending condition will never evaluate to true. 

  25. Traversal: the process of accessing each item in a list one at a time.

  26. Data abstraction: manage complexity in programs by giving a collection of data a name without referencing the specific details of the representation.

  27. information - the collection of facts and patterns extracted from data 

  28. metadata- data about data

  29. Cleaning data - a process that makes the data uniform without changing its meaning (e.g., replacing all equivalent abbreviations, spellings, and capitalizations with the same word). 

  30. Data filtering- choosing a smaller subset of a data set to use for analysis, for example by eliminating / keeping only certain rows in a table 

  31. correlation- a relationship between two pieces of data, typically referring to the amount that one varies in relation to the other. 

  32. Citizen science- scientific research conducted in whole or part by distributed individuals, many of whom may not be scientists, who contribute relevant data to research using their own computing devices. 

  33. crowdsourcing- the practice of obtaining input or information from a large number of people via the Internet 

  34. Data bias- data that does not accurately reflect the full population or phenomenon being studied

  35. Expression:  a combination of operators and values that evaluates to a single value

  36. Assignment Operator: allows a program to change the value represented by a variable

  37. Variable: a named reference to a value that can be used repeatedly throughout a program.

  38. String: an ordered sequence of characters.

  39. Boolean Value: a data type that is either true or false.

  40. Comparison Operators: <, >, <=, >=, ==, != indicate a Boolean expression

  41. Logical operator: NOT, AND, and OR, which evaluate to a Boolean value.

  42. Conditional Statement: affects the sequential flow of control by executing different statements based on the value of a Boolean expression.

  43. Function: a named group of programming instructions. Also referred to as a “procedure”.

  44. Function Call: a command that executes the code within a function

  45. User Interface: the inputs and outputs that allow a user to interact with a piece of software. User interfaces can include a variety of forms such as buttons, menus, images, text, and graphics.

  46. Input: data that are sent to a computer for processing by a program. Can come in a variety of forms, such as tactile interaction, audio, visuals, or text.

  47. Output: any data that are sent from a program to a device. Can come in a variety of forms, such as tactile interaction, audio, visuals, or text.

  48. Program Statement: a command or instruction. Sometimes also referred to as a code statement. 

  49. Program: a collection of program statements. Programs run (or “execute”) one command at a time.

  50. Sequential Programming: program statements run in order, from top to bottom.

  51. Event Driven Programming: some program statements run when triggered by an event, like a mouse click or a key press

  52. Documentation: a written description of how a command or piece of code works or was developed.

  53. Comment: form of program documentation written into the program to be read by people and which do not affect how a program runs. 

  54. Pair Programming: a collaborative programming style in which two programmers switch between the roles of writing code and tracking or planning high level progress

  55. Debugging: Finding and fixing problems in an algorithm or program.

  56. Development process: the steps or phases used to create a piece of software. Typical phases include investigating, designing, prototyping, and testing 

  57. Event: associated with an action and supplies input data to a program. Can be generated when a key is pressed, a mouse is clicked, a program is started, or by any other defined action that affects the flow of execution.

  58. Computing Device: a machine that can run a program, including computers, tablets, servers, routers, and smart sensors

  59. Computing System: a group of computing devices and programs working together for a common purpose

  60. Computing Network: a group of interconnected computing devices capable of sending or receiving data. 

  61. Path: the series of connections between computing devices on a network starting with a sender and ending with a receiver.

  62. Bandwidth: the maximum amount of data that can be sent in a fixed amount of time, usually measured in bits per second. 

  63. Protocol: An agreed-upon set of rules that specify the behavior of some system

  64. IP Address: The unique number assigned to each device on the Internet.

  65. Internet Protocol (IP): a protocol for sending data across the Internet that assigns unique numbers (IP addresses) to each connected device

  66. Router: A type of computer that forwards data across a network

  67. Packet: A chunk of data sent over a network. Larger messages are divided into packets that may arrive at the destination in order, out-of-order, or not at all. 

  68. Redundancy: the inclusion of extra components so that a system can continue to work even if individual components fail, for example by  having more than one path between any two connected devices in a network.

  69. Fault Tolerant: Can continue to function even in the event of individual component failures. This is important because elements of complex systems like a computer network fail at unexpected times, often in groups.

  70. HTTP: HyperText Transfer Protocol - the protocol used for transmitting web pages over the Internet

  71. Domain Name System (DNS): the system responsible for translating domain names like example.com into IP addresses

  72. Internet: a computer network consisting of interconnected networks that use standardized, open (nonproprietary) communication protocols. 

  73. World Wide Web: a system of linked pages, programs, and files.

  74. Digital Divide: differing access to computing devices and the Internet, based on socioeconomic, geographic, or demographic characteristics

  75. Bandwidth - the maximum amount of data that can be sent in a fixed amount of time, usually measured in bits per second

  76. Computing Device- a machine that can run a program, including computers, tablets, servers, routers, and smart sensors

  77.  Computing Network- a group of interconnected computing devices capable of sending or receiving data.

  78. Computing System - a group of computing devices and programs working together for a common purpose

  79. Path - the series of connections between computing devices on a network starting with a sender and ending with a receiver