AP Computer Science Principles - Fall Semester Exam

Ace your homework & exams now with Quizwiz!

Flowchart Symbol - Output

(e.g., Printed Circuit Board (PBC) with holes drilled.) Outputs are represented with a rhombus shape.

Big Idea 2 - Abstraction

Abstraction reduces information and detail to facilitate focus on relevant concepts. In computer science, abstraction is a central problem-solving technique, which is a process, a strategy, and the result of reducing detail to focus on concepts relevant to understanding and solving problems.

Big Idea 4 - Algorithms

Algorithms are used to develop and express solutions to computational problems. Algorithms realized in software have affected the world in profound and lasting ways. (e.g., Secure data transmission and quick access to large amounts of relevant information are made possible through the implementation of algorithms.)

Flowchart Symbol - Start

All flow charts begin with the START symbol. This shape is called a terminator. It is represented with an oval shape.

Flowchart Symbol - End

All flowcharts end with the END symbol. This shape is called a terminator. It is represented with an oval shape.

Flowchart Symbol - Arrow

Arrow indicate the flow of the algorithm pathways. As the name implies, it is represented with an arrow shape.

Effective method of communicating knowledge gained from data [EK 3.1.3D]

By transforming information

Big Idea 7 - Global Impact

Computing has global impact. Computation has changed the way people think, work, live, and play. Our methods for communicating, collaborating, problem solving, and doing business have changed and are changing due to computing innovations, which are innovations that include a computer or program code as an integral part of their function.

Big Idea 1 - Creativity

Computing is a creative activity. Creativity and computing are prominent forces in innovation; the innovations enabled by computing have had and will continue to have far-reaching impacts. Computing facilitates exploration and the creation of computational artifacts and new knowledge that help people solve personal, societal, and global problems.

Big Idea 3 - Data and Information

Data and information facilitate the creation of knowledge. Computing enables and empowers new methods of information processing, driving monumental change across many disciplines -- from art to business to science.

Flowchart Symbol - Input

Inputs, such as materials or components. (e.g., Printed Circuit Board (PCB).) It is represented with a rhombus shape.

Flowchart Symbol - Process

Processes, such as activities or tasks, are sometimes used to link to a subroutine (another flowchart) with more detailed steps. (e.g., drill Printed Circuit Board (PCB).) It is represented with a rectangular shape.

Big Idea 5 - Programming

Programming enables problem solving, human expression, and creation of knowledge. Programming results in the creation of software, and it facilitates the creation of computational artifacts, including music, images, and visualizations.

Big Idea 6 - The Internet

The Internet pervades modern computing. The Internet supports both communication and collaboration. The principles of systems and networks that helped enable the Internet are also critical in the implementation of computational solutions.

Flowchart Symbol - Decision

The decision symbol checks a condition before carrying on. (e.g., Is the drill accurate?) It is represented with a diamond shape.

Computational Practice 6 - Collaborating

This involves collaborating with another student in solving a computational problem or producing an artifact, sharing the workload by providing individual contributions to an overall collaborative effort, fostering a constructive, collaborative climate by resolving conflicts and facilitating the contributions of a partner or team member, exchanging knowledge and feedback with a partner or team member, and reviewing and revising their work as needed to create a high-quality artifact.

Computational Practice 2 - Creating Computational Artifacts

This involves creating a computational artifact with a practical, personal, or societal intent, selecting appropriate techniques to develop a computational artifact, and using appropriate algorithmic and information management.

Computational Practice 4 - Analyzing Problems and Artifacts

This involves evaluating a proposed solution to a problem, locating and correcting errors, explaining how an artifact functions, and justifying appropriateness and correctness of a solution, model, or artifact.

Computational Practice 3 - Abstracting

This involves explaining how data, information, or knowledge is represented for computational use, explaining how abstractions are used in computational modeling, identifying abstractions, and describing modeling in a computational context.

Computational Practice 5 - Communicating

This involves explaining the meaning of a result in context, describing computation with accurate and precise language, notations, or visualizations, and summarizing the purpose of a computational artifact.

Computational Practice 1 - Connecting Computing

This involves identifying impacts of computing, describing connections between people and computing, and explaining connections between computing and concepts.

Natural language / pseudo code [EK 4.1.2B]

a description of an algorithm written in a way that humans can understand

Symmetric encryption [EK 6.3.1K]

a method of encryption involving one key for encryption and decryption

IPv6 [EK 6.1.1H]

a new protocol developed to replace IPv4, addressing the issue of IP address exhaustion; established to handle the routing of many more devices

Protocols (include TCP/IP) [EK 6.2.2D]

a set of rules or standards governing the format of data sent over the Internet or other network; they enable widespread use of the Internet; order of TCP/IP model: 1.) application layer, 2.) transport layer, 3.) internet layer, 4.) network access layer

Algorithm combination [EK 4.1.1E]

algorithms can be combined to make new algorithms

Machine learning and data mining [EK 7.2.1A]

an application of artificial intelligence that provides systems the ability to automatically learn and improve from experience without being explicitly programmed; the practice of examining large databases in order to generate new information; they have enabled innovation in medicine, business, and science

Abstraction of digital data [EK 2.1.1C]

at a higher level, bits are grouped to represent abstractions, including but not limited to numbers, characters, and color

Binary numbers [EK 2.1.1E]

at one of the lowest levels of abstraction, digital data is represented in this number base, using only a combination of the numbers 0 and 1

Metadata [EK 3.2.1H]

can be descriptive data about an image, a Web page, or other complex objects [i.e. data about data]

Digital certificate [EK 6.3.1M]

certificate authorities (CAs) issue these, and they validate the ownership of encrypted keys used in secured communications and are based on a trust model

Why classification of data is useful [EK 3.1.1D]

classification of data is the process of sorting and categorizing data into various types, forms, or distinct classes; insight/knowledge can be obtained from translating and transforming digitally represented information

Low-level programming languages [EK 2.2.3C]

code from a high-level programming language is often translated into this kind of language to be executed on a computer

What is an important part of solving data-driven problems? [EK 3.1.2A]

collaboration

Streaming [EK 7.3.1B]

commercial to this, plus music and movie downloads, raises legal and ethical concerns

Strings and string operations, including concatenation and some form of substring [EK 5.3.1I]

common in many programs

Filter [EK 3.1.1B]

computers refining a data set into simply what a user needs; done to digital information by computers to process information

Assistive technology [EK 7.1.1L]

computing contributes to this kind of technology, which enhances human capabilities

Determining correctness of algorithm [EK 4.2.4C]

determined by reasoning formally or mathematically about the algorithm, not by testing an implementation of the algorithm

Algorithms and problem solving [EK 4.1.1I]

developing a new algorithm to solve a problem can yield insight into the problem

Different algorithms; same goal [EK 4.1.1H]

different algorithms can be developed to solve the exact same problem

Efficiency and correctness relating to algorithms [EK 4.2.4D]

different correct algorithms for the same problem can have different efficiencies

Digital Data [EK 2.1.1A]

discrete, discontinuous representation of information or works, represented by bits

Collaboration, part 2 [EK 5.2.3C]

doing this in the iterative development of a program requires different skills than developing a program alone

Cryptography [EK 6.3.1H]

essential to many models of cybersecurity; mathematical foundation

Aggregation of information [7.3.1H]

examples of this include geolocation, cookies, and browsing history; raises privacy and security concerns

Compound expressions [EK 5.5.1F]

expressions using 'and', 'or', and 'not'; are part of most programming languages

Collaboration, part 4 [EK 5.1.3E]

facilitates developing program components indepedently

Collaboration, part 1 [EK 5.2.3B]

facilitates multiple perspectives in developing ideas for solving problems by programming

Goals and inputs/outputs of a program [EK 5.1.1B]

for creative expression, to satisfy personal curiosity, or to create new knowledge; may have visual, audible, or tactile inputs and outputs

Human computation [EK 7.1.2C]

harnesses contributions from many humans to solve problems related to digital data and the Web

"Citizen science" [EK 7.1.2B]

has had an impact on science; used to solve scientific problems using home computers in scientific research

Global distribution of computing resources [EK 7.4.1C]

has raised issues of equity, access, and power

Abstraction hierarchy [EK 2.2.3D]

higher levels of abstraction (the most general concepts) would be placed toward the top and lower-level abstractions (the more specific concepts) toward the bottom

Basic operations on collections [EK 5.5.1J]

include adding elements, removing elements, iterating over all elements, and determining whether an element is in a collection

Language of algorithms [EK 4.1.2A]

includes natural language, pseudo code, and visual and textual programming languages

Iterative [EK 3.1.1A]

involving the repetition of a process; computers are used in this way when processing digital information to gain insight and knowledge

Collaboration, part 3 [EK 5.1.3D]

makes it easier to find and correct errors when developing programs

Wireless [EK 7.4.1B]

mobile and network computing have an impact on innovation throughout the world

The power of nearly all programming languages [EK 4.1.2H]

nearly all programming languages are equivalent in terms of being able to express any algorithm

Mobile computing [EK 7.1.2G]

new applications are arising due to the move from desktop computers to a proliferation of always-on mobile computers

Conversion of bases [EK 2.1.1G]

numbers can be converted from any base to any other base

Hexadecimal numbers [EK 2.1.1F]

one representation of digital data; one way of representing data because it uses fewer digits than binary

Levels of abstraction [EK 2.2.3A]

programming languages offer different levels of abstraction

Programming [EK 5.1.1A]

programs are developed and used in a variety of ways by a wide range of people depending on the goals of the programmer

Large data sets [EK 3.2.1A]

provide opportunities and challenges for extracting information and knowledge; provide opportunities for identifying trends, making connections in data, and solving problems

The building blocks of algorithms [EK 4.1.1A]

sequencing, selection, and iteration

Bits [EK 2.1.1B]

smallest unit of data in a computer; digital data is represented by these

Interfaces [EK 6.2.2D]

software/hardware between two protocol layers; they enable widespread use of the Internet

Online services built on many people [EK 7.1.2E]

some online services use the contributions of many people to benefit both individuals and society

Open Standards [EK 6.2.2E]

standards open to the public and are developed and maintained via collaboration; this fuels the growth of the internet

Exploitation [EK 7.3.1J]

technology enables the collection, use and this of information about, by, and for individuals, groups, and institutions

Sequencing [EK 4.1.1B]

the application of each step of an algorithm in the order in which the statements are given

Cybersecurity [EK 6.3.1C]

the implementation of this has software, hardware, and human components

Algorithm knowledge [EK 4.1.1G]

the knowledge of standard algorithms can help in constructing a new algorithm

Moore's law [EK 7.2.1F]

the observation made by Intel co-founder Gordon Moore that the number of transistors on a chip doubles every year while the costs are halved; this has encouraged industries that used computers to effectively plan future research and development based on anticipated increases in computing power

The use of existing algorithms [EK 4.1.1F]

the usage of these algorithms as building blocks for constructing a new algorithm helps ensure the new algorithm is correct

Mathematical expressions [EK 5.5.1D]

the use of arithmetic operators are part of most programming languages

Logical concepts & Boolean algebra [EK 5.5.1E]

these are fundamental to programming

Infrastructure and commercial [EK 7.4.1E]

these are supported by both commercial and governmental initiatives

Patterns [EK 3.1.1E]

these can emerge when data is transformed using computational tools

Parameters [EK 5.3.1F]

these generalize a solution by allowing a procedure to be used instead of duplicated code

Open and curated scientific databases [EK 7.2.1E]

these have benefited scientific research

Cyber warfare; cybercrime [EK 6.3.1D]

these have widespread and potentially devastating effects

Spreadsheet/database software [EK 3.2.1F]

these kind of software tools help to efficiently organize and find trends in information

High-level programming languages [EK 2.2.3B]

these languages provide more abstractions for the programmer and make it easier for people to read and write the program

Visual displays [EK 5.4.1H]

these representations of a program state can help in finding errors

Phishing [EK 6.3.1F]

these, viruses, and other attacks have human and software components

Reading data versus updating data [EK 3.3.1I]

they have different storage requirements

Programming knowledge and skill [EK 5.1.2I]

this affects how a program is developed and how it is used to solve a problem

Collaboration on the internet [EK 6.6.1D]

this and its systems facilitate collaboration

End-to-end architecture [EK 6.6.1B]

this facilitates connecting new devices and networks on the Internet

Bandwidth [EK 6.2.2J]

this is a measure of the bit rate -- the amount of data (measured in bits) that can be sent in a fixed amount of time

Procedures [EK 5.3.1D]

this is a named grouping of programming instructions; they have names and may have parameters and return values

Trust model [EK 6.3.1A]

this model has trade offs

Authenticated and anonymous access [EK 7.3.1D]

this type of access to digital information raises legal and ethical concerns

DDoS (Distributed Denial of Service) [EK 6.3.1E]

this type of attack compromises a target by flooding it with requests from multiple systems

Decidable problems [EK 4.2.3B]

this type of problem is one in which an algorithm can be constructed to answer "yes" or "no" for all inputs [e.g., "is the number even?"]

Undecidable problems [EK 4.2.3A]

this type of problem may have instances that have an algorithmic solution, but there is no algorithmic solution that solves all instances of the problem

Number bases [EK 2.1.1D]

used represent and investigate digital data [e.g., binary, decimal, hexadecimal]

Target advertising [EK 7.3.1M]

used to help individuals, but it can be misused at both individual and aggregate levels

Pupose of application program interfaces (APIs) & libraries [EK 5.3.1M]

used to simplify complex programming tasks

Cloud computing [EK 7.1.1D]

using a network of remote servers hosted on the Internet to store, manage, and process data; this fosters new ways to communicate and collaborate


Related study sets

Supply Chain Management Final Exam

View Set

EA: Business SU 10.1 Partnership Operations and Partner's Taxable Income

View Set

Anatomy and Physiology II: Chapter 19

View Set

IDG1362 Introduksjon til brukersentrert design

View Set