1/161
Flashcards based on lecture notes covering various computer science concepts.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Who is the Alonzo character named after?
Alonzo Church, a major contributor to early computer science.
What is a Sprite in the context of this lecture?
An actor on the stage who knows how to do many different things, such as walk around the stage and speak the lines of the play.
What are Costumes in relation to sprites?
Pictures that can be 'worn' by a sprite.
Define 'Transparency of an image'.
How much you can see what's behind it.
What is the 'Ghost effect'?
An effect that sets different levels of transparency for a sprite.
Define 'List'.
An ordered sequence of items.
What is a 'String'?
A sequence of characters (letters, digits, punctuation, etc.).
Define 'Substring'.
A piece of some existing string.
What does it mean to 'Concatenate strings'?
To make a bigger string by connecting two or more smaller strings.
Define 'Debugging'.
The process of testing, finding problems, and fixing them.
What is a 'Procedure'?
A named sequence of instructions that may take inputs and may report a value.
Define 'Reporter'.
A type of procedure that has an oval shape and reports a value.
What is a 'Command' in this context?
A type of procedure that has a jigsaw puzzle shape and tells the computer to do something without reporting a value.
Define 'Expression'.
Either a constant value or a call to a reporter block including its inputs.
What is an 'Algorithm'?
A sequence of steps that are usually performed by a computer.
Define 'Pseudocode'.
An algorithm written in human language, used to focus on important ideas instead of programming details.
What is a 'Parameter'?
The input name set in the block definition that never changes.
Define 'Argument'.
The input value given each time the block is run, which can be different each time.
What does 'Input' refer to?
Both parameters (input names) and arguments (input values).
What is the purpose of the 'Pick random () to ()' block in Snap!?
A reporter block in Snap! that selects a random value.
What does the 'Broadcast ()' block do?
A command block in Snap! that sends a message to all sprites.
What is the function of the 'Say ()' block?
A command block in Snap! that makes a sprite display a message.
What does the 'Point in direction ()' block do?
A command block in Snap! that directs a sprite to face a certain direction.
What is the function of the 'Join () ()' block in Snap!?
A block in Snap! that concatenates two strings.
Define 'Iteration'.
Computer scientists describe a repeating program structure as looping, repetition, or iteration.
What is 'Personally identifiable information (PII)'?
PII is information that can let others figure out who you are and possibly get more information like your Social Security number, age, race, phone number(s), medical information, financial information, or biometric data (such as your thumbprint or face scan).
What is an 'Infinite loop'?
When a program keeps running forever, that's called an infinite loop.
Define 'Code segment'.
A code segment is a sequence of connected instructions that carry out a purposeful action.
What is a 'Variable'?
A variable is like a box that can hold one value at a time, such as one word, one costume, or one list (which can contain many things).
Define 'Local Variable'.
A local variable can be set or used only in the environment in which it is defined.
What is a 'Predicate'?
A predicate is a hexagon-shaped reporter that asks a true/false question.
What is a 'Boolean value'?
Predicates report a Boolean value (either true or false).
Why are the if and if-else blocks called 'Conditionals'?
Because they control the code based on a true-or-false condition.
What is a 'Global Variable'?
A global variable is a variable that is usable by all scripts in the program.
What is meant by 'Initializing the variable'?
Setting the starting value of a variable is known as initializing the variable.
Define 'Index'.
The position number is called the index of the item in the list.
What is an 'Element'?
An element is another name for an item in a list.
Define 'Sublist'.
A sublist is a list used as an item of another list.
What is meant by 'Data Types'?
A data type is what kind of data something is (number, text string, list, etc.).
Define 'Abstract Data Types (ADTs)'.
ADTs are things that you, the programmer, create to make your program easier for you and others to read, debug, and improve.
What is an 'Abstract Data Type (ADT)'?
A custom data type that's meaningful to your program, developed as you code, hiding details inside the constructor and selectors.
What is a 'Quiz Item'?
The constructor that constructs one example of the data structure, consisting of question: () and answer: () blocks.
What is 'Data Abstraction'?
The creation and use of abstract data types in a program.
Define 'Table' in this context.
A two-dimensional data structure with rows and columns, implemented as a list of lists in Snap!.
What is 'Composition of Functions'?
Using the result from one function as the input to another function.
Define 'Traversing a List'.
Looking at each item of the list, where 'for each' iterates without using index numbers.
What is the 'Domain' of a function?
The input type of a function, which is the type of data that it accepts as input.
What is the 'Range' of a function?
The output type of a function, which is the type of data that it reports as output.
Define 'Selection' in the context of algorithms.
Deciding which part of an algorithm to run based on whether a condition is true or false.
What is 'Sequencing' in an algorithm?
Following steps in order within an algorithm.
Define 'Iteration' in the context of algorithms.
Repeating a process or set of instructions in an algorithm.
What is a 'Nested Conditional Statement'?
An if or if else statement inside another if else statement.
Define 'String'.
An ordered sequence of characters.
What is meant by 'Index'?
The position of an element in a list or a character in a string.
What is a 'Software Library'?
A collection of procedures that can be used in programs.
What does 'API (Application Program Interface)' stand for?
Documents what a programmer needs to know about using a library, describing each procedure's purpose, inputs, and outputs.
Define 'Web API'.
An API that is specifically designed for web applications.
What are 'Creative Commons' licenses?
A family of copyright licenses that allow others to use, share, maybe sell, and maybe revise your work.
What is 'Free Software'?
Software that anyone can copy, use, modify, and redistribute commercially, with modifications under the same license.
What does 'Open Source Software' generally refer to?
A general term for software whose source code is made available to anyone, with potential restrictions on usage.
What is 'Open Access Scholarly Research'?
Research reports available for free download, not requiring permission from a journal publisher.
Define 'Recursion'.
Calling a procedure from inside itself.
What is 'Procedural Abstraction'?
The process of developing a program by breaking up a large problem into smaller sub-problems.
What is a 'Draw Brick Block'?
A procedure with a name related to the problem you are solving.
Describe the beauty of 'Procedural Abstraction'.
Once you've coded and debugged a block, you don't need to think about how it works each time you use it.
What is 'Modularity'?
The process of breaking a problem into smaller pieces and is a form of procedural abstraction.
Define 'Clone' in the context of sprites.
A copy of a sprite that shares information with its parent sprite, including scripts, but changes made to a clone are not shared with the parent.
What is 'Debugging' often described as?
The art of identifying errors in computer programs and fixing them.
What does 'Input' refer to?
Input refers to the empty boxes in a block that get filled with values, as well as information entered into a program by the user.
What is considered 'Output' from a program?
Program output means any data sent from your program to the user or to any device, typically depending on the input.
What is a 'Higher-order Function'?
A higher-order function is a function that takes a function as input or reports a function as output.
What is a 'Sprite Variable'?
A sprite variable is like a global variable in that it doesn't belong to a particular script, but it does belong to a particular sprite.
What loosely defines 'Artificial Intelligence (AI)'?
A field of computer science loosely defined as 'trying to get computers to think.'
What is the 'Internet'?
The Internet is a computer network that uses open protocols to standardize communication.
What is a 'Computing Device'?
A computing device is a physical object that can run a program, such as computers, tablets, cell phones, and smart sensors.
What is a 'Router'?
A router is a computer that passes information from one network to another.
What are 'ISPs (Internet Service Providers)'?
ISPs are the companies who sell Internet access to homes and institutions.
Define 'Bandwidth'.
Bandwidth is the maximum amount of data that can be sent in a fixed amount of time, measured in bits per second.
What does 'Cloud Storage' mean?
Storing data in the cloud means storing it somewhere on the Internet, managed by a cloud service provider.
What is a 'Path'?
A path is a sequence of directly connected computing devices that connect a sender to a receiver.
Define 'Routing'.
Routing is the process of finding a path from sender to receiver.
What is 'Scalability' in the context of the Internet?
Scalability is the ability of the Internet to keep working as it grows.
Define 'Redundancy'.
Redundancy is the inclusion of back-up elements in case one part fails.
What is 'Fault Tolerance'?
Fault tolerance is the ability of a system to work around problems.
Define 'Protocol'.
A protocol is a set of rules that specify the behavior of a system.
What is an 'IP Address'?
An IP address is a unique number assigned to each device on a computer network.
What is a 'Packet'?
A small chunk of any kind of data (text, numbers, lists, etc.) and metadata (information about the data) that is passed through the Internet as a data stream.
Describe 'Packet Switching'.
The Internet sends short bursts of information, not long continuous strings.
What does 'TCP/IP' represent?
A pair of protocols that provide two levels of abstraction.
What is the function of 'IP (Internet Protocol)'?
Lets your computer pretend it has a direct connection to another computer.
What is the function of 'TCP (Transmission Control Protocol)'?
Lets your computer pretend it has a reliable connection to the other computer.
Define 'Encryption'.
The process of encoding data to prevent unauthorized access.
What is 'Decryption'?
The process of decoding the data.
Describe 'Symmetric Encryption'.
Substitution ciphers are examples because they use the same key for both encryption and decryption.
What is 'Public Key Encryption'?
Uses a pair of keys: a public key for encryption and a private key for decryption.
What is 'SSL/TLS'?
The standard used for cryptographically secured information transfer on the Internet.
What are 'Certificate Authorities'?
Organizations that issue digital certificates to verify who owns the encryption keys used for secured communications.
What is 'Malware'?
Software that was designed to harm or take partial control over your computer.
Define 'Keylogging Software'.
A kind of malware that records every key pressed by a user.
What is a 'Computer Virus'?
A type of malware that spreads and infects other computers and can attach themselves to legitimate programs.