AP Computer Science Principles Definitions
Programming: is a collaborative and creative process that brings ideas to life through the development of software.
Software development processes: used in the industry often require students to work together in teams.
computing innovation: uses a computer program to take in data, transform data and output data.
Collaboration: can occur in the planning, designing, or testing (debugging) part of the development process.
Collaborative learning: can occur peer-to-peer or in larger groups.
Syntax Error: A mistake in which the rules of the programming language are not followed.
Runtime Error: A mistake that occurs during the execution of a program that ceases the execution.
Logic Error: A mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly.
Overflow Error: A mistake that occurs when a computer attempts to handle a number that is outside of the defined range of values.
Debugging: is the process of finding and fixing errors.
bit: is the smallest unit of information stored or manipulated on a computer; it consists of either zero or one.
Digital images: are a collection of pixels. where each pixel consists of binary numbers.
Color: is based on light.
Images: are not often just black and white.
analog signal: exists throughout a continuous interval of time and takes on a continuous range of values.
digital signal: is a sequence of discrete symbols.
Sampling: is recording an analog signal at regular discrete moments and converting them to a digital signal.
Data compression: is useful in computing to save disk space, or to reduce the bandwidth used when sending data (eg, over the Internet).
Compression: is also an important consideration when it comes to backing up and archiving your important files, particularly for uploading over the Internet.
Lossless algorithms: are those that can reconstruct the original message exactly from the compressed message, and lossy algorithms can only reconstruct an approximation of the original message.
Lossless compression: packs data in such a way that the compressed package can be decompressed, and the data can be pulled out exactly the same as it went in.
Text compression: is another important area for lossless compression.
Lossy compression: is a technique that does not decompress digital data back to 100% of the original.
Images: high image compression loss can be observed in photos when enlarged
Music: there is a difference between an MP3 music and a high-resolution audio file
Video: moving frames of video can handle a greater loss of pixels compared to an image
Data extraction: is the process of obtaining data from a database or software such as a social media website so that it can transport it to another software (such as spreadsheets) designed to support online analytical processing.
graph: is a pictorial representation, a diagram used to represent data.
Graphs and charts: represent data in points, lines, bars, pie charts, and scatter plots.
Picture graphs: use pictures to represent values.
Bar graphs: use either vertical or horizontal bars to represent the values.
Line graphs: use lines to represent the values.
Scatter plots: represent the data with points, and then a best-fit line is drawn through some of the points.
Algorithm: is a set of steps to do a task.
Computer science algorithms: are the set of steps to solve a problem or complete a task.
Algorithms: are implemented with software.
Section of code: may work independently or can be used with other programming modules.
Variables: are placeholders for values a program needs to use.
Strings: are text fields that are just a series of characters and are denoted with quotation marks around the string field.
Expressions: are calculations to be evaluated to an answer or single value.
Boolean values: are one of the foundations of computer code.
Iterative statements: are also referred to as repetitive statements or loops.
Combining Algorithms: One of the key features of algorithms is that once they are created, you can use them over and over, combine them for more complex problem solving, or modify them for a new use.
Lists: are a collection of items, such as a grocery list or a playlist of music.
Index positions: are always integers and are enclosed within square brackets [index].
Length: The length of a list is the number of elements in the list.
Searching: deals with finding the needed element from everything in the dataset or determining that it is not there.
Linear Search: also called sequential searches, check each individual record, starting at the beginning and going to the end, one after the other in order to either find the desired data or to determine it is not in the dataset.
Binary Search: are far more efficient than linear searches.
Procedures: are also called functions in some programming languages.
Parameters: allow the calling program to send values to the procedure.
Procedural abstraction: You only need to know the name of the procedure, the number and type of parameters, and the output to expect.
Random number generator programs: are useful tools for writing software, mainly in designing games.
Procedures: have an optional feature called a return statement.
Built-in Procedures: Built-in procedures are prewritten and tested code that are included with the programming language.
DISPLAY(): is a built-in procedure used for this course on the exam.
INPUT(): It accepts data from the user, usually from the keyboard.
Simulations: Simulations are designed to represent and mirror the real world for testing.
Efficiency: can be determined by mathematically proving it and informally measured by actually running it on datasets of different sizes and measuring how long it took and the memory resources needed.
Heuristic approach: This is an approach that may not be optimal or the best but is close enough to use as a solution.
Internet: is a network of networks.
Routers: are computing devices along a path that send the information along to the next stop on the path.
Routing: is the process of finding a path from sender to receiver
Bandwidth: is a measure of the maximum amount of data that can be transferred through a channel or network connection.
Internet protocol (IP): is responsible for addressing and routing your online requests.
Transmission control protocol (TCP): is a protocol that defines how computers send packets of data to each other.
User datagram protocol (UDP): is a protocol that allows computer applications to send messages without checking for missing packets to save on time needed to retransmit missing packets.
Scalability: is the ability for a system, network or process to handle a growing amount of work in an efficient manner.
Hardware failure: is when a hardware device, such as a computer or printer, stops working properly due to an issue with the physical components.
Operational failures: are any issues or breakdowns in the operation of a business, machine, system, process, etc.
Cyberattacks: are malicious attempts to damage or disrupt computer systems, networks, and data.
Natural disasters: could cause the hardware to be destroyed, bringing the network activity to a halt.
Solar Flare: is an intense radiation that is released from the sun.
Parallel computing: can consist of a parallel portion and a sequential portion.
Multiple processors: can operate independently but share the same memory resources.
Distributed computing: allows problems to be solved that could not be solved on a single computer because of either the processing time or storage needs involved.
World Wide Web: which was originally designed for scientists to share their research.
Targeted advertising: which can be helpful for businesses and consumers when looking for a specific item.
Social media: which has been used to stream events across the globe, sometimes helps to change history.
Machine learning and data mining: help find patterns and identify insights in data, leading to new innovations.
Online learning: is an education model that would not be possible without the tools of communication available via the Internet.
Programmers and businesses: try to identify potential negative uses, but it is seldom possible to think of all the ways other people could use an innovation.
Cloud computing: offers new ways for people to communicate, making collaboration easier and more efficient.
Technology: has had a major impact on the world, enabling innovation through the sharing of resources and computational artifacts.
Bias: which is intentional or unintentional prejudice for or against certain groups of people, shows up in computing innovations too.
Humans: write the algorithms, and our biases can make their way into the algorithms and the data used by innovations without us realizing it.
Artificial intelligence programs: are used more and more in ways such as screening applications of job candidates, determining if a person merits credit to purchase a house, and locating what areas have more crime.
Crowdsourcing: allows people to share information and ask the “crowd”— anyone who accesses the site—for feedback, to help solve problems, find employment, or for funding.
Peer-to-peer networks: exist that are used to illegally share files of all types.
Creative Commons: provides a way for creators of software, images, music, videos, and any computational artifact to share their creations with stipulations for sharing and permission from the author clearly indicated.
Digital data: is easy to find, copy, and paste, so ensuring you have written permission from the creator or owner is important.
Open source software: is software that is freely shared, updated, and supported by anyone who wants to do so.
Social media sites: as well as search engines publish what the most frequent searches and posts are about.
Analytics: identify trends for marketing purposes and help businesses determine what and where customers are searching for their products and their competitors’ products, how long an item sits in a virtual shopping cart, and when people buy.
Data mining: is a field of study that analyzes large datasets.
Machine learning: is a subset of data mining.
Digital footprints and fingerprints: are the trail of little pieces of data we leave behind as a sign of our presence as we go through our daily lives.
Cybersecurity: has a global impact because now anyone from anywhere can attempt to gain unauthorized entry to someone else’s computer, data, servers, or network.
Strong passwords: help block those trying to gain unauthorized access.
Multifactor authentication: is another layer that is increasingly used.
Cybersecurity: protects our electronic devices and networks from attacks and unauthorized use.
Data: may be damaged or the device may be used to further spread the malware.
Phishing: attacks create e-mail and/or websites that look legitimate hoping to induce a person to click on the malicious link.
Computer viruses: are like human viruses.
Keylogging software: is a form of malware that captures every keystroke and transmits it to whomever planted it.
Cryptography: is the writing of secret codes.
Encryption: is converting a message to a coded format.
Deciphering: the encrypted message is called decryption.
Security: also relates to encrypting data before it is transmitted to ensure it remains secure if it is intercepted during transmission.
Public key encryption: uses open standards, meaning the algorithms used are published and available to everyone and are discussed by experts and interested parties and known by all.
Programming: is a collaborative and creative process that brings ideas to life through the development of software.
Software development processes: used in the industry often require students to work together in teams.
computing innovation: uses a computer program to take in data, transform data and output data.
Collaboration: can occur in the planning, designing, or testing (debugging) part of the development process.
Collaborative learning: can occur peer-to-peer or in larger groups.
Syntax Error: A mistake in which the rules of the programming language are not followed.
Runtime Error: A mistake that occurs during the execution of a program that ceases the execution.
Logic Error: A mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly.
Overflow Error: A mistake that occurs when a computer attempts to handle a number that is outside of the defined range of values.
Debugging: is the process of finding and fixing errors.
bit: is the smallest unit of information stored or manipulated on a computer; it consists of either zero or one.
Digital images: are a collection of pixels. where each pixel consists of binary numbers.
Color: is based on light.
Images: are not often just black and white.
analog signal: exists throughout a continuous interval of time and takes on a continuous range of values.
digital signal: is a sequence of discrete symbols.
Sampling: is recording an analog signal at regular discrete moments and converting them to a digital signal.
Data compression: is useful in computing to save disk space, or to reduce the bandwidth used when sending data (eg, over the Internet).
Compression: is also an important consideration when it comes to backing up and archiving your important files, particularly for uploading over the Internet.
Lossless algorithms: are those that can reconstruct the original message exactly from the compressed message, and lossy algorithms can only reconstruct an approximation of the original message.
Lossless compression: packs data in such a way that the compressed package can be decompressed, and the data can be pulled out exactly the same as it went in.
Text compression: is another important area for lossless compression.
Lossy compression: is a technique that does not decompress digital data back to 100% of the original.
Images: high image compression loss can be observed in photos when enlarged
Music: there is a difference between an MP3 music and a high-resolution audio file
Video: moving frames of video can handle a greater loss of pixels compared to an image
Data extraction: is the process of obtaining data from a database or software such as a social media website so that it can transport it to another software (such as spreadsheets) designed to support online analytical processing.
graph: is a pictorial representation, a diagram used to represent data.
Graphs and charts: represent data in points, lines, bars, pie charts, and scatter plots.
Picture graphs: use pictures to represent values.
Bar graphs: use either vertical or horizontal bars to represent the values.
Line graphs: use lines to represent the values.
Scatter plots: represent the data with points, and then a best-fit line is drawn through some of the points.
Algorithm: is a set of steps to do a task.
Computer science algorithms: are the set of steps to solve a problem or complete a task.
Algorithms: are implemented with software.
Section of code: may work independently or can be used with other programming modules.
Variables: are placeholders for values a program needs to use.
Strings: are text fields that are just a series of characters and are denoted with quotation marks around the string field.
Expressions: are calculations to be evaluated to an answer or single value.
Boolean values: are one of the foundations of computer code.
Iterative statements: are also referred to as repetitive statements or loops.
Combining Algorithms: One of the key features of algorithms is that once they are created, you can use them over and over, combine them for more complex problem solving, or modify them for a new use.
Lists: are a collection of items, such as a grocery list or a playlist of music.
Index positions: are always integers and are enclosed within square brackets [index].
Length: The length of a list is the number of elements in the list.
Searching: deals with finding the needed element from everything in the dataset or determining that it is not there.
Linear Search: also called sequential searches, check each individual record, starting at the beginning and going to the end, one after the other in order to either find the desired data or to determine it is not in the dataset.
Binary Search: are far more efficient than linear searches.
Procedures: are also called functions in some programming languages.
Parameters: allow the calling program to send values to the procedure.
Procedural abstraction: You only need to know the name of the procedure, the number and type of parameters, and the output to expect.
Random number generator programs: are useful tools for writing software, mainly in designing games.
Procedures: have an optional feature called a return statement.
Built-in Procedures: Built-in procedures are prewritten and tested code that are included with the programming language.
DISPLAY(): is a built-in procedure used for this course on the exam.
INPUT(): It accepts data from the user, usually from the keyboard.
Simulations: Simulations are designed to represent and mirror the real world for testing.
Efficiency: can be determined by mathematically proving it and informally measured by actually running it on datasets of different sizes and measuring how long it took and the memory resources needed.
Heuristic approach: This is an approach that may not be optimal or the best but is close enough to use as a solution.
Internet: is a network of networks.
Routers: are computing devices along a path that send the information along to the next stop on the path.
Routing: is the process of finding a path from sender to receiver
Bandwidth: is a measure of the maximum amount of data that can be transferred through a channel or network connection.
Internet protocol (IP): is responsible for addressing and routing your online requests.
Transmission control protocol (TCP): is a protocol that defines how computers send packets of data to each other.
User datagram protocol (UDP): is a protocol that allows computer applications to send messages without checking for missing packets to save on time needed to retransmit missing packets.
Scalability: is the ability for a system, network or process to handle a growing amount of work in an efficient manner.
Hardware failure: is when a hardware device, such as a computer or printer, stops working properly due to an issue with the physical components.
Operational failures: are any issues or breakdowns in the operation of a business, machine, system, process, etc.
Cyberattacks: are malicious attempts to damage or disrupt computer systems, networks, and data.
Natural disasters: could cause the hardware to be destroyed, bringing the network activity to a halt.
Solar Flare: is an intense radiation that is released from the sun.
Parallel computing: can consist of a parallel portion and a sequential portion.
Multiple processors: can operate independently but share the same memory resources.
Distributed computing: allows problems to be solved that could not be solved on a single computer because of either the processing time or storage needs involved.
World Wide Web: which was originally designed for scientists to share their research.
Targeted advertising: which can be helpful for businesses and consumers when looking for a specific item.
Social media: which has been used to stream events across the globe, sometimes helps to change history.
Machine learning and data mining: help find patterns and identify insights in data, leading to new innovations.
Online learning: is an education model that would not be possible without the tools of communication available via the Internet.
Programmers and businesses: try to identify potential negative uses, but it is seldom possible to think of all the ways other people could use an innovation.
Cloud computing: offers new ways for people to communicate, making collaboration easier and more efficient.
Technology: has had a major impact on the world, enabling innovation through the sharing of resources and computational artifacts.
Bias: which is intentional or unintentional prejudice for or against certain groups of people, shows up in computing innovations too.
Humans: write the algorithms, and our biases can make their way into the algorithms and the data used by innovations without us realizing it.
Artificial intelligence programs: are used more and more in ways such as screening applications of job candidates, determining if a person merits credit to purchase a house, and locating what areas have more crime.
Crowdsourcing: allows people to share information and ask the “crowd”— anyone who accesses the site—for feedback, to help solve problems, find employment, or for funding.
Peer-to-peer networks: exist that are used to illegally share files of all types.
Creative Commons: provides a way for creators of software, images, music, videos, and any computational artifact to share their creations with stipulations for sharing and permission from the author clearly indicated.
Digital data: is easy to find, copy, and paste, so ensuring you have written permission from the creator or owner is important.
Open source software: is software that is freely shared, updated, and supported by anyone who wants to do so.
Social media sites: as well as search engines publish what the most frequent searches and posts are about.
Analytics: identify trends for marketing purposes and help businesses determine what and where customers are searching for their products and their competitors’ products, how long an item sits in a virtual shopping cart, and when people buy.
Data mining: is a field of study that analyzes large datasets.
Machine learning: is a subset of data mining.
Digital footprints and fingerprints: are the trail of little pieces of data we leave behind as a sign of our presence as we go through our daily lives.
Cybersecurity: has a global impact because now anyone from anywhere can attempt to gain unauthorized entry to someone else’s computer, data, servers, or network.
Strong passwords: help block those trying to gain unauthorized access.
Multifactor authentication: is another layer that is increasingly used.
Cybersecurity: protects our electronic devices and networks from attacks and unauthorized use.
Data: may be damaged or the device may be used to further spread the malware.
Phishing: attacks create e-mail and/or websites that look legitimate hoping to induce a person to click on the malicious link.
Computer viruses: are like human viruses.
Keylogging software: is a form of malware that captures every keystroke and transmits it to whomever planted it.
Cryptography: is the writing of secret codes.
Encryption: is converting a message to a coded format.
Deciphering: the encrypted message is called decryption.
Security: also relates to encrypting data before it is transmitted to ensure it remains secure if it is intercepted during transmission.
Public key encryption: uses open standards, meaning the algorithms used are published and available to everyone and are discussed by experts and interested parties and known by all.