Csp Review Flashcards
Define Sequencing
The sequential execution of steps in an algorithm or code in a program (like steps in a recipe).
Meta data
Data about the data
Define syntax error
A mistake in typed code that violates the rules of the programming language. Typically, code with syntax errors will not run.
Define Logic error
A mistake in an algorithm or program that causes it to behave unexpectedly or return the incorrect value.
Define run time error
A mistake in a program that happens only when the program is actually run, such as a program attempting to access memory that does not exist.
Define overflow error
Error that results when the number of bits is not enough to represent the number
Analog data vs digital data
Analog technology uses data that is continuous and the goal is to capture a likeness of reality.
Digital technology uses sampling to encode the data and then reproduces it as closely as needed.
Lossless vs lossy compression
lossless: Compressing data in a way that preserves all data away and allows full recovery of the original.
Doesn’t lose image quality
lossy: Compressing data in a way that discards some data and makes it impossible to recover the original.
Define selection
A Boolean condition to determine which of two paths are taken in an algorithm or program.
Define iteration
The repetition of steps in an algorithm or program for a certain amount of times or until a certain condition is met.
Define linear search
An algorithm that iterates through each item in a list until it finds the target value. Ends when all elements have been eliminated or target is found
Can be performed on unsorted lists
Define binary search
An algorithm that searches a sorted list for a value by repeatedly splitting the list in half. Ends when all elements are eliminated or target is found.
Although faster than linear search, binary search cannot be performed on unsorted lists
Explain reasonable vs unreasonable times
A run time for an algorithm that doesn’t increase faster than a polynomial function of the input size or less (linear, constant etc.).
Algorithms with exponential or factorial efficiencies are examples of algorithms that run in an unreasonable amount of time.
Define heuristic
A technique that helps an algorithm find a good solution in a hard problem (like always walking toward the north star when you are stuck in a forest).
Define computing device
A physical device that can run a program, such as a computer, smart phone, or smart sensor.
Define computer network
A group of interconnected computing devices capable of sending or receiving data.
Define bandwidth
The maximum amount of data that can be sent in a fixed period of time over a network connection, typically measured in bits per second.
Define protocol
An agreed upon set of rules that specify the behavior of a system.
Define scalability
The ability of a system to adjust in scale to meet new demands.
Define IP (Internet Protocol)
The protocol that determines how to address nodes on the network (with IP addresses) and how to route data from one node to a destination node (using routers).
Define TCP (Transmission Control Protocol)
A protocol for sending packets that does error-checking to ensure all packets are received and properly ordered