Complete AP CSP Guide

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

The following are effective ways to find and correct errors

- Test cases Testing different inputs, and testing at different points in your program's runtime. Good testing procedures include testing with valid and invalid data. You want to make sure your program works with valid data and knows what to do if invalid data is imputed. You should also test boundary cases, or values on the edge of program limits. This is where errors are likely to happen. For example, if your program only accepts values less than 9, you would check 8 and 10 as boundary cases. - Hand tracing manually tracking what values your variables have as your program goes along. Many hand tracing methods use charts to organize these values - Visualizations - Debuggers (programs designed specially to test for bugs) - Adding extra output statement(s)

A computer network is a type of computing system. A computer network is a group of computing devices that can share data with each other. A computer network can be a simple connection between two devices, such as the connection between your printer and your computer. It can also be a more complex connection, one that links all the computing devices in your workspace or city.

A computer network is a group of interconnected computing devices capable of sending or receiving data. The internet takes all of these computer networks and connects them to one another, creating the digital world we know today—one where any computer in the world can connect to any other it chooses. In this sense, it is the very largest of computer networks, covering billions of users and multiple continents.

When computing devices connect to each other, they form computing systems.

A computing system is a group of computing devices and programs working together for a common purpose

Domain Name System (DNS)

A data base that assigns names to each site on the Internet (or the IPs on the internet)

Some problems cannot be solved in a reasonable amount of time because there is no efficient algorithm for solving them. In these cases, approximate solutions are sought.

A heuristic is an approach to a problem that produces a solution that is not guaranteed to be optimal but may be used when techniques that are guaranteed to always find an optimal solution are impractical. ex. Traveling Salesman Problem using the closest neighbor instead of brute force

Digitally processed data may show correlation between variables. A correlation found in data does not necessarily indicate that a causal relationship exists.

Additional research is needed to understand the exact nature of the relationship. For example, an example of a misleading trend / pattern is the connection between sunglasses sold and ice cream sold. In the image, there is actually a third set of data needed to understand this relationship: the weather on each particular day. Obviously, sales on in ice cream aren't directly causing sales in sunglasses. But maybe it's really hot on those days, causing sales in both products.

Internet Engineering Task Force (IETF)

An organization that develops and promotes Internet standards and protocols.

A syntax error is a mistake in the program where the rules of the programming language are not followed.

Any typos in your code, such as forgetting to close a parentheses or spelling a variable wrong, will cause an error. This is usually the easiest error to correct. Most programs will direct you to line where the mistake was made. Line 1: PROCEDURE mystery(a, b) Line 2: { Line 3: DISPAY (a+ b) Line 4: }" A syntax error would result from this on line 3 because the abstraction DISPAY does not exist. There would be no error if it was spelled correctly and said DISPLAY. common syntax errors are forgetting to include... colon / semicolon parenthesis curly braces indenation quotes variable definition

Local Area Network (LAN)

Connects a group of computers in close proximity, such as in an one floor of a school often by physical connection

Some examples of legal ways to use materials created by someone else include:

Creative Commons—a public copyright license that enables the free distribution of an otherwise copyrighted work. This is used when the content creator wants to give others the right to share, use, and build upon the work they have created. open source—programs that are made freely available and may be redistributed and modified. Open source is usually mentioned in the context of software. open access—online research output free of any and all restrictions on access and free of many restrictions on use, such as copyright or license restrictions. Unlike open source, open access is not usually mentioned in the context of software, but rather research available to the general public. For example, some academic journals are open access or have open access sections.

Problems of bias are often created by the type or source of data being collected.

Data sets may be biased for a variety of reasons. Taking the favorite class questionnaire as an example, there are many ways in which bias could sneak in: People have to take the initiative to fill out this form, which means they're more likely to have strong opinions about the topic when compared to the rest of the population. People who don't really have a favorite class or don't care about school in general won't be all that represented in the study, skewing results for your school overall. This survey just looks at one school, which could also bias results. Your AP Comp Sci teacher might just be a really good teacher, for example, so people might like the class for the teacher rather than the subject. The context of your survey might also impact results. The results you get if you post this survey in your AP Comp Sci class could be completely different from the results you'd get if you posted it in a Basketball group chat. Data can also be biased on societal lines such as race and gender. Problems of bias are often created by the type or source of data being collected. Bias is not eliminated by simply collecting more data. You need to identify potential biases in your data and take steps to correct them, such as surveying people from different schools or classes.

TCP model

Establishes a common standard for how to send messages between devices on the internet

Another way that number storage makes use of abstraction is through rounding. Because you have a limited amount of bits to store numbers, the computer will sometimes round or cut off your number. This can be most prominently seen when you're working with very small numbers or repeating decimals. In programming languages, the fixed number of bits used to represent real numbers limits the range and mathematical operations on these values; this limitation can result in round-off and other errors. Some real numbers are represented as approximations in computer storage.

Here's a basic dividing program I wrote on my computer in Python. As you can see, the answer to 100/3 has a finite end in the program, even though it's meant to be a repeating decimal. This is an example of abstraction because the number represented by the computer is a simplified version of the full value. Although it usually doesn't matter for most calculations, including the ones you'll do in school, rounding or round-off errors can sometimes cause issues if you need more precision. 1/3 does not always equal 1/3. A roundoff error occurs when decimals (real numbers) are rounded. One computer might calculate 1/3 as 0.3333. Another computer might calculate 1/3 as 0.3333333333. In this case, 1/3 on one computer is not equal to 1/3 on a second computer.

Depending on how data were collected, they may not be uniform.

If users enter data into an open field, the way they choose to abbreviate, spell, or capitalize something may vary from user to user.

broadcast

In computer networking, telecommunication and information theory, broadcasting is a method of transferring a message to all recipients simultaneously. ... All-to-all communication is a computer communication method in which each sender transmits messages to all receivers within a group. UDP used

An Application Program Interface, or API, contains specifications for how the procedures in a library behave and can be used. It allows the imported procedures from the library to interact with the rest of your code. Application Programming Interface --> a library of procedures and a description of how to call each procedure.

In order to make the most of both APIs and Libraries, both need to be well documented. Libraries are, at their heart, a collection of other people's code, and it would be difficult to understand how the procedures should be used without documentation. APIs explain how two separate pieces of software interact with each other, and they also need documentation to keep this communication going The AP pseudocode reference sheet is a library The documentation for libraries is what API is.

Higher-level programming languages, such as Python, work around this problem and remove the range limitation.

In such languages, the largest number you can represent depends solely on how big your computer's memory is! (The AP CSP test also uses this standard.)

Efficiency is an estimation of the amount of computational resources used by an algorithm. Efficiency is typically expressed as a function of the size of the input.

Informally, efficiency is measured by determining how many times a statement or statement group executes. Algorithms that run with a polynomial efficiency (constant, linear, square, cube, etc.) or lower are said to run in a reasonable amount of time while algorithms that run with an exponential or factorial efficiency run in an unreasonable amount of time Different correct algorithms for the same problem can have different efficiencies, just like how different ways to solve a problem can take longer or shorter or be more or less effective.

Often, a single source does not contain the data needed to draw a conclusion.

It may be necessary to combine data from a variety of sources to formulate a conclusion.

Autonomous System (AS)

Large system of connected intranets controlled by major organizations (verizon, internet providers) the internet is millions of autonomous systems

Multicast

Messages are sent to a specific group of hosts on the network UDP used

The World Wide Web is a system of linked pages, programs, and files.

One of the main ways we use the internet is through the World Wide Web, a collection of web-pages, programs, and files. It's important to note that the World Wide Web is not the same thing as the internet, which is a network of computing devices. Instead, it merely runs on the internet. The World Wide Web is governed by the HTTP protocol, which controls how web-page data is shared.

OSI model

Open Systems Interconnect The layers you have to go through to communicate 7 groups of protocols.

In the development process, testing uses defined inputs to ensure that an algorithm or program is producing the expected outcomes.

Programmers use the results from testing to revise their algorithms or programs.

A development process that is iterative requires refinement and revision based on feedback, testing, or reflection throughout the process. This may require revisiting earlier phases of the process. A development process that is incremental is one that breaks the problem into smaller pieces and makes sure each piece works before adding it to the whole.

Programs can be developed using both of these models (incremental and iterative), or any combination of the two You can take a code segment of a larger program and revise it until you finish developing it completely, then move on to another part of the program. You're using an iterative process by revising that code segment to completion, but an incremental one for the program at large.

With the current demand for data processing, it's no wonder that so many computer programs exist for that very purpose. In fact, there's even a name for it: the process of examining very large data sets to find useful information, such as patterns or relationships, is known as data mining.

Some programs also have data filtering capabilities, which means that they can create and extract different subsets of data for users to work with. These subsets can be based on time (like only looking at results from the winter) or value (like only looking at values below 30 or only positive values).

IP, TCP, and UDP are common protocols used on the Internet.

TCP/IP is the older of the protocols, designed in the 1970s. It stands for Transmission Control Protocol/Internet Protocol. The TCP governs how packets are created and reassembled, while the IP moves packets to their destinations. It also dictates how devices are given addresses to communicate with each other (which is where the name IP address comes from.) The UDP is newer by about ten years and functions as an alternative to TCP/IP. It offers a way to deliver a faster stream of information by eliminating a lot of the error checking that TCP/IP does. Therefore, it's often used for connections that need to happen rapidly, such as those used by online games and live videos

The design phase of the development phase details how to accomplish the goals of the program.

The design phase of the development phase details how to accomplish the goals of the program. Or in other words, how to accomplish a given program specification. Brainstorming planning and story-boarding organizing the program into modules and functional components creating diagrams that represent the layouts of the user interface developing a testing strategy for the program

traversal

The iteration over the items in a list. A full traversal iterates over every item, while a partial traversal iterates over a subset of the items.

Computer Protocol Model

There are many different protocols and hardware used at the Network Access Layer , where the process begins. (ie. ethernet, wifi, cable, fiber optics) (this converts to OSI layer 1-2) In the middle, there is the internet layer, this is the narrow layer. Here, internet protocol (IP) addresses are used. The IP addressing links the network access layer and the application and transport layers. There are many different protocols, standards, data formats, etc used at the application and transport layers (this converts to OSI layers 3-7) The flow of this model is basically hardware to IP to applications on your computer.

Investigation in a development process is useful for understanding and identifying the program constraints, as well as the concerns and interests of the people who will use the program.

This is the game-plan stage of the development process. The goal of this investigation is to make the goal of the programmers as clear as possible. In this stage, programmers establish what their purpose is and the problem they're trying to solve. They figure out what their program will need to do, and also what their program will need in order to function properly.

When increasing the use of parallel computing in a solution, the efficiency of the solution is still limited by the sequential portion.

This means that at some point, adding parallel portions will no longer meaningfully increase efficiency.Take the example from before. If we had 4 processors it would take 80 seconds. Which isn't any better than having 3 processors.

An overflow error is an error that occurs when a computer attempts to handle a number that is outside of the defined range of values.

Usually, this means that your computer's trying to handle a number too big for it. (not enough bits to display or store)

Through investigation, programmers are able to discover their program's requirements. Program requirements describe how a program works and may include a description of user interaction.

What should a user be able to do?What does a user need to provide for the program to work?Program requirements also include what's needed on the programmer's side (ex: the program must be compatible with multiple browsers) as well as what tests need to be run to confirm that all these requirements are in place.

How do computing devices communicate over the internet?

When you send or receive data from the internet, you have to get this data from one place to another. Oftentimes, a photo, video or website is made up of too much data for it all to be sent in one transaction. This abundance of data is referred to as a data stream, and it is how information is passed through on the internet. To decrease the size, data streams are broken down and encapsulated in packets. Packets contain a section of the data you want to send out. They also come with a header that contains metadata used to tell the routers where this packet is from, where it's going, and how it should be reassembled once it gets to its final destination. Information goes through the internet in data streams, each made up of a countless number of packets. Computing devices create these packets, then send them out through paths. Paths are sequences of connected computing devices that begin at the sender and end at the receiver. These computing devices are primarily known as routers. There are many different paths that a packet could take to get from one device to another. The process of finding the best path to take is known as routing. Routing paths aren't usually planned out in advance. The routers moving data along make their path decisions as packets are sent to them. Due to this method of breaking up and sending information, packets can arrive at their destination in order or out of order (or even not at all if something goes wrong.) If you've ever clicked on a website where the text loads before the photos do as you scroll down it, you've seen how the data doesn't always come together in exactly the right order. If everything's working correctly, the packets of data will be reassembled in the correct order once they get to their final destination, and you'll be good to go! Packets are the reason some parts of a website load before other parts. They arrive at different times.

A software library contains already-developed procedures that you can use in creating your own programs.

You don't have to write new procedures to, for example, display images or find derivatives in your program; someone's already written those procedures and put them in a library for the public to use.You can also import some of your own previously written code into a new program.

Unicast

a form of message delivery in which a message is delivered to a single destination TCP used

substring

a portion of a string ie. APcomputer is a substring of APcomputerscience

Intranet

a system for linking computers its basically all the LANS coming together by routers within an organization this is basically connecting all devices in the school (beyond just one floor of it)

Simulations

abstractions of more complex objects or phenomena for a specific purpose. Simulations can contain bias derived from the choices of real-world elements that were included or excluded.

append

adding an element to the END of a list

Dynamic Host Configuration Protocol (DHCP)

allows dynamic IP address allocation so users do not have to have a preconfigured IP address to use the network"Has a block of IPs to give out"

algorithms can be created from

an idea, by combining existing algorithms, or by modifying existing algorithms

Defined inputs used to test a program should demonstrate the different expected outcomes that

are at or just beyond the extremes (minimum and maximum) of input data.

using existing correct algorithms as building blocks for constructing another algorithm has benefits such

as reducing development time, reducing testing, and simplifying the identification of errors. Some existing algorithms include determining the maximum or minimum value of two or more numbers computing the sum or average of two or more numbers identifying if an integer is or is not evenly divisible by another integer determining a robot's path through a maze

Scalability of systems is an important consideration when working with data sets,

as the computational capacity of a system affects how data sets can be processed and stored. Scalability is the ability of a resource to adapt as the scale of the data it uses increases (or decreases). Although a scalable resource might require, for example, more servers or access points, it won't have to change the basics of how it operates. The more scalable a system is, the more data you can process and store within it. In terms of data processing, you're only as good as the tools you have to work with. The more powerful your computer is, the better the data processing you'll be able to do.

some conditional statements

can be written as equivalent Boolean expressions and vice-versa

Some ways investigation can be performed are as follows:

collecting data through surveys testing interviews direct observations In order to get a clear picture during this stage, programmers have to consult with many sources. If their program is for a client, the client will be consulted to determine what they want. If they're working in a group, they may have to consult each other to make sure all parts of their program will work together. They may also have to do external research to discover what sorts of programs are similar to the one they're trying to make. AP CSP Sample Question Eric is going to write a program for the math teachers at his school that will help them keep track of book numbers across the department. Before he can begin planning this program, what vital information will he need? Select Two (answers in blue) Any concerns that the teachers have about how the program will work. --> Helps in discovering the goal and what the program will need to do. How many teachers are in the math department --> Not apart of the investigation phase What algorithms he will need in order to create the program. --> Not apart of the investigation phase A description of what the user interface should look like and how the teachers will interact with the program. --> Helps in discovering the goal and what the program will need to do.

Information is the

collection of facts and patterns extracted from data.

In order for computing devices to communicate with each other over the internet, they all have to use the same protocols. A protocol is a standard set of rules that everyone agrees on. The protocols used to communicate on the internet are open, which means that they're not tied to a certain company; everyone has access to them. It also allows users to easily connect additional computing devices to the Internet. The Internet is a

computer network consisting of interconnected networks that use standardized, open (nonproprietary) communication protocols. If this sounds confusing, it's really just saying... "The internet is one large group that brings together separate, smaller groups of interconnected (all parts linked) computing devices. These computing devices send and receive data from each other. The rules that authorize this are open, meaning anyone can set up a new online service and make it available to the rest of the Internet without requiring permission from anyone else"

A decidable problem is a

decision problem for which an algorithm can be written to produce a correct output for all inputs (e.g., "Is the number even?").

Modularity

dividing a program into separate sub programs that are each responsible for one aspect of the program's functionality

A logic error is a mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly.

ex of logic error: three times three equals thirty-three. or... Line 1: PROCEDURE findEven(num) Line 2: { Line 3: IF(num MOD 2 = 1) Line 4: RETURN(EVEN) Line 5: ELSE Line 6: RETURN(ODD) Line 7: } The code above has a logic error on line 3 The code num MOD 2 = 1 would evaluate to true when num is an odd number. The resulting error on line 3 would result in EVEN instead of the correct value ODD being returned logic errors are often difficult to find and correct

Network Access Layer (physical layer) basically setting up things in the hardware before you send information along

first layer of TCP model Controls transmissions/reception of electrical signals according to physical specifications, moves the bits (in 1s and 0s) from one device to another. The most common network access protocol is ethernet, which is located in network interface cards (NIC). A general function of the physical layer is deliver packets from one NIC to another. Each NIC has a unique addresses associated with it called a Media Access Control (MAC) address. It is used for local hops. these hops occur from one computing device to another (in this instance its from one card (nic) to another card)

Program requirements are needed to

identify appropriate defined inputs for testing.

Data provide opportunities for

identifying trends, making connections, and addressing problems. As the data sets get larger and larger, computers become a necessary tool to help us process it. They can process data faster and with less error than humans. At larger scales, you may even need multiple computers or parallel systems to process all the data involved. Parallel processing is using two or more processors to complete different parts of a task.

insert

if you were to insert an item at index four, what was there originally would shift right to 5, 5 would move to 6, and so on.

Packets may arrive at the destination

in order, out of order, or not at all.

There are multiple development processes. The following phases are commonly used when developing a program:

investigating and reflecting designing prototyping testing

Cleaning data

is a process that makes the data uniform without changing their meaning (e.g., replacing all equivalent abbreviations, spellings, and capitalizations with the same word). In the above example, cleaning data would be changing "junior" to 11. Cleaning data can also help flag or remove invalid and incomplete data.

Routing on the Internet is usually dynamic

it is not specified in advance.

A parallel computing solution takes as long as

its sequential tasks plus the longest of its parallel tasks. Going back to our original example with those three steps, a parallel computing solution where two processors are running would take 90 seconds to complete. Assuming that all steps are independent (the 40 second step, for example, doesn't depend on the result of the 80 second step to work), Processor 1 would complete the 40 second and the 50 second step in 90 seconds and Processor 2 would complete the 80 second step in... well, 80 seconds. Even though Processor 2 only took 80 seconds, it still has to "wait" for Processor 1 before the solution is complete. Clearly enough, the parallel computing solution is faster. Specifically how much faster is known and measured as the speedup.

Transport Layer TCP transport is used for logging on, file and print sharing, replication of information between domain controllers, transfer of browse lists, and other common functions. TCP can only be used for one-to-one communications UDP is often used for one-to-many communications, using broadcast or multicast IP datagrams

layer 3 Provides reliable, full duplex transfer of information between applications; provides unacknowledged messaging between applications. Multiplexes communication between applications. TCP does error checking and error recovery so its slower -but more reliable -email -web browsing UDP does error checking but it discards erroneous packets -fast but does not guarantee transfers -streaming

processes/applications layer

layer 4 Provides the user's interface for applications and data. Establishes and terminates connections. HTTP, and email, among others, work at this layer.

Fewer bits does not necessarily mean

less information.

Distributed computing allows

much larger problems to be solved quicker than they could be solved using a single computer

Distributed computing is a computational model in which

multiple devices are used to run a program.

Computing innovations can reflect existing human biases because

of biases written into the algorithms or biases in the data used by the innovation. For example, criminal risk assessment tools are used to determine the chances that a defendant will re-offend, or commit another crime. This information is then used to influence decisions across the judicial process. However, these algorithms are trained to pick out patterns and make decisions based on historical data, and historical data is historically biased against certain races and classes. As a result, risk assessment tools may disproportionately flag certain groups as risks. Biases can be embedded at all levels of software development (from the brainstorming phase to the work done after release) This can take the form of a bias written into the algorithm itself or bias in the data used. For example, facial recognition systems are often trained on data sets that contain fewer images of women and minorities than men in the majority.

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.

An undecidable problem is

one for which no algorithm can be constructed that is always capable of providing a correct yes-or-no answer An undecidable problem may have some instances that have an algorithmic solution, but there is no algorithmic solution that could solve all instances of the problem. num ← 1 REPEAT UNTIL (num = 0) { DISPLAY(num) num ← num + 1 } It counts up forever, since num will never equal 0. no algorithm exists that can analyze any program's code and determine whether it halts or not.

string

order list of characters

A development process can be

ordered and intentional, or exploratory in nature.

In many programming languages, integers are represented by a fixed number of bits, which limits the range of integer values and mathematical operations on those values. This limitation can result

overflow or other errors. What if you tried to represent the number 256 in a byte? (a byte can only represent up to 255 btw --> 1111 1111 = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255) This overflow error may present itself in several ways. The number may display negative when it should be positive, or vice versa. It might also display a completely different value, such as 0. Overflow errors don't usually cause the program to stop working, so they can be hard to detect.

The use of material created by someone else without permission and presented as one's own is

plagiarism and may have legal consequences. Copyright is the right that the creator of a work has to determine who gets to use it. It's not a new concept: copyright laws have been around since the 18th century. Copyright protects your intellectual property, and prevents anyone else from using it unless you give permission. However, the digital age has created new challenges to copyright and demands new ways to protect it as well. Before you use or repost content from the internet, you have to consider what the copyright on it is. Just because a piece of art or an image can be easily found on the internet doesn't mean that it's free to use, and especially not if you're turning a profit. Material created on a computer, be it an image, a piece of digital art, or a piece of writing, is the intellectual property of the creator who made it (or of the organization that owns the intellectual property rights.) Using content created by someone else without permission can have consequences, such as a fine or an order to remove the copyrighted content. If you were to claim that the content you borrowed was your own, even unintentionally, you might be found guilty of plagiarism. It's not difficult in the age of image searches and Turnitin.com to be caught using copyrighted or plagiarized material. It can also be disheartening for content creators to see their hard work taken without permission or credit, especially if they're trying to grow their presence online. As a good practice, you should cite any material you use that you didn't create. So, what's an aspiring slide-show creator or aesthetic post maker to do? Fortunately, the internet offers free material for people to use.

remove

removing an element at the the given index

Citizen science is

scientific research conducted in whole or part by distributed individuals, many of whom may not be scientists, who contribute relevant data to research using their own computing devices The common population helps to conduct it. Ordinary citizens help contribute data to research projects using computing devices. They might, for example, count birds they see at local feeders or observe the sky to find new galaxies. Citizen science gives a wide range of people the ability to contribute to scientific studies and, in turn, provides more diverse data for scientists to work with.

Interent (IP) Layer

second layer of TCP model packets have IP addresses associated with them, provides best effort of delivery of this data between hosts. think of this layer as the packets traveling with the help of routers until they reach their destination (another computing device) ^these paths can be different / because of this the internet is flexible (or scalable) --> able to meet demands out there whats essential at this layer is that you're obtaining your IP addresses

A path between two computing devices on a computer network (a sender and a receiver) is a

sequence of directly connected computing devices that begins at the sender and ends at the receiver.

Personally identifiable information (PII) is information about an individual that identifies, links, relates, or describes them. Examples of PII include:

social security number age race phone number(s) medical information financial information biometric data (fingerprints, eye scans, facial recognition)

The purpose of computing innovations is to

solve problems

Access to the Internet depends on

the ability to connect a computing device to an Interconnected device.

The amount of size reduction from compression depends on both

the amount of redundancy in the original data representation and the compression algorithm applied.

The bandwidth of a computer network is

the maximum amount of data that can be sent in a fixed amount of time. bits per second

The larger the data file

the more data that can be compressed (or pulled out from it)

Cloud Computing

the practice of using a network of remote servers hosted on the Internet to store, manage, and process data, rather than a local server or a personal computer. Cloud computing describes a type of outsourcing of computer services where users can simply use storage, computing power, or specially crafted development environments, without having to worry how these work internally cloud computing has enhanced collaboration cloud computing has introduced new security concerns

Routing is

the process of finding a path from sender to receiver.

Combining data sources, clustering data (the task of discovering groups and structures in the data that are in some way or another "similar," without using known structures in the data.), and classifying data (is the task of generalizing known structure to apply to new data. For example, an e-mail program might attempt to classify an e-mail as "legitimate" or as "spam.") are parts of

the process of using programs to gain insight and knowledge from data.

Parallel computing is a computational model where

the program is broken into multiple smaller sequential computing operations, some of which are performed simultaneously. Parallel computing uses multiple processors, unlike Distributed computing, which uses multiple devices.

A sequential solution takes as long as

the sum of all of its steps.For example, if your program has three steps that take 40, 50, and 80 seconds respectively, the sequential solution would take 170 seconds to complete.

The "speedup" of a parallel solution is measured in

the time it took to complete the task sequentially divided by the time it took to complete the task when done in parallel.In this case, that would be 170 (time it took sequentially) divided by 90, or 1.88.

A run-time error is a mistake in the program that occurs during the execution of a program. Programming languages define their own runtime errors.

this error is commonly referred to as a bug may result from... -dividing by 0 -inappropriate entered data type (user inputs number when they should've input a word Line 1: PROCEDURE mystery(list) Line 2:{ Line 3: DISPLAY(list[0]) Line 4: } A list is a data structure that can directly access an element by index. The AP language list starts on index 1 (not 0). This program is trying to access an element from a list that does not have an index in the correct range. This error of trying to access an index that is out of bounds would be discovered when running the program. This is not a logic error. A logic error is when the program runs but delivers a wrong result.

machine learning programs

to analyze large data sets, recognize patterns, and make predictions based on data Machine learning is the idea that machines can study algorithms and can learn from them to make predictions of data

The Internet was designed

to be scalable.

Patterns can emerge when data are

transformed using programs. (ie. charts)

Science has been affected by

using distributed and "citizen science" to solve scientific problems.

A decision problem is a problem

with a yes/no answer

An optimization problem is a problem

with the goal of finding the "best" solution among many (e.g., what is the shortest path from A to B?).


Ensembles d'études connexes

Chapter 9: Customer-Defined Service Standards

View Set

French 2 U3L3 -re Verbs (conjugations)

View Set

Personal Finance Module 3 Review

View Set

ATI Learning System 3.0 - Fundamentals 2

View Set

General Psychology Quiz 1 Ch 1-3

View Set

Társas képességek fejlesztése (alapok) igaz - hamis

View Set

ADQ functional Ability 1520 NURSG

View Set

Chapter 10: Juvenile Institutionalization

View Set