AP CSP Key Terms (Full Set)

studied byStudied by 10 people
0.0(0)
get a hint
hint

Agile software development

1 / 240

241 Terms

1

Agile software development

An approach to software development that emphasizes a flexible and ready response to meet a shifting target.

New cards
2

Benchmarking

Running a program on many data sets to be sure its performance falls within required limits; timing the same algorithm on two different machines.

New cards
3

Code library

A collection of thoroughly tested object code for various useful tasks.

New cards
4

Coding

The process of translating the detailed designs into computer code.

New cards
5

Divide-and-conquer

A program design strategy in which tasks are broken down into subtasks, which are broken down into sub-subtasks, and so on, until each piece is small enough to code comfortably. These pieces work together to accomplish the total job.

New cards
6

Empirical testing

Designing a special set of test cases and running the program using these test data.

New cards
7

Executable module

The resulting object code after a linker inserts requested code from code libraries.

New cards
8

External documentation

Any materials assembled to clarify the program's design and implementation.

New cards
9

Feasibility study

A step in the software development life cycle that evaluates a proposed project and compares the costs and benefits of various solutions.

New cards
10

Integrated development environment (IDE)

A collection of programs that support software development, such as debuggers, editors, toolkits, and libraries, that lets programmers perform several tasks within the shell of a single application.

New cards
11

Integration testing

After unit testing, integration testing is done to see that the modules communicate the necessary data between and among themselves and that all modules work together smoothly.

New cards
12

Internal documentation

Documentation that is part of the program code itself.

New cards
13

Logic error

An error in the algorithm used to solve a problem.

New cards
14

Object code

Machine language instructions.

New cards
15

Pair programming

Involves two programmers at a single workstation. At any given point in time, one is writing code and the other is actively observing, watching for possible errors

New cards
16

but also thinking about the overall approach.

New cards
17

Problem specification

A step in the software development life cycle that involves

New cards
18

developing a clear, concise, and unambiguous statement of the exact problem the software

New cards
19

is to solve.

New cards
20

Procedural language

A program written in a procedural language consists of sequences of statements that manipulate data items.

New cards
21

Program design phase

A step in the software development life cycle that plans the structure of the software to be written.

New cards
22

Program maintenance

The process of adapting an existing software product due to errors, new system requirements, or changing user needs.

New cards
23

Program verification

Used to prove that if the input data to a program satisfies certain conditions, then, after the program has been run on these data, the output data satisfies certain other conditions.

New cards
24

Regression testing

If anything is changed on an already-tested module, regression testing is done to be sure that this change has not introduced a new error into code that was previously correct.

New cards
25

Runtime error

An error that occurs when the program is run using certain sets of data that result in some illegal operation, such as dividing by zero.

New cards
26

Semantics

The meaning of correctly written programming statements.

New cards
27

Source code

High-level language instructions.

New cards
28

Syntax error

An error that occurs because a program statement fails to follow the correct

New cards
29

rules of syntax.

New cards
30

Technical documentation

Documentation that enables programmers who later have to modify the program to understand the code.

New cards
31

Third-generation language

Another name for high-level programming language as

New cards
32

opposed to machine language (first generation) or assembly language (second generation).

New cards
33

Top-down decomposition

A program design strategy in which tasks are broken down into subtasks, which are broken down into sub-subtasks, and so on, until each piece is small enough to code comfortably. These pieces work together to accomplish the total job.

New cards
34

Syntax

The rules for exactly how programming statements must be written; the grammatical structure of a programming language

New cards
35

Application

(Java) A complete standalone program that resides and runs on a self-contained computer.

New cards
36

External library

A well-written, efficient, and thoroughly tested code module that is separately compiled and then drawn on by any program that wishes to use its capabilities.

New cards
37

Functional programming languages

Views every task in terms of functions. In this context, function means something like a mathematical function—a recipe for taking an argument (or possibly several arguments) and doing something with them to compute a single value.

New cards
38

Knowledge base

Facts and rules about a certain domain of interest.

New cards
39

Open source

Software whose source code is freely available and may be used, distributed, or modified by anyone.

New cards
40

Recursive

Something that is defined in terms of "smaller versions" of itself.

New cards
41

Computational model

A model constructed using algorithmic procedures implemented as computer programs.

New cards
42

Computational steering

A procedure for using a computational model to improve the design of an actual system by continually resetting model parameters to improve system performance.

New cards
43

Computer graphics

The field of computer science that examines the technical problems of displaying visual images on a computer screen.

New cards
44

Continuous model

A model of a system using mathematical equations that describe system performance as a continuous function of time t.

New cards
45

Discrete event simulation

A computational modeling technique that simulates the behavior of a system only at discrete points in time.

New cards
46

Garbage in, garbage out

The term for the fact that the output coming out of a computer model is only as accurate as the assumption used to build the model.

New cards
47

Scientific visualization

The use of images and visualization techniques to make scientific data easier to interpret and understand.

New cards
48

Simulation model

Another term for a computational model.

New cards
49

Statistical distribution

This is a mathematical function that describes the probability of a random quantity taking on certain values.

New cards
50

Stochastic components

Parts of a model that display random behavior.

New cards
51

Uniform random number

Every value in the range from a to b has the same chance of occurring.

New cards
52

Analogy

Arguing about a problem by comparing it to a related problem, which you claim is very similar in terms of its ethical implications and consequences.

New cards
53

Consequentialism

A school of thought in ethics that focuses on the consequences of an act to determine if the act is good or bad.

New cards
54

Cyberbullying

Humiliating, taunting, threatening or invading someone's privacy using the Internet, Web, or other type of electronic technology.

New cards
55

Ethics

The study of how to decide if something is morally right or wrong.

New cards
56

Hacktivism

Hacking that is intended as political activism.

New cards
57

Peer-to-peer file sharing

The sharing of files between two equal participants on a network. This is distinct from the client-server model in which the two sides serve very different roles--one side only sending information (the server) and the other side only receiving information (the client).

New cards
58

Computer science

The study of algorithms, including their mathematical properties, hardware and linguistic realizations, and their applications.

New cards
59

Computing agent

The entity (machine, robot, person, or thing) that executes the steps of an algorithm.

New cards
60

High-level programming language

A programming language that uses both natural language constructs and mathematical notation.

New cards
61

Infinite loop

The repetitive execution of a block of operations that will never end. This is a fatal error when it occurs in an algorithm.

New cards
62

Sequential operation

An algorithmic operation that carries out a single task and then moves on to the next operation in sequence.

New cards
63

Algorithm discovery

The process of finding an algorithmic solution to a given problem. Computation: An algorithmic operation that carries out a single numeric computation and stores the result.

New cards
64

Computation

An algorithmic operation that carries out a single numeric computation and stores the result.

New cards
65

Conditional statements

Operations that ask a question and select the next instruction to carry out based on the answer to that question.

New cards
66

Continuation condition

The true/false condition that will determine when the iteration has been completed.

New cards
67

Control operations

Operations that alter the normal sequential flow of control within an algorithm.

New cards
68

Input

An operation that causes data values from the outside world to be brought into the algorithm.

New cards
69

Iteration

The repetitive execution of a block of operations.

New cards
70

Output

An operation that causes computed values to be sent to the outside world for viewing or saving.

New cards
71

Primitive operation

An operation that can be directly understood by the computing agent executing the algorithm and which does not have to be further clarified or explained.

New cards
72

Pseudocode

A notation used to design algorithms. It uses English constructs, mathematical notation and an informal algorithmic structure designed to look like a high-level programming language.

New cards
73

Sorting

The task of putting a list of values into numeric or alphabetical order.

New cards
74

Boolean expression

An expression that can evaluate only to true or false.

New cards
75

Gigabyte

One billion bytes.

New cards
76

Program

an algorithm that is written in a programming language that runs on a computer

New cards
77

Control Structures

a block of programming that determines which part of the program is executed next. There are three types of structures: sequence, selection, and repetition.

New cards
78

Computational Artifact

an object created by a human being that involves the use of computation in some way, for example a mobile app or a web page.

New cards
79

Event Driven Programming

a programming approach whereby the program's behavior is controlled by writing code that responds to various events that occur, such as Button clicks.

New cards
80

Hardware

the large and small physical components that make up a computers such as the computer's keyboard or its processor.

New cards
81

Software

the computer programs that make up a computer system such as the mobile apps we will be creating in this course.

New cards
82

Abstraction

one of the seven big ideas of the CS Principles curriculum. An abstraction is a simplified and general representation of some complex object or process. One example --we'll encounter many in this course, including abstractions used in computer programming -- would be a Google map.

New cards
83

Binary Number

a number written in the binary system, a system that uses only two digits, 0s and 1s.

New cards
84

Blacklist

in internet terminology, a generic term for a list of email addresses or IP addresses that are origination with known spammers

New cards
85

Character

any symbol that requires one byte of storage

New cards
86

Cyberspace

a metaphor for describing the non-physical terrain created by computer systems

New cards
87

Data

data is distinct information that is formatted in a special way. Data exists in a variety of forms, like text on paper or bytes stored in electronic memory

New cards
88

Data Center

are physical or virtual infrastructures used by enterprises to house computer, server and networking systems and components for the company's IT (information technology) needs

New cards
89

Data Network

a telecommunications network which allows computers to exchange data

New cards
90

Disk Drive

a randomly addressable and rewritable storage device

New cards
91

Intellectual Property

refers to any property that is created using original thought. Traditional intellectual property include patents, copyrights, and trademarks.

New cards
92

Network

a group of two or more computer systems linked together

New cards
93

Processor

short for microprocessor or CPU

New cards
94

Social Networking

a social structure made of nodes that are generally individuals or organizations. A social network represents relationships and flows between people, groups, organizations, animals, computers, or other information/knowledge processing entities

New cards
95

Whitelist

a generic name for a list of email address or IP addresses that are considered to be spam free

New cards
96

Analog

a device or system that represents changing values as continuously variable physical quantities

New cards
97

ASCII

a code for representing English characters as numbers, with each letter assigned a number from 0 to 127

New cards
98

Cloud Computing

comparable to grid computing, cloud computing relies on sharing resources rather than having local servers handle applications.

New cards
99

Cryptography

the art of protecting information by transforming it into an unreadable format, called cipher text

New cards
100

Digital

any system based on discontinuous data or events. Computers are digital machines because at the basic level they can distinguish between just two values, 0 and 1.

New cards

Explore top notes

note Note
studied byStudied by 15 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 6 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 19 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 111 people
Updated ... ago
4.0 Stars(2)
note Note
studied byStudied by 39 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 18 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 12 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 2027 people
Updated ... ago
5.0 Stars(8)

Explore top flashcards

flashcards Flashcard86 terms
studied byStudied by 17 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard20 terms
studied byStudied by 300 people
Updated ... ago
4.9 Stars(14)
flashcards Flashcard21 terms
studied byStudied by 65 people
Updated ... ago
5.0 Stars(4)
flashcards Flashcard58 terms
studied byStudied by 33 people
Updated ... ago
5.0 Stars(4)
flashcards Flashcard47 terms
studied byStudied by 39 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard35 terms
studied byStudied by 9 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard41 terms
studied byStudied by 2 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard96 terms
studied byStudied by 24 people
Updated ... ago
5.0 Stars(1)