APCSP all units
Decimal number: a base 10 number with ten possible different digits
Binary number: a base 2 number with two possible different digits
Each 1 or 0 in binary represents 1 bit
8 bits are a byte
With n-bits we can create 2^n binary numbers
With n-bits, biggest binary number we can store is 2^n-1
Overflow error- When you try to represent a number that is so large that it requires more bits to the left of the decimal point than have been allotted
Roundoff error- When you try to represent a fractional value that requires more bits to the right of the decimal point than have been allotted
Abstraction- A way to hide the complicated details of a system to make it easier for others to use and understand.
Metadata- data used to describe other data
Analog data: Data with values that change continuously, such as music, colors of a painting, or position of a sprinter during a race (or an actual goose).
Digital Data: Data that changes discreetly through a finite set of possible values, such as streamed song, online image/video, etc.
Sampling: A process for converting analog data into digital data by breaking it into distinct pieces called samples.
Lossless compression- Reducing the size of a message in such a way that we can still reconstruct the exact original
Lossy compression- Reducing the size of a message in such a way that we cannot necessarily reconstruct an exact copy of the original
Computing Device: a machine that can run a program, including computers, tablets, servers, routers, and smart sensors.
Computing Network: a group of interconnected computing devices capable of communicating.
Path: the series of connections between a pair of computing devices on a network.
Redundancy: Having multiple paths between devices in a network.
Fault Tolerant: the ability of a network to function even in the event of individual component failures
Bandwidth: the maximum amount of data that can be sent in a fixed amount of time, usually measured in bits per second.
Protocol: An agreed-upon set of rules that specify the behavior of some system.
IP Address: The unique number assigned to each device on the Internet.
Internet Protocol (IP): a protocol for sending data across the Internet that assigns unique numbers (IP addresses) to each connected device
Router: A type of computer that forwards data across a network
Datastream: Information passed through the internet in packets.
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.
Packet Metadata: Data added to packets to help route them through the network and reassemble the original message.
Transmission Control Protocol (TCP): A protocol for sending packets that does error-checking to ensure all packets are received and properly ordered
User Datagram Protocol (UDP): A protocol for sending packets quickly with minimal error-checking and no resending of dropped packets
Server: a computer connected to the internet that is used to store data and, when appropriate, share it.
DNS: A protocol to turn a domain name (i.e. a URL, like code.org) into an IP address. It uses thousands of DNS servers around the world that store IP addresses to supply to users.
HTTP: A series of commands (like GET and POST) that tells a computer what it should do with the data it was just sent.
HTML: the code, functions, and commands given to your web browser by a web server that the browser uses to render a webpage.
HTTPS: A safety protocol to ensure the website you are visiting is what it says it is.
COOKIES: A small piece of data saved by your web browser that identifies who you are to a website you may visit frequently
Digital divide- the economic, educational, and social inequalities between those who have computers and online access and those who do not
Net neutrality: the principle that ISPs must treat all Internet communications equally and can’t slow down, block, or charge extra based on content or bandwidth consumption
Creative commons
Copyright issues
To be a computer, a machine must…
A. accept input,
B. have memory/storage,
C. process the input, and
D. provide output.
Debugging: the process of finding and fixing errors (i..e. bugs) in your code
Syntax error- error due to incorrect programming language
Logic error- program runs without crashing but does not do what it is intended to do
Sequential Programming: program statements run in order, from top to bottom, not driven by actions
Event Driven Programming: some program statements run when triggered by an event, like a mouse click or a key press
Value: a number or string
Expression: a combination of operators and values that evaluates to a single value.
Variable: a “container” that can hold one value at a time. Old values are discarded when a new value is stored. You can use expressions and other variable when assigning values.
Assignment Operator: allows a program to assign or change the value held by a variable.
A Boolean Value is a data type that is either true or false.
< less than > greater than == equal to | <= less than or equal to >= greater than or equal to != not equal to |
Logical Operators:
&& AND
|| OR
! NOT
Comparison Operators ( < , > , <= , >= , == , != ) compare Boolean values and create a Boolean expression.
Global variable: defined outside of any onEvent or function and can be used anywhere within the program.
Local variable: defined inside an onEvent or function and can ONLY be used within that onEvent or function.
Local variables are deleted as soon as the onEvent or function is done running. This means they cannot be used outside of whatever object in which they were created.
Unit 6
A list is an ordered collection of elements
An element is an individual value in a list that
is assigned a unique index
An index is a common method for referencing the elements in a list or string using numbers. In JavaScript, the index count starts at 0.
The length of a list is how many elements it contains. Lists can grow or shrink as elements are added or removed with appendItem(), insertItem(), or removeItem().
appendItem(myList, value) -
Adds the element value to the end of myList.
insertItem(myList, index, value) -
Places the element value in myList at index. All other elements are ‘shifted’ one to the right.
removeItem(myList, index) -
Removes the element at index. All other values are ‘shifted’ one to the left.
myList.length -
Returns the length of the list / tells you how many elements are in the list.
iteration: a repetitive portion of an algorithm which repeats a specified number of times or until a given condition is met.
Simulations are one of the most common things we ask a computer to do and are often used when doing the real thing is…
too time consuming (plot 100,000 points)
too dangerous (learning to fly an airplane)
impossible (how would this behave if gravity was twice as strong?)
Functions are useful when you want to repeat a chunk of code at several different places in your code
Loops are useful when you want to repeat a chunk of code several times in a single spot.
Unit 7
Parameter - a variable in a function definition. Used as a placeholder for values that will be passed through the function. Allows the main program to supply a function with info it needs to work. Allows a function to operate a little differently depending on the value of the parameter passed in.
Argument - the value of the parameter passed into the function
Return - used to return the flow of control to the point where the function was called and to return the value of the expression. Allows the function to pass information back to the main program for it to use. Functions can only return one value at a time.
Library: a group of functions (procedures) that may be used in creating new programs
API (Application Program Interface): specifications for how functions in a library behave and can be used
Procedural Abstraction: providing a name for a function (procedure) to allow it to be used only knowing what it does, and not necessarily how it does it.
Modularity: the subdivision of a computer program into separate subprograms
Problem: a general description of a task that can (possibly) be solved with an algorithm
Algorithm: a finite set of instructions that accomplish a task.
Efficiency: how ‘quickly’ an algorithm solves a problem. (‘Quickly’ usually refers to the number of steps that have to be taken.)
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.
Polynomial, Linear, and log growth problems can be solved exactly in a reasonable amount of time no matter what the input is.
Exponential growth problems would take an unreasonable amount of time to run when given a large volume of input data.
Parallel processing involves adding more processors within a single computer and dividing a task among those processors.
Distributed processing involves adding more computers to a network and dividing a task among those computers.
Sequential Computing: a single processor runs a program in order, one command at a time.
Speedup: the time used to complete a task sequentially divided by the time to complete a task in parallel (ie slow time divide by fast time)
Decimal number: a base 10 number with ten possible different digits
Binary number: a base 2 number with two possible different digits
Each 1 or 0 in binary represents 1 bit
8 bits are a byte
With n-bits we can create 2^n binary numbers
With n-bits, biggest binary number we can store is 2^n-1
Overflow error- When you try to represent a number that is so large that it requires more bits to the left of the decimal point than have been allotted
Roundoff error- When you try to represent a fractional value that requires more bits to the right of the decimal point than have been allotted
Abstraction- A way to hide the complicated details of a system to make it easier for others to use and understand.
Metadata- data used to describe other data
Analog data: Data with values that change continuously, such as music, colors of a painting, or position of a sprinter during a race (or an actual goose).
Digital Data: Data that changes discreetly through a finite set of possible values, such as streamed song, online image/video, etc.
Sampling: A process for converting analog data into digital data by breaking it into distinct pieces called samples.
Lossless compression- Reducing the size of a message in such a way that we can still reconstruct the exact original
Lossy compression- Reducing the size of a message in such a way that we cannot necessarily reconstruct an exact copy of the original
Computing Device: a machine that can run a program, including computers, tablets, servers, routers, and smart sensors.
Computing Network: a group of interconnected computing devices capable of communicating.
Path: the series of connections between a pair of computing devices on a network.
Redundancy: Having multiple paths between devices in a network.
Fault Tolerant: the ability of a network to function even in the event of individual component failures
Bandwidth: the maximum amount of data that can be sent in a fixed amount of time, usually measured in bits per second.
Protocol: An agreed-upon set of rules that specify the behavior of some system.
IP Address: The unique number assigned to each device on the Internet.
Internet Protocol (IP): a protocol for sending data across the Internet that assigns unique numbers (IP addresses) to each connected device
Router: A type of computer that forwards data across a network
Datastream: Information passed through the internet in packets.
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.
Packet Metadata: Data added to packets to help route them through the network and reassemble the original message.
Transmission Control Protocol (TCP): A protocol for sending packets that does error-checking to ensure all packets are received and properly ordered
User Datagram Protocol (UDP): A protocol for sending packets quickly with minimal error-checking and no resending of dropped packets
Server: a computer connected to the internet that is used to store data and, when appropriate, share it.
DNS: A protocol to turn a domain name (i.e. a URL, like code.org) into an IP address. It uses thousands of DNS servers around the world that store IP addresses to supply to users.
HTTP: A series of commands (like GET and POST) that tells a computer what it should do with the data it was just sent.
HTML: the code, functions, and commands given to your web browser by a web server that the browser uses to render a webpage.
HTTPS: A safety protocol to ensure the website you are visiting is what it says it is.
COOKIES: A small piece of data saved by your web browser that identifies who you are to a website you may visit frequently
Digital divide- the economic, educational, and social inequalities between those who have computers and online access and those who do not
Net neutrality: the principle that ISPs must treat all Internet communications equally and can’t slow down, block, or charge extra based on content or bandwidth consumption
Creative commons
Copyright issues
To be a computer, a machine must…
A. accept input,
B. have memory/storage,
C. process the input, and
D. provide output.
Debugging: the process of finding and fixing errors (i..e. bugs) in your code
Syntax error- error due to incorrect programming language
Logic error- program runs without crashing but does not do what it is intended to do
Sequential Programming: program statements run in order, from top to bottom, not driven by actions
Event Driven Programming: some program statements run when triggered by an event, like a mouse click or a key press
Value: a number or string
Expression: a combination of operators and values that evaluates to a single value.
Variable: a “container” that can hold one value at a time. Old values are discarded when a new value is stored. You can use expressions and other variable when assigning values.
Assignment Operator: allows a program to assign or change the value held by a variable.
A Boolean Value is a data type that is either true or false.
< less than > greater than == equal to | <= less than or equal to >= greater than or equal to != not equal to |
Logical Operators:
&& AND
|| OR
! NOT
Comparison Operators ( < , > , <= , >= , == , != ) compare Boolean values and create a Boolean expression.
Global variable: defined outside of any onEvent or function and can be used anywhere within the program.
Local variable: defined inside an onEvent or function and can ONLY be used within that onEvent or function.
Local variables are deleted as soon as the onEvent or function is done running. This means they cannot be used outside of whatever object in which they were created.
Unit 6
A list is an ordered collection of elements
An element is an individual value in a list that
is assigned a unique index
An index is a common method for referencing the elements in a list or string using numbers. In JavaScript, the index count starts at 0.
The length of a list is how many elements it contains. Lists can grow or shrink as elements are added or removed with appendItem(), insertItem(), or removeItem().
appendItem(myList, value) -
Adds the element value to the end of myList.
insertItem(myList, index, value) -
Places the element value in myList at index. All other elements are ‘shifted’ one to the right.
removeItem(myList, index) -
Removes the element at index. All other values are ‘shifted’ one to the left.
myList.length -
Returns the length of the list / tells you how many elements are in the list.
iteration: a repetitive portion of an algorithm which repeats a specified number of times or until a given condition is met.
Simulations are one of the most common things we ask a computer to do and are often used when doing the real thing is…
too time consuming (plot 100,000 points)
too dangerous (learning to fly an airplane)
impossible (how would this behave if gravity was twice as strong?)
Functions are useful when you want to repeat a chunk of code at several different places in your code
Loops are useful when you want to repeat a chunk of code several times in a single spot.
Unit 7
Parameter - a variable in a function definition. Used as a placeholder for values that will be passed through the function. Allows the main program to supply a function with info it needs to work. Allows a function to operate a little differently depending on the value of the parameter passed in.
Argument - the value of the parameter passed into the function
Return - used to return the flow of control to the point where the function was called and to return the value of the expression. Allows the function to pass information back to the main program for it to use. Functions can only return one value at a time.
Library: a group of functions (procedures) that may be used in creating new programs
API (Application Program Interface): specifications for how functions in a library behave and can be used
Procedural Abstraction: providing a name for a function (procedure) to allow it to be used only knowing what it does, and not necessarily how it does it.
Modularity: the subdivision of a computer program into separate subprograms
Problem: a general description of a task that can (possibly) be solved with an algorithm
Algorithm: a finite set of instructions that accomplish a task.
Efficiency: how ‘quickly’ an algorithm solves a problem. (‘Quickly’ usually refers to the number of steps that have to be taken.)
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.
Polynomial, Linear, and log growth problems can be solved exactly in a reasonable amount of time no matter what the input is.
Exponential growth problems would take an unreasonable amount of time to run when given a large volume of input data.
Parallel processing involves adding more processors within a single computer and dividing a task among those processors.
Distributed processing involves adding more computers to a network and dividing a task among those computers.
Sequential Computing: a single processor runs a program in order, one command at a time.
Speedup: the time used to complete a task sequentially divided by the time to complete a task in parallel (ie slow time divide by fast time)