APComputerSciencePrinciplesFullExam StudyGuide
APComputerSciencePrinciplesFullExam StudyGuide
Key Terms
Algorithm
Algorithms are used in various fields, such as mathematics, engineering, and finance.
Algorithms depend on inputs and produce outputs based on the given instructions.
Efficient algorithms aim to minimize time and resources required to solve a problem.
The complexity of an algorithm is measured by the time and space it takes to execute.
Compression
Compression is a technique used to reduce the size of data files, making them easier to store
and transmit.
Lossless compression preserves all original data while lossy compression discards some
details to achieve higher compression ratios.
Common compression algorithms include ZIP, GZIP, and RAR.
Lossless compression algorithms include LZW, Huffman coding, and Run-Length Encoding
(RLE).
Compression can be done on various types of data, including text, images, audio, and video
files.
Computing Bias
Computing Bias refers to the potential for algorithms and systems to produce discriminatory
results or reinforce societal biases based on race, gender, or other protected characteristics.
Unintentional biases can be introduced into algorithms through biased training data or biased
decision-making criteria.
Computing bias can perpetuate and amplify societal biases, leading to unfair outcomes and
discrimination.
To mitigate computing bias, it is important to thoroughly assess and address biases in the
development and deployment of algorithms.
Various techniques, such as diversifying training data, conducting fairness audits, and
promoting inclusive design principles can help reduce computing bias.
Concurrency
Concurrency refers to the execution of multiple tasks or processes at the same time, enabling
efficient use of system resources.
Data Backup
Data backup involves making copies of important digital files to protect against data loss.
Data backups can be stored on external devices, such as hard drives or cloud storage.
Regularly scheduled backups can help ensure that recent versions of files are preserved.
Full backups copy all files, while incremental backups only copy files that have changed since
the last backup.
Data loss can occur due to hardware failure, software issues, human error, or natural
disasters.
Data Recovery
Data recovery refers to the process of retrieving lost or corrupted data from storage devices,
such as hard drives or solid-state drives.
Decision Trees
Decision Trees are graphical models that represent decision making tasks, where each internal
node tests an attribute, each branch corresponds to an outcome, and each leaf node represents
a class label.
Decision Trees are commonly used in machine learning and data mining to solve
classification and regression problems.
Decision Trees are easy to understand and interpret, making them popular in various
domains.
Decision Trees can handle both categorical and numerical variables.
Decision Trees can be used for both binary and multi-class classification problems.
Digital Divide
Digital Divide refers to the inequality in access to and use of digital technologies, resulting in
disparities in information, resources, and opportunities.
Factors contributing to the digital divide include socioeconomic status, geographical location,
age, and educational attainment.
The digital divide can hinder access to education, job opportunities, and essential services.
Efforts to bridge the digital divide include initiatives to increase internet connectivity, promote
digital literacy, and provide access to technology in underserved areas.
The COVID-19 pandemic has highlighted and exacerbated existing digital divide issues,
particularly for low-income and marginalized communities.
Distributed Computing
Error Handling
Error handling is a process in programming that ensures programs can handle and recover from
unexpected problems.
Graphs
Graphs are a data structure composed of nodes and edges, used to represent relationships
between different objects.
Nodes in a graph can hold any type of data and are connected by edges.
Graphs can be directed (edges have a specific direction) or undirected (edges have no
direction).
Graphs can be weighted, meaning that each edge has a value or cost associated with it.
Graphs can be cyclic (contain cycles) or acyclic (do not contain cycles).
Information
In the context of data and knowledge, information refers to processed and organized data that
has meaning and relevance.
Data is raw and unprocessed, whereas information is processed and organized data.
Information can be converted back into data through a reverse process called deprocessing.
Information is used to make decisions, communicate, and gain knowledge.
The quality of information depends on factors like accuracy, timeliness, relevance, and
completeness.
Internet
The Internet is a global network of interconnected computers that allows for communication and
sharing of information.
The Internet is a decentralized network, meaning it does not have a central authority.
It is based on the Internet Protocol Suite.
The World Wide Web is a subset of the Internet, consisting of websites and web pages.
The Internet has revolutionized communication and has become an indispensable tool for
businesses and individuals.
IP Address
IP addresses are divided into two main types: IPv4 (32-bit) and IPv6 (128-bit).
IPv4 addresses are written in the form of four groups of numbers separated by periods, while
IPv6 addresses are written in the form of eight groups of hexadecimal digits separated by
colons.
IP addresses can be static (permanent) or dynamic (temporarily assigned by a DHCP server).
Internet Service Providers (ISPs) allocate IP addresses to their customers to provide internet
connectivity.
IP addresses can be used to track the approximate location of a device by identifying the
geographical region connected to that IP address.
Loop
A loop in programming allows a set of instructions to be repeated multiple times until a condition
is met.
A loop can be used to iterate over a list or array of values to perform the same operation on
each element.
There are several types of loops, including 'for' loops, 'while' loops, and 'do-while' loops.
Infinite loops occur when the loop condition is always true, causing the loop to run
indefinitely.
Nested loops are loops that are placed inside another loop, allowing for more complex
iterations.
Memory Management
It involves keeping track of each byte in a system's memory and whether it is currently being
used.
It decides which processes will receive memory, when they will receive it and how much they
will get.
Its performance can greatly impact the efficiency of a system.
Improper memory management can lead to issues like memory leaks, causing programs to
use up more memory than necessary.
Networking
Networks can be classified into local area networks (LANs) and wide area networks (WANs).
The Internet is the largest and most well-known network, connecting millions of devices
worldwide.
Networking protocols like TCP/IP govern how data is transmitted and received across
networks.
Network security measures such as firewalls and encryption are necessary to protect data
from unauthorized access.
Open Source
In the context of software, 'open source' refers to a type of code that is freely available for use,
modification, and distribution.
Parallel Computing
Parallel computing refers to the use of multiple processing elements simultaneously to solve a
computational problem.
Program Design
Program design involves planning and creating a structured set of instructions to solve a
problem efficiently.
Breaking down tasks into smaller steps helps organize the program flow.
Consideration of data structures and algorithms is crucial for effective program design.
Modular design approach promotes code reusability and maintainability.
Testing and debugging should be integrated throughout the program design process.
Recursive Function
A recursive function is a function that calls itself to solve a problem by breaking it down into
smaller instances until a base case is reached.
A recursive function consists of a base case, which terminates the recursion, and a recursive
case, which contains the recursive call.
Recursive functions can solve problems that can be divided into smaller sub-problems of the
same nature.
Recursive functions often lead to more concise and elegant code compared to iterative
solutions.
However, recursive functions can be less efficient in terms of time and space complexity
compared to iterative solutions.
Safe Computing
Safe computing involves securing data, protecting against malware, and keeping personal
information safe from unauthorized access.
Simulation
Simulation involves modeling real-world processes or systems using computer programs to
imitate their behavior and study outcomes.
Syntax
Syntax refers to the set of rules that dictate how programming languages are structured and
formed.
Syntax ensures that code is written in a way that is understandable by both the computer and
the programmer.
Syntax errors occur when code does not conform to the rules of the programming language.
Syntax includes elements such as keywords, punctuation, and indentation.
Syntax is important for achieving clarity, readability, and maintainability in code.