AP Computer Science Principles Exam Review - Collaboration to Safe Computing

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/90

flashcard set

Earn XP

Description and Tags

Flashcards to help study for the AP Computer Science Principles exam.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

91 Terms

1
New cards

Computing Innovation

Includes a program as an integral part of its function and can be physical or nonphysical.

2
New cards

Effective Collaboration

Produces a computing innovation that reflects the diversity of talents and perspectives.

3
New cards

Diverse Perspectives

Helps avoid bias in the development of computing innovations.

4
New cards

Purpose of Computing Innovations

Solve problems or to pursue interests through creative expression.

5
New cards

Program

A collection of program statements that performs a specific task when run by a computer

6
New cards

Behavior of a Program

How a program functions during execution and how a user interacts with it.

7
New cards

Program Inputs

Data sent to a computer for processing by a program, coming in tactile, audio, visual, or text forms.

8
New cards

Event

Associated with an action and supplies input data to a program.

9
New cards

Event Driven Programming

Program statements are executed when triggered rather than through sequential flow.

10
New cards

Program Outputs

Any data sent from a program to a device

11
New cards

Development Process

Ordered and intentional or exploratory in nature

12
New cards

Common Phases of Program Development

Investigating and reflecting, designing, prototyping, and testing.

13
New cards

Iterative Development Process

Requires refinement and revision based on feedback, testing, or reflection.

14
New cards

Incremental Development Process

Breaks the problem into smaller pieces and ensures each piece works before adding it to the whole.

15
New cards

Investigation

Used for understanding and identifying the program constraints, as well as the concerns and interests of the people who will use the program.

16
New cards

Program Requirements

Describe how a program functions and may include a description of user interactions.

17
New cards

Program Specification

Defines the requirements for the program

18
New cards

Design Phase

Outlines how to accomplish a given program specification.

19
New cards

Program Documentation

Written description of the function of a code segment, event, procedure, or program, and how it was developed.

20
New cards

Comments

A form of program documentation written into the program to be read by people and do not affect how a program runs.

21
New cards

Logic Error

Mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly.

22
New cards

Syntax Error

Mistake in the program where the rules of the programming language are not followed.

23
New cards

Runtime Error

Mistake in the program that occurs during the execution of a program.

24
New cards

Overflow Error

Error that occurs when a computer attempts to handle a number that is outside of the defined range of values.

25
New cards

Testing

Uses defined inputs to ensure that algorithm or program is producing expected outcomes.

26
New cards

Bit

Shorthand for binary digit and is either zero or one.

27
New cards

Byte

Eight bits

28
New cards

Abstraction

The process of reducing complexity by focusing on the main idea.

29
New cards

Analog Data

Has values that change smoothly rather than in discrete intervals

30
New cards

Sampling Technique

Measuring values of the analog signal at regular intervals

31
New cards

Data Compression

Can reduce the size or number of bits of transmitted or stored data.

32
New cards

Lossless Data Compression

Algorithms can usually reduce the number of bits stored or transmitted while guaranteeing complete reconstruction of the original data.

33
New cards

Lossy Data Compression

Algorithms can significantly reduce the number of bits stored or transmitted, but only allow reconstruction of approximation of the original data.

34
New cards

Information

Collection of facts and patterns extracted from data.

35
New cards

Metadata

Data about data.

36
New cards

Cleaning Data

Process that makes the data uniform without changing its meaning.

37
New cards

Variable

Abstraction inside a program that can hold a value.

38
New cards

List

Ordered sequence of elements.

39
New cards

Element

Individual value in a list that is assigned a unique index.

40
New cards

String

Ordered sequence of characters

41
New cards

Data Abstraction

Provides a separation between the abstract properties of a data type and the concrete details of its representation.

42
New cards

Algorithm

Finite set of instructions that accomplish a specific task.

43
New cards

Sequencing

Application of each step of an algorithm in the order in which the code statements are given.

44
New cards

String Concatenation

Joins together two or more strings, end to end to make a new string.

45
New cards

Substring

Part of an existing string.

46
New cards

Boolean Value

Either true or false

47
New cards

Selection

Determines which part of an algorithm are executed based on a condition being true or false.

48
New cards

Iteration

Repeating portion of an algorithm.

49
New cards

Linear Search (Sequential Search)

Check each element of a list in order until desired value is found of all elements in the list and they have been checked.

50
New cards

Binary Search

Starts at the middle of a sorted data set of numbers and eliminates half of the data, repeating until the desired value is found or all elements have been eliminated.

51
New cards

Procedure

Named group of programming instructions that may have parameters and return values.

52
New cards

Parameters

Input variables of a procedure.

53
New cards

Arguments

Specify the values of the parameters when a procedure is called.

54
New cards

Procedure Call

interrupts a sequential execution of statements, causing the program to execute the statements within the program before continuing.

55
New cards

Procedural Abstraction

Provides a name for a process and allows a process to be used only knowing what it does, not how it does it.

56
New cards

Modularity

The subdivision of a computer program into separate subprograms.

57
New cards

Software Library

Contains procedures that may be used in creating new programs.

58
New cards

Application Program Interfaces (APIs)

Specifications for how the procedure in a library behave and can be used.

59
New cards

Random values

Using random number generation in a program means each execution may produce a different result.

60
New cards

Simulations

Abstractions of more complex objects or phenomena for a specific purpose.

61
New cards

Program

General description of a task that can or cannot be solved algorithmically.

62
New cards

Decision Problem

Problem with a yes or no answer.

63
New cards

Optimization Problem

Problem with the goal of finding the best solution among many possible solutions.

64
New cards

Efficiency

Estimation of the amount of computational resources used by an algorithm.

65
New cards

Heuristic

Approach to a problem that produces a solution that is not guaranteed to be optimal.

66
New cards

Decidable Problem

Decision problem for which an algorithm can be written to produce a correct output for all inputs.

67
New cards

Undecidable Problem

One for which no algorithm can be constructed that is always capable for providing a correct yes or no answer.

68
New cards

Computing Device

Physical artifact that can run a program.

69
New cards

Computing System

Group of computing devices and programs working together for a common purpose.

70
New cards

Computer Network

Group of interconnected computing devices capable of sending or receiving data.

71
New cards

Routing

Process of finding a path from sender to the receiver.

72
New cards

Bandwidth

Maximum amount of data that can be sent in a fixed amount of time.

73
New cards

Internet

Computer network consisting of interconnected networks that use standardized, open, nonproprietary communication protocols.

74
New cards

Protocol

Agreed upon set of rules that specify the behavior of a program

75
New cards

Scalability

Capacity for the system to change in size and scale to meet new demands.

76
New cards

Redundancy

Inclusion of extra components that can be used to mitigate failure of a system if other components fail.

77
New cards

Sequential Computing

Computational model in which operations are performed in order one at a time.

78
New cards

Parallel Computing

Computational model where the program is broken into multiple smaller sequential computing operations, some of which are performed simultaneously.

79
New cards

Distributed Computing

Computational model in which multiple devices are used to run a program.

80
New cards

Digital Divide

Refers to differing access to computing devices and the Internet based on socioeconomic, geographic, or demographic characteristics.

81
New cards

Citizen Science

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.

82
New cards

Crowdsourcing

Practice of of obtaining input or information from a large number of people via the Internet.

83
New cards

Creative Commons

Public copyright license that enables the free distribution of an otherwise copyrighted work.

84
New cards

Open Source

Programs that are made freely available and may be redistributed and modified.

85
New cards

Open Access

Online resource output free of any and all restriction on access and free of many restrictions on use, such as copyright or license restrictions.

86
New cards

Personally Identifiable Information (PII)

Information about an individual that identifies, links, relates, and describes them.

87
New cards

Computing Virus

Malicious program that can copy itself and gain access to a computer in an unauthorized way.

88
New cards

Malware

Software intended to damage a computing system or to take partial control over its operation.

89
New cards

Phishing

Technique that attempts to trick a user into providing personal information

90
New cards

Key Logging

Use of a program to record every keystroke made by a computer user in order to gain fraudulent access to passwords and other confidential information.

91
New cards

Rogue Access Point

Wireless access point that gives unauthorized access to secure networks.