AP Computer Science Principles EXAM _ Complete A+ Final Review Guide
- error that results when the number of bits is not enough to hold the number, like a car's odometer "rolling over"
- error that results when the number of bits is not enough to represent the actual number, like 3 digits to represent π as 3.14
- Compressing data in a way that throws some data away and makes it almost impossible to recover the original, great compression, like JPEG images
- Compressing data in a way that preserves all data away and allows full recovery of the original, good compression -- usually not as good as lossy, like PNG images
- data about data, like a camera storing the location, aperture, shutter speed, etc. for a digital photo
- code flows line by line, one after another, like a recipe
- a boolean condition to determine which of two algorithmic paths are taken, aka if-then
- using a looping control structure, like while, for, foreach, repeat, repeat-until, etc.
- polynomial in the number of steps an algorithm takes in the worst case based on the input size
- Usually exponential in the number of steps, like doubling every time your input grows by one
- using a "rule" to guide an algorithm, like always walking toward the north star if you were stuck in a forest
- A problem that is so difficult, we can't ever create an algorithm that would be able to answer yes or no for all inputs, like determining if a user's program run on some input would always stop and not run forever
- Going one by one vs starting in the middle and going left/right like looking for a word in the dictionary
- requires the list to be sorted in order and then cutting the list in half
- Application Programming Interface
- Lots of people to help with a scientific project, like asking everyone around the world to count the butterflies they see one day
- Using distributed calculations and/or storage for big data or a web application
- Asking lots of users online to help with something, like funding a project, or running SETI@Home to help look for extraterrestrial signals
- An alternative to copyright that allows people to declare how they want their artistic creations to be shared, remixed, used in noncommercial contexts, and how the policy should propagate with remixed versions
- A policy that allows people to have read access to things, e.g., libraries or online data
M- The # of transistors on a chip doubles every two years
- A system where one user's computer connects through the Internet to another user's computer without going through an intermediary "centralized" computer to manage the connection
- The idea that some communities / populations have less access to computing than others
- Internet Service Provider
How does internet communication arrive at its destination? -
How can the government control speech on the Internet?
How can Internet posters evaded being convicted for defamation/slander on the Web? -
What has Congress given ISPs relating to an Internet Defamation case? .
- Each protocol interfaces only to those in the layers immediately above and below it, and all data is turned into IP bit packets in order to pass from an application to one of the physical media that make up the network.
- Transmission Control Protocol
Guarantees reliable transmission by breaking messages into packets, keeping track of which packets have been received successfully, resending any that have been lost, and specifying the order for reassembling the data on the other end.
- User Datagram Protocol
provides timely but unreliable message delivery
- HyperText Transport Protocol
which is used for sending and receiving web pages
- Simple Mail Transport Protocol
used for sending email.
What does "End to End" mean in regards to the Internet? -
- Request for Comment
Standards adopted through a remarkable process of consensus- building, nonhierarchical in the extreme. Someone posts a proposal, and a cycle of comment and revision, of buy-in and objection, eventually converges on something useful, if not universally regarded as perfect.
- To translate a binary numeral (like 12) to hexadecimal, start by splitting it into groups of four bits, from right-to-left (like this: ).
Then determine the value of each group and write the corresponding hex digit.
- A network of independent but connected devices all over the world.
- The collection of interlinked website documents (such as HTML files) that you can view with a web browser by typing addresses like
- Hypertext markup language
Most web pages are written with ________
- Uniform Resource Locator
An address for accessing specific web data located on a server
- A computer hosting data for others to access
- the standard for communication between browsers and servers (usually "http" or "https")
Sometimes not visible in browsers like Google Chrome
- The name of the server that hosts the data
()
- the location of the data in a hierarchy of folders on the server
(Website/)
- Standards for communication
- Internet Protocol
An addressing system that finds paths to distant computers
Specifies how a router handles a request for another IP address.
Redundant - There are multiple pathways among the physical connections of the Internet to create redundancy. Even if one pathway is unavailable, there is still another way to transmit a message from sender to receiver
- There are two ____________ Internet addressing systems, domain names and IP addresses. These address ______________ works much like the postal system, which locates people first by state, then city, then street, then house number, then apartment, and then finally person.
- ability to work around problems
- the ability of the net to keep working even as the size of the network and the amount of traffic over the network increase.
- A kind of malware that tries to spread itself over the network to other computers.
- Helps protect against virus attacks
- An attacker sends you an email that appears to be from some official organization (such as your bank) and tricks you into giving information to the attackers (such as your bank password).
- Distributed Denial of Service
-Consists of sending a lot of requests to a server at the same time. This can overload the server's network bandwidth.
-Causes a temporary inability to reach the targeted server so other users of that server are denied service.
Which protocols are used to keep secure HTTP connections? -
- Used by many websites for encryption to protect files and information that is transmitted over the Internet. They issue certificates to verify the identity of a user or computer.
- The IP address that is logged by various servers/devices when you connect to them through your internet connection.
- An IP address that's reserved for internal use behind a router or other Network Address Translation (NAT) device, apart from the public.
- This address is big enough to support 2^32 computers. That's about four billion (4 · 109), but there are more than seven billion people on Earth, so there aren't enough IP addresses to go around. Each of the four numbers in a typical IP address today is an eight-bit byte with a value between 0 and 255
- The long-term solution is to increase the length of an IP address. The new IP addresses are 128 bits wide, which is enough to support 2^128 (about 1038) computers.
- The "connection points" of the Internet.
Networking devices that route traffic between subnetworks on the Internet.
- When you send a message over the Internet, your computer divides it into small chunks called __________ that it sends individually, each on its own path. A __________ can include any kind of data: text, numbers, lists, etc.
- A digital networking communications method that groups all transmitted data into suitably sized blocks, called packets, which are transmitted via a medium that may be shared by multiple simultaneous communication sessions.
Example : Internet
- Manages the complexity of the Internet by hiding the details of lower levels of the system. The highest level of abstraction includes the most general features of the Internet that have to work the same across all devices. At lowers levels of abstraction, things get more device-specific.
- The highest level of abstraction because they manage how data is interpreted and displayed to users. These protocols give meaning to the bits sent by lower-level protocols; user and server computers must agree on what the bits mean, and application protocols (like HTTP) offer this.
- Manage the breakdown of a message into packets to be transmitted by lower level protocols and also the reconstruction of the message from the packets upon arrival.
- Manage the pathways that the data packets travel across networks. These protocols treat the Internet like one large network even though the physical reality on the lower level is one of many tiny subnetworks.
- Also known as Link Layer
All Internet devices connect through a physical interface that uses a protocol to manage the connection to the local network. These local protocols are the least abstract because they deal directly with your physical hardware.
- Domain Name System
The hierarchical addressing protocol that is human-readable
Who is in charge of the Internet?
- the Internet Corporation for Assigned Names and Numbers
Controls the DNS hierarchy and the allocation of IP addresses.
For how long has the U.S. dominated the Internet and why? -
- Standards that are not owned by a company
- (The Internet Engineering Task Force) and the Internet Society oversee Internet protocols
What does the Internet rely on to operate properly? -
- Used to limit the kinds of connections (HTTP requests, incoming mail, etc.) outsiders can make to your computer.
- The set of rules you are using to encode the information
- What tells you how to arrange the cipher's rules. _______ is applied using an algorithm to a string or block of unencrypted text to produce encrypted.
- Analyzing the code and working back from it
- A class of ciphers where the code is based on one letter of the alphabet standing for another letter consistently throughout the message
- Trying all the possible ways to crack a code
- Based on the idea that every language has its own specific patterns. The study of the frequency of letters or groups of letters in a ciphertext.
- Words, letters, and phrases that are so common that it is hard to form a sentence without them
Examples: e and the
- The way you scramble the alphabet actually changes throughout the message
Example: Vigenère cipher
- Alphabet goes up on the top and also to the side in order to help write a code.
How can you crack Vigenère cipher? -
- Only way to create an unbreakable cipher. Uses the key that is as long as the message itself. Once a sheet is used for a message you destroy it. Then you use the next sheet for the next message so you never repeat a key. As long as you keep the pad safe, no one can ever decrypt the message.
- An example of a one time pad encryption device.
- Device developed by Alan Turing used by the British military to crack the enigma machine. As long as this device knew 20 characters of the message it could crack the code.
- Numbers only divisible by themselves and one. Very useful for internet security because of this trait.
- A code that is available for anyone to use.
- A code that must remain confidential to its respective owner.
How does Public Key/Private Key Cryptography work? -
- Works by converting information or data into a language that cannot be understood in one glance. Usually, the information is sent to a person who can decrypt it using a key only they have access, keeping the information's privacy intact.
Three principles of Encryption?
- Helps to verify that original author of the code is what he or she claims to be.
- Essential towards maintaining the privacy of the message because it must be known that the message was not tampered with in any way, shape, or form.
- Where the user sends a message to another person but later denies he or she actually sent the message, causing confusion and bringing the integrity of the message into question.
Three types of encryption?
- Where a single key is sent with the message to another user for the receiver to decode the message.
- Where the user has a public key that he or she uses to encrypt the message to send to the receiver who will then use his or her private key to decode the message.
- Types of systems where the user sends a plain text message to another user without a key. They are usually generated based on the message which helps determine whether the integrity of the message has been tampered.
- A method of secret key agreement makes secret key distribution much easier.
How does the Diffie-Hellman-Merkle Method work?
What are some problems of the Diffie-Hellman-Merkle Method? -
- Also known as a shift cipher, is one of the simplest forms of encryption. It is a substitution cipher where each letter in the original message (called the plaintext) is replaced with a letter corresponding to a certain number of letters up or down in the alphabet.
- a Boolean operator. *Both* have to be true in order for it to evaluate to true.
- a Boolean operator. one or the other has to be true in order for it to evaluate to true.
- a Boolean operator. Everything except the entered input is true.
- an expression that results in a __________ value, that is, in a value of either true or false .
- An act or mechanism to combine simple functions to build more complicated ones.
- Set of rules performed if a certain condition is met.
- A classification of data which tells the compiler or interpreter how the programmer intends to use the data. Examples include : real, integer, float (decimal point number)
- A multi-step process that involves identifying a problem, isolating the source of the problem, and then either correcting the problem or determining a way to work around it. The final step of ______________ is to test the correction or workaround and make sure it works.
- What the code is set to when it is started.
- Keep Checking:
If this is true
Then do this
- Keep Checking:
If this is true . . .
then do this
. . . and if it is not true
then do this
- Set up different variables to take a specific ______ _______.
- Reports a newly created _________ with the given items.
The _______ items can be anything: text, numbers, blocks, scripts, and even other ______.
- Numbers, symbols and operators (such as + and ×) grouped together that show the value of something.
- If you need to test for more than one condition, then take one of several actions, depending on the result of the tests, you can nest multiple IF statements together in one formula.
A ________ is a special kind of reporter that *always reports true or false*. ________ have a hexagonal shape. The special shape is a reminder that ______________ don't generally make sense in an input slot of blocks that are expecting a number or text.
Has an oval shape. It is called a " ______ " because when it's run, instead of carrying out an action, it reports a value that can be used as an input to another block.
- A ________ is a special kind of reporter that always reports true or false. ________ have a hexagonal shape. The special shape is a reminder that predicates don't generally make sense in an input slot of blocks that are expecting a number or text.
- Used when you only need a variable temporarily, during the running of a particular script. You can use ____ ________ block to make the variable. Example : for loop, the (length) only works inside the for loop.
- an Operators block and a Boolean block. The block checks if the first value is less than the other value. If it is greater, the block returns true; if not, it returns false.
- an Operators block and a Boolean block. The block checks if the first value is equal to the other value. If the values are equal, the block returns true; if not, false. This block is not case-sensitive.
- an Operators block and a Boolean block. The block checks if the first value is greater than the other value. If it is less, the block returns true; if not, it returns false.
- an Operators block and a Boolean block. The block joins two boolean blocks so they both have to be true to return true. If they are both true, the block returns true; if they are not all true or none true, it returns false.
- finds the remainder after division of one number by another
- an Operators block and a Boolean block. The block joins two boolean blocks so any one of them can be true to return true — if at least one of them is true, the block returns true; if neither of them are true, it returns false.
— this can be used to fit more booleans in.
- Takes the ___________ ___________ of a number. The distance the number is away from zero. It is always positive.
- Rounding up
- reported input is false
- Rounding down
- Keep Checking:
If this is true
Then do this
- Keep Checking:
If this is true . . .
then do this
. . . and if it is not true
then do this
- An Operators block and a Reporter block. The block concatenates, or "links" the two values together and reports the result
Example : print "This is my" + " " + variable + " " + "class."
- an Operators block and a Boolean block. The block checks if the boolean inside it is false — if it is false, the block returns true; if the condition is true, it returns false.
- Reporters that report Boolean (true or false) values.
Script Variables - Used when you only need a variable temporarily, during the running of a particular script. You can use ____ ________ block to make the variable.
- Variables block and a Stack block. The block will set the specified variable to the given value: a string or number.
Example : Set (score) to (0)
- A Sensing block and a Boolean block. The block checks if its sprite is touching the mouse-pointer, edge, or another sprite (a Reporter block holding the sprite's name can be used). If the sprite is touching the selected object, the block returns true; if it is not, it returns false.
- reported input is true
- Reports the letter with a given code.
Letters and other characters are represented inside the computer using a numeric code called Unicode. Unicode can represent the characters of all human languages, plus many non-letter symbols.
- Reports the Unicode value of a letter.
Letters and other characters are represented inside the computer using a numeric code called Unicode. Type or paste a single character into the input to get its Unicode number.
T and T equals -
T and F equals -
F and T equals -
F and F equals -
T or T equals -
T or F equals -
F or T equals -
F or F equals -
Why is the use of variables, script variables, and input variables important? -
Why is abstraction important?
Why is it useful to specify the type of input that a block is expected to receive? -
- A standard way to perform an operation.
- Put a wait after every command
Vista previa del contenido
AP Computer Science Principles EXAM _ Complete A+ Final
Review Guide (Summer 2023/2024)
Overflow - error that results when the number of bits is not enough to hold the
number, like a car's odometer "rolling over"
Round-off - error that results when the number of bits is not enough to represent
the actual number, like 3 digits to represent π as 3.14
Lossy - Compressing data in a way that throws some data away and makes it
almost impossible to recover the original, great compression, like JPEG images
Lossless - Compressing data in a way that preserves all data away and allows full
recovery of the original, good compression -- usually not as good as lossy, like PNG
images
Metadata - data about data, like a camera storing the location, aperture, shutter
speed, etc. for a digital photo
Sequencing - code flows line by line, one after another, like a recipe
Selection - a boolean condition to determine which of two algorithmic paths are
taken, aka if-then
Iteration - using a looping control structure, like while, for, foreach, repeat, repeat-
until, etc.
Reasonable Time - polynomial in the number of steps an algorithm takes in the
worst case based on the input size
Not reasonable time - Usually exponential in the number of steps, like doubling
every time your input grows by one
,Heuristic - using a "rule" to guide an algorithm, like always walking toward the
north star if you were stuck in a forest
Undecidable - A problem that is so difficult, we can't ever create an algorithm that
would be able to answer yes or no for all inputs, like determining if a user's
program run on some input would always stop and not run forever
Linear Search - Going one by one vs starting in the middle and going left/right like
looking for a word in the dictionary
Binary Search - requires the list to be sorted in order and then cutting the list in
half
APIs - Application Programming Interface
Citizen Science - Lots of people to help with a scientific project, like asking
everyone around the world to count the butterflies they see one day
Cloud Computing - Using distributed calculations and/or storage for big data or a
web application
Crowdsourcing - Asking lots of users online to help with something, like funding a
project, or running SETI@Home to help look for extraterrestrial signals
Creative Commons - An alternative to copyright that allows people to declare how
they want their artistic creations to be shared, remixed, used in noncommercial
contexts, and how the policy should propagate with remixed versions
Open Access - A policy that allows people to have read access to things, e.g.,
libraries or online data
Moore's Law - The # of transistors on a chip doubles every two years
, Peer-to-peer Networks - A system where one user's computer connects through
the Internet to another user's computer without going through an intermediary
"centralized" computer to manage the connection
Digital Divide - The idea that some communities / populations have less access to
computing than others
ISP - Internet Service Provider
How does internet communication arrive at its destination? - Speech on the
Internet goes from the source to an ISP, into the cloud, out of the cloud to another
ISP, and to its destination
How can the government control speech on the Internet? - 1) It can try to control
the speaker or the speaker's ISP, by criminalizing certain kinds of speech. But that
won't work if the speaker isn't in the same country as the listener.
2)It can try to control the listener, by prohibiting possession of certain kinds of
materials. In the U.S., possession of copyrighted software without an appropriate
license is illegal, as is possession of other copyrighted material with the intent to
profit from redistributing it.
3) The government can try to control the intermediaries.
How can Internet posters evaded being convicted for defamation/slander on the
Web? - The posters could evade responsibility as long as they remained
anonymous, as they easily could on the Internet.
What has Congress given ISPs relating to an Internet Defamation case? - Congress
had given the ISPs a complete waiver of responsibility for the consequences of
false and damag- ing statements, even when the ISP knew they were false.
Internet Protocol Hourglass - Each protocol interfaces only to those in the layers
immediately above and below it, and all data is turned into IP bit packets in order
to pass from an application to one of the physical media that make up the
network.
-Email, Web, Phone