AP Notes, Outlines, Study Guides, Vocabulary, Practice Exams and more!

AP Computer Science Principles Flashcards

Terms : Hide Images
8153542551Agile software developmentAn approach to software development that emphasizes a flexible and ready response to meet a shifting target.0
8153542552BenchmarkingRunning a program on many data sets to be sure its performance falls within required limits; timing the same algorithm on two different machines.1
8153542553Code libraryA collection of thoroughly tested object code for various useful tasks.2
8153542554CodingThe process of translating the detailed designs into computer code.3
8153542555Divide-and-conquerA 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.4
8153542556Empirical testingDesigning a special set of test cases and running the program using these test data.5
8153542557Executable moduleThe resulting object code after a linker inserts requested code from code libraries.6
8153542558External documentationAny materials assembled to clarify the program's design and implementation.7
8153542559Feasibility studyA step in the software development life cycle that evaluates a proposed project and compares the costs and benefits of various solutions.8
8153542560Integrated 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.9
8153542561Integration testingAfter 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.10
8153542562Internal documentationDocumentation that is part of the program code itself.11
8153542563Logic errorAn error in the algorithm used to solve a problem.12
8153542564Object codeMachine language instructions.13
8153542565Pair programmingInvolves 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 but also thinking about the overall approach.14
8153542566Problem specificationA step in the software development life cycle that involves developing a clear, concise, and unambiguous statement of the exact problem the software is to solve.15
8153542567Procedural languageA program written in a procedural language consists of sequences of statements that manipulate data items.16
8153542568Program design phaseA step in the software development life cycle that plans the structure of the software to be written.17
8153542569Program maintenanceThe process of adapting an existing software product due to errors, new system requirements, or changing user needs.18
8153542570Program verificationUsed 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.19
8153542571Regression testingIf 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.20
8153542572Runtime errorAn error that occurs when the program is run using certain sets of data that result in some illegal operation, such as dividing by zero.21
8153542573SemanticsThe meaning of correctly written programming statements.22
8153542574Source codeHigh-level language instructions.23
8153542575Syntax errorAn error that occurs because a program statement fails to follow the correct rules of syntax.24
8153542576Technical documentationDocumentation that enables programmers who later have to modify the program to understand the code.25
8153542577Third-generation languageAnother name for high-level programming language as opposed to machine language (first generation) or assembly language (second generation).26
8153542578Top-down decompositionA 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.27
8153542579SyntaxThe rules for exactly how programming statements must be written; the grammatical structure of a programming language28
8153542580Application(Java) A complete standalone program that resides and runs on a self-contained computer.29
8153542581External libraryA 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.30
8153542582Functional programming languagesViews 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.31
8153542583Knowledge baseFacts and rules about a certain domain of interest.32
8153542584Open sourceSoftware whose source code is freely available and may be used, distributed, or modified by anyone.33
8153542585RecursiveSomething that is defined in terms of "smaller versions" of itself.34
8153542586Computational modelA model constructed using algorithmic procedures implemented as computer programs.35
8153542587Computational steeringA procedure for using a computational model to improve the design of an actual system by continually resetting model parameters to improve system performance.36
8153542588Computer graphicsThe field of computer science that examines the technical problems of displaying visual images on a computer screen.37
8153542589Continuous modelA model of a system using mathematical equations that describe system performance as a continuous function of time t.38
8153542590Discrete event simulationA computational modeling technique that simulates the behavior of a system only at discrete points in time.39
8153542591Garbage in, garbage outThe 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.40
8153542592Scientific visualizationThe use of images and visualization techniques to make scientific data easier to interpret and understand.41
8153542593Simulation modelAnother term for a computational model.42
8153542594Statistical distributionThis is a mathematical function that describes the probability of a random quantity taking on certain values.43
8153542595Stochastic componentsParts of a model that display random behavior.44
8153542596Uniform random numberEvery value in the range from a to b has the same chance of occurring.45
8153542597AnalogyArguing about a problem by comparing it to a related problem, which you claim is very similar in terms of its ethical implications and consequences.46
8153542598ConsequentialismA school of thought in ethics that focuses on the consequences of an act to determine if the act is good or bad.47
8153542599CyberbullyingHumiliating, taunting, threatening or invading someone's privacy using the Internet, Web, or other type of electronic technology.48
8153542600EthicsThe study of how to decide if something is morally right or wrong.49
8153542601HacktivismHacking that is intended as political activism.50
8153542602Peer-to-peer file sharingThe 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).51
8153542603Computer scienceThe study of algorithms, including their mathematical properties, hardware and linguistic realizations, and their applications.52
8153542604Computing agentThe entity (machine, robot, person, or thing) that executes the steps of an algorithm.53
8153542605High-level programming languageA programming language that uses both natural language constructs and mathematical notation.54
8153542606Infinite loopThe repetitive execution of a block of operations that will never end. This is a fatal error when it occurs in an algorithm.55
8153542607Sequential operationAn algorithmic operation that carries out a single task and then moves on to the next operation in sequence.56
8153542608Algorithm discoveryThe 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.57
8153542609ComputationAn algorithmic operation that carries out a single numeric computation and stores the result.58
8153542610Conditional statementsOperations that ask a question and select the next instruction to carry out based on the answer to that question.59
8153542611Continuation conditionThe true/false condition that will determine when the iteration has been completed.60
8153542612Control operationsOperations that alter the normal sequential flow of control within an algorithm.61
8153542613InputAn operation that causes data values from the outside world to be brought into the algorithm.62
8153542614IterationThe repetitive execution of a block of operations.63
8153542615OutputAn operation that causes computed values to be sent to the outside world for viewing or saving.64
8153542616Primitive operationAn operation that can be directly understood by the computing agent executing the algorithm and which does not have to be further clarified or explained.65
8153542617PseudocodeA 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.66
8153542618SortingThe task of putting a list of values into numeric or alphabetical order.67
8153542619Boolean expressionAn expression that can evaluate only to true or false.68
8153542620GigabyteOne billion bytes.69
8153542621Programan algorithm that is written in a programming language that runs on a computer70
8153542622Control Structuresa block of programming that determines which part of the program is executed next. There are three types of structures: sequence, selection, and repetition.71
8153542623Computational Artifactan object created by a human being that involves the use of computation in some way, for example a mobile app or a web page.72
8153542624Event Driven Programminga programming approach whereby the program's behavior is controlled by writing code that responds to various events that occur, such as Button clicks.73
8153542625Hardwarethe large and small physical components that make up a computers such as the computer's keyboard or its processor.74
8153542626Softwarethe computer programs that make up a computer system such as the mobile apps we will be creating in this course.75
8153542627Abstractionone 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.76
8153542628Binary Numbera number written in the binary system, a system that uses only two digits, 0s and 1s.77
8153542629Blacklistin internet terminology, a generic term for a list of email addresses or IP addresses that are origination with known spammers78
8153542630Characterany symbol that requires one byte of storage79
8153542631Cyberspacea metaphor for describing the non-physical terrain created by computer systems80
8153542632Datadata 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 memory81
8153542633Data Centerare physical or virtual infrastructures used by enterprises to house computer, server and networking systems and components for the company's IT (information technology) needs82
8153542634Data Networka telecommunications network which allows computers to exchange data83
8153542635Disk Drivea randomly addressable and rewritable storage device84
8153542636Intellectual Propertyrefers to any property that is created using original thought. Traditional intellectual property include patents, copyrights, and trademarks.85
8153542637Networka group of two or more computer systems linked together86
8153542638Processorshort for microprocessor or CPU87
8153542639Social Networkinga 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 entities88
8153542640Whitelista generic name for a list of email address or IP addresses that are considered to be spam free89
8153542641Analoga device or system that represents changing values as continuously variable physical quantities90
8153542642ASCIIa code for representing English characters as numbers, with each letter assigned a number from 0 to 12791
8153542643Cloud Computingcomparable to grid computing, cloud computing relies on sharing resources rather than having local servers handle applications.92
8153542644Cryptographythe art of protecting information by transforming it into an unreadable format, called cipher text93
8153542645Digitalany 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.94
8153542646Digital Signal Processing(DSP) refers to manipulating analog information95
8153542647Downloadto copy data (usually an entire file) from a main source to a peripheral device96
8153542648Megabyteused to describe data storage, 1,048,576 bytes (abbreviated MB)97
8153542649Megapixelone million pixels, used in reference to the resolution of a graphics device98
8153542650Modelingprocess of representing a real-world object of phenomenon as a set of mathematical equations.99
8153542651OCRoptical character recognition, the branch of computer science that involves reading text from paper and translating the images into a form that the computer can manipulate100
8153542652Rasterthe rectangular area of a display screen actually being used to display images101
8153542653Renderrefers to the process of adding realism to a computer graphics by adding 3-D qualities, such as shadows and variations in color and shade.102
8153542654Spamspam is electronic junk mail or junk newsgroup postings103
8153542655Steganographythe art and science of hiding information by embedding messages within other, seemingly harmless messages104
8153542656Uploadto transmit data from a computer to a bulletin board service, mainframe, or network.105
8153542657BitSingle unit of information on a computer represent as a 0 or 1106
8153542658Bit RateThe number of bits that are conveyed or processed per unit of time107
8153542659LatencyThe time it takes for a signal to arrive108
8153542660BandwidthTransmission capacity, measured by bit rate109
8153542661FiberopticsMethod of transmitting data that utilizes light110
8153542662Copper WireMethod of transmitting data that utilizes electricity111
8153542663WiFiA wireless networking technology that utilizes radio waves to transmit information/data112
8153542664PrototypeA preliminary sketch of an idea or model for something new. It's the original drawing from which something real might be built or created.113
8153542665IP AddressA number assigned to any item that is connected to the Internet.114
8153542666PacketsSmall chunks of information that have been carefully formed from larger chunks of information.115
8153542667RouterA computer which receives messages traveling across a network and redirects them towards their intended destinations based on the addressing information included with the message.116
8153542668Transmission Control Protocol (TCP)Provides reliable, ordered, and error-checked delivery of a stream of packets on the internet. TCP is tightly linked with IP and usually seen as TCP/IP in writing.117
8153542669Domain Name System (DNS)An abbreviation for Domain Name System, the Internet's system for converting alphabetic names into numeric IP addresses.118
8153542670Hypertext Transfer Protocol (HTTP)The protocol used by the World Wide Web. It describes how messages are formatted and interchanged, and how web servers respond to commands.119
8153542671ServerA computer that awaits and responds to requests for data.120
8153542672ClientA computer that requests data stored on a server.121
8153542673Net NeutralityThe principle that Internet service providers should enable access to all content and applications regardless of the source, and without favoring or blocking particular products or websites.122
8153542674Internet CensorshipThe control or suppression of what can be accessed, published, or viewed on the Internet. It may be carried out by governments or by private organizations at the behest of government, regulators, or on their own initiative.123
8153542675NodeVertex; Represented by a labeled circle124
8153542676EdgeA line connecting two nodes125
8153542677CostWeight; The number associated with an edge that indicates distance, time, or estimated cost126
8153542678CycleA set of edges that begin at one node and can be followed through other nodes back where you started127
8153542679EfficiencyA measure of the number of steps per input size needed to complete an algorithm128
8153542680Routing TableA data table stored in a router that lists the routes to particular network destinations129
8153542681Minimum Spanning TreeDictates the shortest aggregate path from one node to every node A spanning tree connecting all nodes together with the minimum aggregate value of its edges.130
8153542682Internet Engineering Task Force (IETF)A group of volunteers, private citizens, government officials, etc. who promote internet standards131
8153542683AlgorithmA precise sequence of instructions for processes that can be executed by a computer132
8153542684FunctionA piece of code that you can easily call over and over again.133
8153542685APIa collection of commands made available to a programmer134
8153542686Documentationa description of the behavior of a command, function, library, API, etc.135
8153542687ParameterAn extra piece of information that you pass to the function to customize it for a specific need136
8153542688For LoopA particular kind of looping construct provided in many languages. Typically, a for loop defines a counting variable that is checked and incremented on each iteration in order to loop a specific number of times.137
8153542689LoopThe action of doing something over and over again.138
8153542690Bytetechnical term for 8 bits of data139
8153542691Kilobyte (KB)1000 bytes140
8153542692Megabyte (MB)1,000 kilobytes141
8153542693Terabyte (TB)1,000 gigabytes142
8153542694Petabyte (PB)1,000 terabytes143
8153542695.bmp(bitmap image file or bitmap) is a raster graphics image file format used to store digital images.144
8153542696.gif(acronym for Graphics Interchange Format) a bitmap image format which uses the LZW lossless data compression technique to reduce the file size without degrading the visual quality. Supports 8 bits per pixel for each image and animations.145
8153542697.jpg or .jpeg(acronym for Joint Photographic Experts Group), a commonly used lossy compression format for digital images, particularly for those images produced by digital photography. The format supports adjustable degrees of compression.146
8153542698.mp3an audio coding format for digital audio which uses a form of lossy data compression which works by reducing (or approximating) certain components of the audio that are considered to be beyond audible human hearing.147
8153542699.wav(Waveform Audio File Format) an audio coding format standard for storing an audio bitstream of uncompressed audio data.148
8153542700.txta computer format that is structured as a sequence of lines of electronic text.149
8153542701.zipan archive file format that supports lossless data compression; may contain one or more files or directories.150
8153542702.png(Portable Network Graphics) a raster graphics file format that supports lossless data compression.151
8153542703Heuristica problem solving approach (algorithm) to find a satisfactory solution where finding an optimal or exact solution is impractical or impossible.152
8153542704ImageA type of data used for graphics or pictures.153
8153542705MetadataData that describes other data. For example, a digital image my include metadata that describe the size of the image, number of colors, or resolution.154
8153542706PixelShort for "picture element" it is the fundamental unit of a digital image, typically a tiny square or dot which contains a single point of color of a larger image.155
8153542707Hexadecimal Number SystemA number system consisting of 16 distinct symbols — 0-9 and A-F — which can occur in each place value.156
8153542708LosslessA compression scheme in which every bit of the original data can be recovered from the compressed file.157
8153542709LossyA compression scheme in which "useless" or less-than-totally-necessary information is thrown out in order to reduce the size of the data. The eliminated data is unrecoverable.158
8153542710RGBthe color model that uses varying intensities of (R)ed, (G)reen, and (B)lue light added together in order to reproduce a broad array of colors.159
8153542711File extensionsthe endings of file names that indicate to the computer the format for how the underlying bits are organized.160
8153542712Computationally Hard ProblemA problem that can not be solved in a reasonable amount of time. Heuristics are often used to create an approximate or good enough solution.161
8153542713InnovationA novel or improved idea, device, product, etc. or the development thereof162
8153542714Moore's Lawthe observation that computing power roughly doubles every two years.163
8153542715Big Dataa broad term for datasets so large or complex that traditional data processing applications are inadequate.164
8153542716Cipherthe generic term for a technique (or algorithm) that performs encryption165
8153542717Cracking encryptionWhen you attempt to decode a secret message without knowing all the specifics of the cipher.166
8153542718Decryptiona process that reverses encryption, taking a secret message and reproducing the original plain text167
8153542719Encryptiona process of encoding messages to keep them secret, so only "authorized" parties can read it.168
8153542720Asymmetric encryptionused in public key encryption, it is scheme in which the key to encrypt data is different from the key to decrypt.169
8153542721Public Key EncryptionUsed prevalently on the web, it allows for secure messages to be sent between parties without having to agree on, or share, a secret key. It uses an asymmetric encryption scheme in which the encryption key is made public, but the decryption key is kept private.170
8153542722Digital Dividethe gulf between those who have ready access to computers and the Internet, and those who do not.171
8153542723HypothesisA proposed explanation for some phenomenon used as the basis for further investigation.172
8153542724Search TrendsComparison of the popularity of topical queries in an online search engine as they relate to time.173
8153542725VisualizationImages, diagrams, tables, etc created from information extracted from a given data set, with the express intention of highlighting a data story.174
8153542726Pivot TableThe name of the tool used by most spreadsheet programs to create a summary table.175
8153542727READMEA document providing background information about a dataset.176
8153542728CSVAbbreviation of "comma-separated values," this is a widely-used format for storing data.177
8153542729Raw dataThe original data as it was collected.178
8153542730Summary tableA table of aggregate information about a dataset (e.g., the average, sum, count of some values).179
8153542731Filtertool/technique using dynamic parameters for reducing a data set to viewing only similar items in a row or column.180
8153542732AggregationA computation in which rows from a data set are grouped together and used to compute a single value of more significant meaning or measurement. Common aggregations include: Average, Count, Sum, Max, Median, etc.181
8153542733Binary questiona question where there are only two possible answers182
8153542734ProtocolA set of rules governing the exchange or transmission of data between devices.183
8153542735ASCIIIThe universally recognized raw text format that any computer can understand184
8153542736American Standard Code for Information InterchangeWhat does ASCII stand for? (cap first letter)185
8153542737code(slang) to write instructions for a computer186
8153542738Redundancyrepetition of information or the inclusion of additional information to reduce errors in transmission.187
8153542739DNSThe service that translates URL's to IP addresses188
8153542740Domain name serviceDNS stands for...189
8153542741HTTPthe protocol used for transmitting web pages over the internet190
8153542742Hypertext transfer protocolHTTP stands for...191
8153542743TCPprovides reliable, ordered and error checked delivery of a stream of packets in the internet192
8153542744URLan easy to remember address for calling a web page193
8153542745OctalThe octal number system is base 8, using only digits 0 through 7.194
8153542746DecimalTraditional number system using digits 0-9.195
8153542747Iterative innovationIncremental or small improvement to an item196
8153542748Novel innovationImprovement that is new, creative and has not been done before "outside the box thinking."197
8153542749Vint CerfInternet pioneer who believed the Internet should be free and available to everyone198
8153542750Higher lower__________ level protocols use _______ levels without needing to understand precisely how they work. (space between each term)199
8153542751Lower higher_________ level protocols guarantee __________ level protocols will function without stating specifically how this will be accomplished.200
8153542752Creative Commonsone of several public copyright licenses that enable the free distribution of an otherwise copyrighted work. A CC license is used when an author wants to give people the right to share, use, and build upon a work that they have created.201
8153542753High Level Programming LanguageA programming language that enables a programmer to write programs that are more or less independent of a particular type of computer. Such languages are considered high-level because they are closer to human languages and further from machine languages. Examples: JavaScript, Java, FORTRAN202
8153542754Low Level Programming LanguageA programming language that provides little or no abstraction from a computer's instruction set architecture—commands or functions in the language map closely to processor instructions. Generally this refers to either machine code or assembly language.203
8153542755Fault tolerant networkThe ability to route around broken servers on the internet.204
8153542756Global VariableA variable whose scope is "global" to the program, it can be used and updated by any part of the code. Its global scope is typically derived from the variable being declared (created) outside of any function, object, or method.205
8153542757If StatementThe common programming structure that implements "conditional statements".206
8153542758Local VariableA variable with local scope is one that can only be seen, used and updated by code within the same scope. Typically this means the variable was declared (created) inside a function; includes function parameter variables.207
8153542759Callback functiona function specified as part of an event listener; it is written by the programmer but called by the system as the result of an event trigger.208
8153542760EventAn action that causes something to happen.209
8153542761User InterfaceThe visual elements of an program through which a user controls or communications the application. Often abbreviated UI.210
8153542762Data Type(ex: Number, Boolean, or String) a value's property that dictates how the computer will interpret it. For example 7+5 is interpreted differently from "7"+"5"211
8153542763Expressionis a combination of values and functions that are combined and interpreted by the compiler to create a new value212
8153542764VariableA placeholder for a piece of information that can change.213
8153542765DebuggingFinding and fixing problems in your algorithm or program.214
8153542766Conditionalsstatements that run under only certain conditions215
8153542767SelectionA generic term for a type of programming statement (usually an if-statement) that uses a Boolean condition to determine, or select, whether or not to run a certain block of statements.216
8153542768Concatentateto link together or join. Typically used when joining together text Strings in programming (e.g. "Hello, "+name)217
9603431173OSI (Open Systems Interconnection) Modela conceptual model that characterizes and standardizes the communication functions of a telecommunication or computing system without regard to its underlying internal structure and technology.218
9603448560Stepwise Refinementway of developing a computer program by first describing general functions, then breaking each function down into details which are refined in successive steps until the whole program is fully defined. Also called top-down design. Invented by Niklaus Wirth in 1971219
9603508827Statementis just a standalone unit of execution and doesn't return anything220
9604226917Modulo Operationthe modulo operation finds the remainder after division of one number by another (sometimes called modulus). Given two positive numbers, a (the dividend) and n (the divisor), a modulo n (abbreviated as a mod n) is the remainder of the Euclidean division of a by n.221
9830855283Map Reduceuses a parallel distributed algorithm to process large amounts of data222
9830864105Asynchronous DataData saved remotely causing a delayed response223
9830868711Synchronous DataData is saved locally and is instantaneous224
9830892373Vint Cerf's 2002 ManifestoThe Internet is for Everyone225
13867854069SSID (service set identifier)is the primary name associated with an 802.11 wireless local area network (WLAN) including home networks and public hotspots.226
13868537890Trojian Horseis a type of malware that is often disguised as legitimate software. Trojans can be employed by cyber-thieves and hackers trying to gain access to users' systems. Users are typically tricked by some form of social engineering into loading and executing Trojans on their systems.227
13868719376Social Engineeringtechniques that trick a person into disclosing confidential information228
13868983432Undecidable problemWhere no algorithm can be made that always leads to a correct yes or no answer.229
13869031568Operationalized analyticsbusiness process for processing large data sets230
13869037509Basic analyticsprocessing large stat sets using data manipulation, simple visualizations, and monitoring231
13869046523Monetized anaylyticsprocessing large data sets to drive revenue growth232
13869056172Advanced analyticsprocessing large data sets by doing predictive modeling and pattern matching233

Need Help?

We hope your visit has been a productive one. If you're having any problems, or would like to give some feedback, we'd love to hear from you.

For general help, questions, and suggestions, try our dedicated support forums.

If you need to contact the Course-Notes.Org web experience team, please use our contact form.

Need Notes?

While we strive to provide the most comprehensive notes for as many high school textbooks as possible, there are certainly going to be some that we miss. Drop us a note and let us know which textbooks you need. Be sure to include which edition of the textbook you are using! If we see enough demand, we'll do whatever we can to get those notes up on the site for you!