AP Computer Science Principles Vocabulary
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.
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})
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.
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.
Abstraction
At a basic level, abstraction is the process of "removing detail." Allows for large problems to be feasibly solved.
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.
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.
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.
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.
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.
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.
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.
GIF (Lossy)
Supports transparency, reduces file sizes, can load in segments, can create animation. Significantly reduces color variability. Limited color images such as images or graphs.
Ciphertext
The encrypted message, formed by applying an encryption algorithm to the plaintext.
Plaintext
The original unencrypted message.
ASCII
This ASCII (American Standard Code for Information Interchange) table outlines a common set of conventions established for converting between binary values and alphanumeric characters.
Unicode
Unicode is a binary encoding system that can represent much more of the world's text than ASCII can. Unicode allows computers to represent most of the world languages' alphabets, not just English. The ASCII table includes 27 values (7 bits). Unicode includes 216 values (16 bits). which means: ASCII can represent 128 different characters. Unicode can represent 65,536 different characters!
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.
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.
JPG (Lossy)
Can decrease file sizes significantly, load in successively on web pages (blurry to crisp) Does not support transparency, too much quality can be lost making it visibly inferior. Photographs and Complex Images
SVG (Lossless)
Creates images which can scale in size wit no loss in quality. Uses a vector format which is not common. Images which must look clear on phone and television screens.
World Wide Web (WWW)
A content-oriented ecosystem that has been built atop the globally networked infrastructure of the Internet. It was designed primarily to provide an open platform that could provide uses from all over the world a standard and accessible means of communicating and sharing information online.
Lists
A data type which represents a countable number of ordered values, where the same value may occur more than once. Many objects can be easily stored in a list, and so lists have become a very useful and ubiquitous data structure in computer science.
Bandwith
A measure of bit rate — the amount of data (measured in bits) that can be sent in a fixed amount of time.
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.
Data Structure
A particular way of storing data.
Procedure
A procedure is a named collection of steps in an algorithm that can be reused anytime it is needed. A procedure is an abstraction because the details of how it is performed are only defined once. Repeated use of the procedure then ignores the details that define it.
Insertion Sort
A simple sorting algorithm that is relatively efficient for small lists and mostly sorted lists. It takes elements from the list one by one and inserts them into a new sorted list. It is the quickest for large data sets.
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.
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.
Repetition
A synonym for loop and iteration.
Scratch
A visual based programming language which uses block to represent lines of code. Allows beginner programmers to focus on logic, not syntax.
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.
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.
Binary
Binary code is another example of a dichotomous relationship. Binary code is represented with the two symbols 1 and 0. In binary code, if something isn't 1 then it must be 0 and vice versa. An example of what binary code looks like is 10110. Unlike the alphabet, which uses the characters A—Z or decimal numbers, which use the digits 0—9, binary uses only 1s and 0s to represent something. These 1s and 0s are referred to as bits (short for binary digits), and they are foundational to digital computing.
Psuedocode
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.
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.
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.
PNG (Lossless)
Decreases file size, advanced transparency, wide range of colors. Not all old browsers display these images the same. Images requiring transparency and fidelity, especially text
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.
Infinite Loop
Occurs when, in an if / then statement, the "then" code triggers the "If" condition. Thus, the set of code will repeat for eternity, or until the power shuts off.
Structured Data
On the other hand, structured data are easy to access and organize, but may lack the big picture and details that unstructured data may possess.
Index
Organizes based on ideas.