Computer Science All Terms

5.0(1)
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/99

flashcard set

Earn XP

Description and Tags

100 Terms

1
New cards
Binary
A way of representing information using two options
2
New cards
bit
a contraction of “binary Digit”; the single unit of information in a computer, typically represented as a 0 or 1
3
New cards
byte
8 bits
4
New cards
overflow error
Error from attempting to represent a number that is too large
5
New cards
Round-off Error
Error from attempting to represent a number that is too precise. The value is rounded
6
New cards
Analog Data
Data with values that change continuously, or smoothly, over time. Some examples of analog data include music, colors of a painting, or position of a sprinter during a race
7
New cards
Digital data
Data that changes discretely through a finite set of possible values
8
New cards
sampling
a process for creating a digital representation of analog data by measuring the analog data at regular intervals called samples
9
New cards
**Lossless Compression**
A process for reducing the number of bits needed to represent something without losing any information. This process is reversible
10
New cards
**Lossy Compression**
A process for reducing the number of bits needed to represent something in which some information is lost or thrown away. This process is not reversible
11
New cards
**Intellectual Property**
A work or invention that is the result of creativity, such as a piece of writing or a design, to which one has rights and for which one may apply for a patent, copyright, trademark, etc.
12
New cards
**Creative Commons**
A collection of public copyright licenses that enable the free distribution of an otherwise copyrighted work, used when an author wants to give people the right to share, use, and build upon a work that they have created
13
New cards
***Computing Device***
*a machine that can run a program, including computers, tablets, servers, routers, and smart sensors*
14
New cards
***Computing System***
*a group of computing devices and programs working together for a common purpose*
15
New cards
***Computing Network***
*a group of interconnected computing devices capable of sending or receiving data*
16
New cards
***Path***
*the series of connections between computing devices on a network starting with a sender and ending with a receive*r
17
New cards
***Bandwidth***
*the maximum amount of data that can be sent in a fixed amount of time, usually measured in bits per second*
18
New cards
***Protocol***
*An agreed-upon set of rules that specify the behavior of some system*
19
New cards
**IP** ***Address***
*The unique number assigned to each device on the Internet*
20
New cards
***Internet Protocol (IP)***
*a protocol for sending data across the Internet that assigns unique numbers (IP addresses) to each connected device*
21
New cards
***Router***
*A type of computer that forwards data across a network*
22
New cards
***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*
23
New cards
***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*
24
New cards
**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
25
New cards
**HTTP**
HyperText Transfer Protocol - the protocol used for transmitting web pages over the Internet
26
New cards
**Internet**
a computer network consisting of interconnected networks that use standardized, open (nonproprietary) communication protocols
27
New cards
**World Wide Web**
a system of linked pages, programs, and files
28
New cards
**Digital Divide**
differing access to computing devices and the Internet, based on socioeconomic, geographic, or demographic characteristics
29
New cards
**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
30
New cards
**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
31
New cards
**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
32
New cards
**Program Statement**
a command or instruction. Sometimes also referred to as a code statement.
33
New cards
**Program**
a collection of program statements. Programs run (or “execute”) one command at a time
34
New cards
**Sequential Programming:**
program statements run in order, from top to bottom
35
New cards
**Event Driven Programming**
some program statements run when triggered by an event, like a mouse click or a key press
36
New cards
**Documentation**
a written description of how a command or piece of code works or was developed
37
New cards
**Comment**
form of program documentation written into the program to be read by people and which do not affect how a program runs
38
New cards
**Pair Programming**
a collaborative programming style in which two programmers switch between the roles of writing code and tracking or planning high level progress
39
New cards
**Debugging**
* Finding and fixing problems in an algorithm or program.
40
New cards
**Development process**
the steps or phases used to create a piece of software. Typical phases include investigating, designing, prototyping, and testing
41
New cards
**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
42
New cards
**Expression**
a combination of operators and values that evaluates to a single value
43
New cards
**Assignment Operator**
allows a program to change the value represented by a variable
44
New cards
**Variable**
a named reference to a value that can be used repeatedly throughout a program
45
New cards
**String**
an ordered sequence of characters
46
New cards
**Boolean Value**
a data type that is either true or false
47
New cards
**Comparison Operators**
48
New cards
**Logical operator**
NOT, AND, and OR, which evaluate to a Boolean value
49
New cards
**Conditional Statement**
affect the sequential flow of control by executing different statements based on the value of a Boolean expression
50
New cards
**Function**
a named group of programming instructions. Also referred to as a “procedure”
51
New cards
**Function Call**
a command that executes the code within a function
52
New cards
**List**
an ordered collection of elements
53
New cards
**Element**
an individual value in a list that is assigned a unique index
54
New cards
**Index**
a common method for referencing the elements in a list or string using numbers
55
New cards
**Iteration**
a repetitive portion of an algorithm which repeats a specified number of times or until a given condition is met
56
New cards
**Infinite loop**
occurs when the ending condition will never evaluate to true
57
New cards
**Traversal**
the process of accessing each item in a list one at a time
58
New cards
**Data abstraction**
manage complexity in programs by giving a collection of data a name without referencing the specific details of the representation
59
New cards
**Problem**
a general description of a task that can (or cannot) be solved with an algorithm
60
New cards
**Algorithm**
a finite set of instructions that accomplish a task
61
New cards
**Sequencing**
putting steps in an order.
62
New cards
**Selection**
deciding which steps to do next
63
New cards
**Iteration**
doing some steps over and over
64
New cards
**Efficiency**
a measure of how many steps are needed to complete an algorithm
65
New cards
**Linear Search**
a search algorithm which checks each element of a list, in order, until the desired value is found or all elements in the list have been checked
66
New cards
**Binary Search**
a search algorithm that starts at the middle of a sorted set of numbers and removes half of the data; this process repeats until the desired value is found or all elements have been eliminated.
67
New cards
**Reasonable Time**
Algorithms with a polynomial efficiency or lower (constant, linear, square, cube, etc.) are said to run in a reasonable amount of time
68
New cards
**Unreasonable Time**
Algorithms with exponential or factorial efficiencies are examples of algorithms that run in an unreasonable amount of time
69
New cards
**Heuristic**
provides a "good enough" solution to a problem when an actual solution is impractical or impossible
70
New cards
**Decision Problem**
a problem with a yes/no answer  (e.g., is there a path from A to B?)
71
New cards
**Optimization Problem**
a problem with the goal of finding the "best" solution among many (e.g., what is the shortest path from A to B?)
72
New cards
**Undecidable Problem**
a problem for which no algorithm can be constructed that is always capable of providing a correct yes-or-no answer
73
New cards
**Sequential Computing**
a model in which programs run in order, one command at a time
74
New cards
**Parallel Computing**
a model in which programs are broken into small pieces, some of which are run simultaneously
75
New cards
**Distributed Computing**
a model in which programs are run by multiple devices
76
New cards
**Speedup**
the time used to complete a task sequentially divided by the time to complete a task in parallel
77
New cards
**Parameter**
a variable in a function definition. Used as a placeholder for values that will be passed through the function.
78
New cards
**Argument**
the value passed to the parameter
79
New cards
**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
80
New cards
**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
81
New cards
**Library**
a group of functions (procedures) that may be used in creating new programs
82
New cards
**API**
Application Program Interface - specifications for how functions in a library behave and can be used
83
New cards
**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
84
New cards
**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).
85
New cards
**Correlation**
a relationship between two pieces of data, typically referring to the amount that one varies in relation to the other
86
New cards
**Crowdsourcing**
the practice of obtaining input or information from a large number of people via the Internet.
87
New cards
**Information**
the collection of facts and patterns extracted from data
88
New cards
**Data bias**
data that does not accurately reflect the full population or phenomenon being studied
89
New cards
**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
90
New cards
**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).
91
New cards
**Personally Identifiable Information (PII)**
information about an individual that identifies, links, relates, or describes them.
92
New cards
**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
93
New cards
**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
94
New cards
**Malware**
software intended to damage a computing system or to take partial control over its operation
95
New cards
**Rogue Access Point**
a wireless access point that gives unauthorized access to secure networks
96
New cards
**Encryption**
a process of encoding messages to keep them secret, so only "authorized" parties can read it.
97
New cards
**Decryption**
 a process that reverses encryption, taking a secret message and reproducing the original plain text.
98
New cards
**Symmetric Key Encryption**
involves one key for both encryption and decryption.
99
New cards
**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
100
New cards
**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