CSP Course Vocabulary
CSP Course Vocabulary
Unit 6 - Algorithms
Unit Vocabulary
● Problem: a general description of a task that can (or cannot) be solved with an algorithm
● Algorithm: a finite set of instructions that accomplish a task.
● Sequencing: putting steps in an order.
● Selection: deciding which steps to do next.
● Iteration: doing some steps over and over
● Efficiency: a measure of how many steps are needed to complete an algorithm
● 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.
● 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.
● Reasonable Time: Algorithms with a polynomial efficiency or lower (constant, linear, square, cube, etc.) are
said to run in a reasonable amount of time.
● Unreasonable Time: Algorithms with exponential or factorial efficiencies are examples of algorithms that run
in an unreasonable amount of time.
● Heuristic: provides a "good enough" solution to a problem when an actual solution is impractical or impossible
● Decision Problem: a problem with a yes/no answer (e.g., is there a path from A to B?)
● 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?)
● Undecidable Problem: a problem for which no algorithm can be constructed that is always capable of
providing a correct yes-or-no answer
● Sequential Computing: a model in which programs run in order, one command at a time.
● Parallel Computing: a model in which programs are broken into small pieces, some of which are run
simultaneously
● Distributed Computing: a model in which programs are run by multiple devices
● Speedup: the time used to complete a task sequentially divided by the time to complete a task in parallel
Unit 9 - Data
Unit Vocabulary
● 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.
● 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).
● Correlation: a relationship between two pieces of data, typically referring to the amount that one varies in
relation to the other.
● Crowdsourcing: the practice of obtaining input or information from a large number of people via the Internet.
● Information: the collection of facts and patterns extracted from data
● Data bias: data that does not accurately reflect the full population or phenomenon being studied
● 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