Computing Innovation: an innovation that uses a program as a key part of their function. Computing Innovation Examples: β Physical: Robots, Tablets, smart tech β Non-physical: Social Media, Video Games Collaboration β allows for diverse ideas and thoughts that cater to different people β Pair Programming: when two people share one computer and take turns coding Program Function and Purpose β Purpose: What a program is designed to do (ex: solving problems, creative expression) β Code Segments: a smaller collection of statements that are part of a program β Code Statements: individual instructions. β Program Inputs: pieces of data (visual, auditory, touch, etc) that a computer takes in and processes β Program Outputs: the data (same types as inputs) that the computer returns β Program Events: an action that gives a program data to respond to. β Program Behavior: how a program will respond to a user interacting with it. Development Processes: β iterative development process: develop working prototypes of a program and go back through the cycle to redevelop the program β incremental development process: break a problem into small parts and then reassemble the solution when each party is fixed β Program Documentation: a description of how something in your program works β Comments: program doc. written directly into the program itself Common Errors: β Logic Errors: unexpected behavior in programβs output β Syntax Errors: the code does not work properly because it is typed or written incorrectly β Run-Time Errors: error occurs while code runs β Overflow Errors: the numbers are too big for the computer Methods of Fixing: β Hand tracing: manually tracking your variables' values as your program goes along β Print statements: printing out values to make sure theyβre correct Data is a collection of facts. β Computing devices store data in bits (binary digits) β Computers read machine code which is usually in the binary system. β Abstraction: reduces complexity by only focusing on the most important parts & hiding the irrelevant parts from the user β important for AP CSP!! Binary Numbers β 8 bits = 1 byte β Hexadecimal is used for RGB color codes & it uses Base 16 Conversion Charts: Binary and Hexadecimal Data Representation β ASCII code converts text to binary format β Analog data is measured continuously & changes smoothly β Digital data is measured digitally and leaves out extra data by simplifying the data collected (form of abstraction) Data Compression β Data compression is dependent on 1 the method used and 2 the amount of repeated info in the data β Lossless compression: less compression & better file quality β Lossy compression: more compression & worse file quality Extracting Information from Data β Metadata: data about data β Data mining: examining very large data sets to find information β Transforming data: editing or modifying data (ex: doubling every number/graphing data points) β Cleaning data: making data uniform w/o changing meaning (ex: correcting misspelled words) β Pseudocode will be used a lot on the MCQ section of the AP Exam, make sure to review the AP CSP exam sheet and fully understand all of the pseudocode. β Important: AP Pseudocode has an index that starts at 1! Data Types β Ex: Numbers, strings, lists and booleans β Strings are an ordered list of characters (βhello worldβ) β Substrings are part of a string (βelloβ) β String concatenation occurs when two strings or more are connected w/ a β+β β List (array) an ordered sequence of elements β An element is an individual value in a list β All elements have an index: number that represents their position in the list (ex: in the list 5,6,7, 5 is at index number 1 because itβs in the first position) β Booleans: either True or False; go with the logical operators: NOT, AND and OR β Loops traverse through lists/arrays/strings Mathematical Operators: β Look at the exam reference sheet for the meaning of operators such as / and % β MOD % gives you the remainder of 2 #βs Algorithms β An algorithm has instructions that accomplish a task or solve a problem; created using sequencing, selection, and iteration Sequencing, Selection and Iteration β Sequencing means that all of the code is executed in the order they are written in. β Selection: if statements: have conditions that need to be met for the selection to run β Else statements are attached to if statements which specify what happens if a condition is not met β Nested conditional statements have conditional statements inside of conditional statements β Iteration: βrepeat n timesβ/βrepeat untilβ; you can use NOT, AND and OR to write loops β Binary Search: type of algorithm used to search; works by splitting the data set and eliminates Β½ the data with each round of splitting Procedures/Functions β Procedures are programming instructions that are also called methods or functions β Parameters: input variables of a procedure β Arguments: a procedure call with defined values β You can call a procedure without knowing how it works: this is an example of abstraction AP Computer Science Principles β 2024 Cheatsheet | @thinkfiveable | See complete guides π»Unit 4 Computer Systems & Networks Unit 5 Impact of Computing π―Exam Tips The Internet β Internet = interconnection and networks β computer network: when multiple computing devices (ex: computer, tablet) communicate with each other β Data on the internet is split into data packets with metadata (data about the data packets) attached to each packet to tell the routers information β routing: the process of finding the best path to deliver information. β path: sequences of connected computing devices (routers) that begin at the sender and end at the receiver. β bandwidth: the rate of data transfer from one device to another; megabits per second β protocol: set of rules; the internet uses the TCP/IP and UDP protocols to communicate β World Wide Web: a system of web-pages, programs, and files; runs on the Internet but is not the internet β scalability: the capacity to change in size and scale to meet new demands. Fault Tolerance β fault tolerant: something can still function even w/ a partial malfunction β redundancy: duplication of things; helps make the internet fault tolerant Parallel and Distributed Computing β sequential computing: traditional programming where each program is processed at a time β Parallel computing: when program is broken into smaller operations and processed at the same time using multiple processors β Distributed computing: multiple devices communicate together to run a program β sequential solution: takes as long as the # of all steps in a program; With 3 steps of a, b, and c length, the sequential solution equals a + b + c β parallel computing solution: faster w less # of cores; if all steps are independent, find the solution that results in the minimum possible time β speedup of a parallel solution: sequential solution time/parallel solution time Key Concepts β digital divide: gaps between those who have access to the internet and those who do not β The things that affect this are demographics, socioeconomic status, and geographic location β computing bias: computing innovations can reflect existing racial/gender/etc biases. Ex: recruiting algorithms that prefer one race or gender over another β This is often because computers run on historical data, which reflects historical biases β Intellectual property: the work that people consider βtheirsβ β copyright: the person who created something determines who uses their creation β Creative Commons: copyright license for creators to give others the ability to use their work β Open-sourcing: work is freely shared, distributed, and modified β Open access: research available to public w/ out restrictions β Crowdsourcing: getting a large amount of input or information from people on the Internet. β Citizen Science: scientific research that the general population helps to conduct. Digital Security β personally identifiable information PII information that can be used to identify you β virus vs worm: Viruses are attached to infected files and must be activated by the user; worms can operate independently. β malware: malicious software that takes control of a system β phishing: tricks people into giving their personal information away by pretending to be a trustworthy group β multi-factor authentication: requiring multiple methods of verification. Encryption β encryption: encoding data to prevent others from accessing it β key: a secret piece of information used to encrypt data β symmetric key encryption: one key for both encrypting & decrypting β public key encryption: public key to encrypt & private key to decrypt