AP Computer Science Principles Vocabulary

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

1/181

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

182 Terms

1
New cards

Algorithm

At its core, an algorithm is really just a generalized, conceptual solution to a problem that can later be implemented in some real-world form like a computer program.

2
New cards

Application Program Interface

Application program interface (API) is a set of routines, protocols, and tools for constructing software applications. An API specifies how software components should interact. In addition, APIs are used when programming graphical user interface (GUI) components.

3
New cards

Binary

A numeric system of base 2 that only uses combinations of the digits zero and one; this is used in one of the lowest levels of abstraction. Computers operate in binary, as they store data and perform calculations using only zeros and ones. While a single binary digit can be used to represent True (1) or False (0) in boolean logic, multiple binary digits can be used in conjunction to store large numbers and perform complex functions. Computers translate between binary and what you actually work with such as numbers and text.

4
New cards

Binary Search

A search algorithm that locates the position of a target value within a sorted array by repeatedly dividing the search interval in half; can only be used when the list is sorted. Because of its divide-and-conquer approach, the amount of work required to find an item grows much more slowly with Binary Search than with Sequential Search. In fact, with this logarithmic behavior

5
New cards

Boolean Function*

Any function based on the operations AND, OR, and NOT, and whose elements are from the domain of Boolean algebra. A function whose arguments, as well as the function itself, assume values from a two-element set (usually {0,1})

6
New cards

Central Processing Unit

CPU, or processor, is the brains of the computer where most calculations take place. Contains the circuitry necessary to interpret and execute program instructions.

7
New cards

Computational Artifact

Something created by a human using a computer and can be, but is not limited to, a program, an image, an audio, a video, a presentation, or web page file

8
New cards

Cryptography

The science of coding and decoding messages in order to keep them secure. Coding takes place using a key that ideally is known only by the sender and intended recipient of the message.

9
New cards

Floating Point Numbers

As the name implies, floating point numbers are numbers that contain floating decimal points. Examples include, the numbers 5.5, 0.001, and -2,345.6789. Numbers without decimal places are called integers. Computers recognize real numbers that contain fractions as floating point numbers.

10
New cards

Hexadecimal

Hexadecimal describes a base-16 number system. That is, it describes a numbering system containing 16 sequential numbers as base units (including 0) before adding a new position for the next number. The hexadecimal numbers are 0-9 and then use the letters A-F. Used to represent digital data because it utilizes fewer digits than binary.

11
New cards

Integers

An integer is a whole number (not a fraction) that can be positive, negative, or zero. In computer science, an integer is a datum of integral data type, a data type that represents some finite subset of the mathematical integers. Integral data types may be of different sizes and may or may not be allowed to contain negative values.

12
New cards

Iterations

Iteration is the repetition of part of an algorithm until a condition is met or for a specified number of times. This is often called a 'loop'. Recursive functions repeatedly execute themselves as part of their operation. Upon completing all instructions and resetting to the first one iteration has been completed.

13
New cards

Libraries

In computer science, a library is a collection of non-volatile resources that a program can use often to develop software. Libraries are particularly useful for storing frequently used routines because you do not need to explicitly link them to every program that uses them. The linker automatically looks in libraries for routines that it does not find elsewhere. Resources which may be found in libraries include data, documentation, message templates, pre-written code, classes, or values.

14
New cards

Linear/Sequential Search

A process that checks every element in the list sequentially until the desired element is found or all elements have been searched. Can be used in any type of list. Has linear performance.

15
New cards

Lossless Data Compression

With lossless compression, every single bit of data that was originally in the file remains after the file is uncompressed. All of the information is completely restored. This is generally the technique of choice for text or spreadsheet files, where the loss of words or financial data could pose a problem. PNG is an image format that provides lossless compression.

16
New cards

Lossy Data Compression

Lossy compression reduces a file by permanently eliminating certain information, especially redundant information. When the file is uncompressed, only a part of the original information is still there (although the user may not notice it). Lossy compression is generally used for video and sound, where a certain amount of information loss will not be detected by most users. JPEG provides lossy compression.

17
New cards

Metadata

Metadata is data that describes other data. Metadata summarizes basic information about data, which can make finding and working with particular instances of data easier. It provides information concerning an item's content such as image resolution and size.

18
New cards

Parameters*

In computer programming, a parameter or "argument" is a value that is passed into a function. Most modern programming languages allow functions to have multiple parameters. While the syntax of a function declaration varies between programming languages, a typical function with two parameters may look something like this:

function graphXY(x, y)

{

...

}

generalize a solution by allowing a procedure to be used instead of duplicate code; provide different values as input to procedures when they are called in a program.

19
New cards

Pseudocode

Pseudocode is a detailed yet readable description of what a computer program or algorithm must do. It may also describe an operating principle. It is expressed in a formally-styled natural language rather than in a programming language intended for humans. The conventions of normal programming continue.

20
New cards

Sequencing

The execution of each step/action of an algorithm in the precise order in which the statements are given.

One of the three building blocks of algorithms. The other two logic structures are selection and iteration. In a sequence structure, an action, or event, leads to the next ordered action in a predetermined order. The sequence can contain any number of actions, but no actions can be skipped in the sequence. The program, when run, must perform each action in order with no possibility of skipping an action or branching off to another action.

The term sequence is often applied to video and audio.

21
New cards

Simulations

The use of a computer to represent the dynamic responses of one system by the behavior of another system modeled after it. A simulation uses a mathematical description, or model, of a real system in the form of a computer program.

22
New cards

Strings

A string is a data type used in programming, such as an integer and floating point unit, but is used to represent text rather than numbers. It is comprised of a set of characters that can also contain spaces and numbers. For example, the word "hamburger" and the phrase "I ate 3 hamburgers" are both strings. The length is an important string characteristic.

23
New cards

Repetition

A synonym for loop and iteration.

24
New cards

Selection/Conditional

One of the three building blocks of algorithms which adds conditions. Allows for statements such as if-else which can send an algorithm down one of two paths depending on if a condition is true or false.

25
New cards

If-Else

A structure related to selection which states that "if" one thing is true then this should happen, else that should happen. Only operates with Yes/No questions.

26
New cards

Communication

The transmission of data from one computer to another, or from one device to another.

27
New cards

Flow Chart/Pattern

A diagram that can be constructed to depict each step of the algorithm (usually represented by rectangles, diamonds, etc.) interconnected with arrows showing the general flow of the process

28
New cards

Encryption

Securing information so that it is inaccessible to third parties.

29
New cards

Cryptology

The study of securing (or encrypting) information such that it is inaccessible by third parties.

30
New cards

Caesar Cipher

An encryption algorithm which works by aligning two alphabets against one another and offsetting them by a number of positions.

31
New cards

Plaintext

The original unencrypted message.

32
New cards

Ciphertext

The encrypted message, formed by applying an encryption algorithm to the plaintext.

33
New cards

Vigenere Cipher

An encryption algorithm which works by applying a key word to a plaintext. The key word is aligned with the plaintext and each letter of the keyword determines by how many places the plaintext should be rotated. For example "D" signals a rotation of 3. In short is uses multiple Ceasar Ciphers to encrypt a single plaintext making it more secure.

34
New cards

Cybersecurity

Measures taken to protect a computer or computer system (as on the Internet) against unauthorized access or attack

35
New cards

CIA Triad

Defines the target areas when developing a secure system includes confidentiality, integrity, and availability.

36
New cards

Confidentiality

The ability to limit access to information to a certain set of users.

37
New cards

Integrity

The certainty that information is accurate.

38
New cards

Availability

The reliability of access to information.

39
New cards

Authentication

The process of determining whether someone or something is, in fact, who or what it is declared to be.

40
New cards

Bits: Binary Digits

A bit (short for binary digit) is the smallest unit of data in a computer. A bit has a single binary value, either 0 or 1.

41
New cards

Matrices

An array of values arranged in rows and columns. Used to determine the integrity of sent information. Bits of data are stored in matrices and each row has either an even or odd (choose one) amount of information. If one of the rows or columns is received with an incorrect value of bits in a row or column it can be corrected.

42
New cards

Even/Odd Parity

Used to ensure the integrity of information, each row and column of a matrix should either be even or odd, if not the data is incorrect and will be corrected.

43
New cards

DDoS: Distributed Denial-of-Service

Multiple computers are infected with malware (malicious software) so that an attacker may coordinate them to send requests to a web server at the same time.

44
New cards

Social Engineering

The psychological manipulation of people into performing actions or divulging confidential information.

45
New cards

Phishing

To masquerade as an official representative of an organization and ask or demand confidential information.

46
New cards

Malware

Malicious software aimed at harming a computer/user.

47
New cards

Viruses/Worms

Spreads within a computer network and can multiply. Can be halted by anti-virus software.

48
New cards

Botnets

Networks made up of remotely controlled computers infected with malware; one computer can control all of them. Important to monitor network usage, your computer could be part of one.

49
New cards

Keyloggers

Software/hardware device which tracks key clicks and screens; can be harmless such as companies monitoring employees

50
New cards

Backdoors

Used to access programs by administrators but can be found by hackers with malicious intent.

51
New cards

Trojan Horses

A type of malware disguised as safe software; often given through e-mail links, check to make sure security is active.

52
New cards

Time Bombs

A computer virus which lays dormant until a specific condition is met, either a specific set of data or after a predetermined time.

53
New cards

Spyware

Software installed without a user's knowledge to track their activity, can access microphones and face-cams.

54
New cards

Electronic Voting

A voting system in which votes are electronically submitted, tallied, and stored.

55
New cards

Low-Level Language

Low-level languages are optimized for machines. Computers are built using highly structured circuitry that responds to very logical and clear signals. Because low-level languages are much more concrete and straightforward, with limited vocabulary and very structured syntax, nothing is left to interpretation.

56
New cards

Machine Code

Machine languages are the most basic type of programming language. They represent the actual binary instructions issued to computer processors and are very difficult for humans to read. A direct, low-level translation from the high-level source code.

57
New cards

Compiler

A program which translates each of your high-level, human-readable instructions into a corresponding string of 1s and 0s that make sense to the computer's processor. The resulting string of binary information constitutes an executable program.

58
New cards

Compilation

The process of translating high level programming languages (source code) to machine code.

59
New cards

High-Level Language

Languages that are best for human communication. These languages are complex and use a high level of abstraction. They are symbolic and rely on strings of letters to form words that represent abstract concepts, ideas, actions, and objects.

60
New cards

Source Code

The programs that programmers write in high-level languages are known as source code. Technically, these source code files are not really programs, per se. They are the abstract, high-level instructions that define what the program is and how it will function.

61
New cards

Artificial Programming Language

An artificial language which is specifically designed for programming; usually developed relatively quickly by small groups for very specific purposes and is highly structured.

62
New cards

Processing

A textual programming language which is aimed at being easily accessible to beginners through visual feedback. Emphasizes the potential of coding in visual fields such as art and architecture.

63
New cards

Visual Programming Language

Allows programmers to drag and drop pictures or icons into organized blocks that represent the different parts of a program. Block-based programming tools automatically handle all the grammar and syntax the programming language requires. This allows novice programmers to focus on the logic of their programs, rather than the syntax, spelling, capitalization, etc.

64
New cards

Scratch

A visual based programming language which uses block to represent lines of code. Allows beginner programmers to focus on logic, not syntax.

65
New cards

Bugs/Errors

Sometimes the design of the algorithm is flawed, leading to a program that misperforms. Other times, the algorithm is sound, but the program fails to accurately implement it in the chosen programming language. Both of these are examples of bugs.

66
New cards

Ambiguous

Describes a statement whose exact meaning can be interpreted in different ways. For example, "The girl saw a man on the hill with a telescope"

67
New cards

Moore's Law

Moore noted that as the manufacturing tools and processes miniaturized over time, we were able to pack more and more of these tiny components into the same amount of space. Specifically, he observed that the number of transistors that could fit on a silicon chip roughly doubled every one to two years.

68
New cards

Exponential

A graph whose slope increases or decreases according to a linear function. For example, "X^2".

69
New cards

Heuristics

A problem solver's "Rules of Thumb"; they serve as general guidelines meant to encourage progress toward a good answer, but with no guarantee of actually generating "the correct answer".

70
New cards

Linear

As the size of a problem grows, the amount of work required grows at approximately the same rate.

71
New cards

Logarithmic

Every doubling of the size of a problem only requires one extra unit of work.

72
New cards

Constant

No matter how much a problem grows, the amount of work stays more or less the same.

73
New cards

The Halting Problem

Proved by Alan Turing to be computationally undecidable. He states that you cannot write a program that will tell you which computer programs will halt (i.e., exit) and which ones will continue forever (i.e., infinitely loop).

74
New cards

Quadratic

As the size of a problem grows, the amount of extra work required increases much more quickly.

75
New cards

Scalability

How well an algorithm performs at larger and larger scales.

76
New cards

Efficiency

How much work an algorithm requires to find the solution.

77
New cards

Social Networking

A virtual world which allows for communication between friends, family, and strangers with similar interests who in the past would have never crossed paths with you.

78
New cards

Public Communication

Information is available to anybody at anytime such as a web site.

79
New cards

Private Communication

Allow one individual to specify their intended contact(s) and limit the conversation to just those parties. employ encryption so that the digital information that makes up the communication signal is encoded before it is transmitted across the Internet and then decoded only after it reaches its destination.

80
New cards

Simple Mail Transfer Protocol (SMTP)

Defines how all email transmission is handled, actually does not ensure total privacy. In fact, as an email message is transmitted from node to node throughout the public network of routers and gateways across the Internet, the contents of the messages are exposed in plain text.

81
New cards

Open Platform

Do not have a single owner calling the shots. Instead, they might have a centralized committee of interested partners to coordinate and manage the development and growth of the platform. Can often involve Open Source Code which can be edited by anyone for their needs such as the Linux operating system.

82
New cards

Closed Platform

Each company controls the data that they store and strictly regulates how that data can be accessed and modified by its users. For example you cant edit the Mac OS.

83
New cards

Asymmetric Relationship

These relationships are one-way, requiring action by only one party to create the relationship. Such as following a person on Twitter or subscribing on YouTube.

84
New cards

Public Key Encryption

Allows the generation of two keys: a public key (made available publically) and a private key (known only by the owner).

85
New cards

Certificate Authorities

Issue digital certificates that validate the ownership of encrypted keys used in secured communications and are based on a trust model.

86
New cards

Symmetric Relationship

involves mutual actions by both parties in the relationship. Such as 'friending' a person on Facebook.

87
New cards

Symmetric Key Encryption

Involves both parties using the same key to encrypt and decrypt data. Such as in a Caesar Cipher.

88
New cards

Metadata

Data about data. Can be descriptive data about an image, a Web page, or other complex objects. For example sorting a music collection alphabetically so albums can be easily found.

89
New cards

Wikis

A platform in which multiple users are able to collectively contribute to a shared knowledge base. Rather than presenting its information through the filter or with the bias of a centralized editorial control, they rely on peer-based writing, fact checking, editing, and moderation thereby giving everyone a voice.

90
New cards

Commerce

The activity of buying and selling, especially on a large scale.

91
New cards

Crowdfunding

Uses online access to customers as a means of funding projects. Sites like Kickstarter and Indiegogo were created to enable innovators a way of reaching out to potential customers and recruiting them as backers who might help make their idea a reality by providing initial "investment" funding.

92
New cards

Cloud Computing

The ability to "offload" large amounts of computational and data storage efforts onto remotely hosted servers and online services.

93
New cards

Client

Stands at one end of the communication process and typically represents the end-user.

94
New cards

Server

A centralized computer that all individual end users connect to. In other words, the server serves the needs of its clients (i.e., users).

95
New cards

Digital Divide

Describes the gap that exists between those who have sufficient access to information and communication technologies and those who do not. The four primary reasons are physical resources, opportunity, digital literacy, and digital skills.

96
New cards

Bandwith

A measure of bit rate — the amount of data (measured in bits) that can be sent in a fixed amount of time.

97
New cards

Latency

The time elapsed between the transmission and the receipt of a request.

98
New cards

Nodes

A machine or device that acts as either a communication endpoint (e.g., a client computer or a remote server), a connection point that links together two other nodes (e.g., a gateway, bridge, or modem), or a redistribution point that links together multiple nodes and other networks (e.g., a router, hub, or switch).

99
New cards

Protocols

A set of formal standards that specify the proper formatting of data, communication procedures, and handling of information between any two networked components.

100
New cards

Application Program Interface (API)

Simplify complex programming tasks by providing developers the building blocks necessary to interface with an existing environment or other software components.