APCSP Review: Abstraction, Data, Algorithms, and Internet

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

1/103

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.

104 Terms

1
New cards

Abstraction

Reduces information and detail to facilitate focus on relevant concepts.

2
New cards

Data Representation Levels

Data is represented with multiple levels of abstraction.

3
New cards

Bits

At the lowest level, all digital data is represented by bits.

4
New cards

Byte

A byte is 8 bits.

5
New cards

Nibble

A 4 bits are called a nibble because it's half a byte.

6
New cards

Binary

All computational data (at the lowest level) is represented using binary (base 2) numbers.

7
New cards

Hexadecimal

Base 16 can be used to represent binary data because it makes it shorter with one hexadecimal digit representing 4 bits.

8
New cards

Base Conversions

Numbers can be converted from one base to any other base.

9
New cards

Overflow Errors

Finite representation of integers can lead to overflow errors when numbers exceed the size of the representation.

10
New cards

Round Off Errors

Finite representation of floating point values can lead to round off errors and other issues.

11
New cards

High Level Programming Language

Provides more abstractions to help the programmer, often translated into a lower level language for the computer to execute.

12
New cards

Logic Gate

A hardware abstraction that represents a Boolean function (like and/or).

13
New cards

Models and Simulations

Simplified representations that eliminate unnecessary detail; can reduce the cost of physical testing.

14
New cards

Analogue Data

Has values that change smoothly; an example is music.

15
New cards

Digital Data

Has discrete values.

16
New cards

Sampling

Approximates analogue data by sampling at frequent intervals and storing information at that interval.

17
New cards

Computer Programs

Used to process information and gain valuable insight.

18
New cards

Collaboration

Facilitated by online collaborative tools to understand and share information.

19
New cards

Metadata

Data about the data; for instance, sender, receiver, and time of a text message.

20
New cards

Big Data

Involves significant challenges in storing, processing, curating, structuring, and securing large data sets.

21
New cards

Scalability

Critical when data sets are large; techniques used to manipulate a data set must change when the size of the data set changes scale.

22
New cards

Compression

Reducing the size of the data using computational techniques

23
New cards

Lossless compression

Reducing the size of the data in such a way that the original data can be reconstructed exactly from the compressed version. Example - zipping a file is lossless compression. The file can be reproduced exactly as it was.

24
New cards

Lossy compression

Reducing the size of the data in such a way that the original data cannot be reconstructed exactly from the compressed version. Example - reducing the sample rate of a recording will reduce the size of the file, but some information is lost.

25
New cards

Data representations

Involve storage, security and privacy concerns. These issues create trade-offs when storing and transmitting data.

26
New cards

Storage Media

Choices affect how the data can be manipulated and the costs of doing so.

27
New cards

Algorithm

Precise sequence of instructions for processes to accomplish something.

28
New cards

Sequencing

Executing steps of an algorithm in the order the statements are given.

29
New cards

Iteration

The repetition of part of an algorithm.

30
New cards

Selection

Using a Boolean (true or false) condition to determine what part of an algorithm is used.

31
New cards

Limitations of Algorithms

Many problems can be solved in 'Reasonable Time'. Reasonable time (for CSP purposes ONLY!) is any polynomial amount of time.

32
New cards

Undecidable problems

Problems that CANNOT be solved AT ALL (even in 'unreasonable time') for all inputs.

33
New cards

Halting Problem

An undecidable problem that can have solutions for certain inputs, but CANNOT be solved for some inputs.

34
New cards

Evaluating Algorithms

The efficiency (time and space requirements) of an algorithm can be evaluated by reasoning mathematically about the algorithm.

35
New cards

Correctness of an algorithm

Determined by formal mathematical reasoning about the algorithm.

36
New cards

Searching Algorithms

You should be familiar with linear and binary search.

37
New cards

Linear search

Slower (in general), but can be used with any list.

38
New cards

Binary search

Faster (in general), but the list MUST BE SORTED.

39
New cards

Iterative Development

An iterative development process (creating and testing small segments of code) helps to develop a correct program.

40
New cards

Documentation

Useful when working individually or collaboratively to help develop and maintain useful programs.

41
New cards

Programmer

Someone who designs, implements, tests, debugs, and/or maintains programs.

42
New cards

Collaboration

Most programs outside a classroom setting are written collaboratively.

43
New cards

Algorithm

A precise set of instructions to accomplish some task, written in a programming language for execution by a computer.

44
New cards

Procedures

An abstraction of a named group of programming instructions.

45
New cards

Parameters

The input(s) for a procedure.

46
New cards

Concatenation

Combining two strings into one string.

47
New cards

Substring

Making part of one string a new string.

48
New cards

Integers and floating point numbers

Represented differently in computers; integers have a constrained range due to storage limitations, and floating point representations have finite precision.

49
New cards

Errors

Issues in code that can be categorized as syntax errors, logic errors, or runtime errors.

50
New cards

Syntax Error

An error in the code where the rules of the programming language were not followed.

51
New cards

Logic Error

An error in a program that causes it to behave unexpectedly.

52
New cards

Runtime Error

An error that appears during the execution of the program.

53
New cards

Lists

A way of storing a group of data values, with operations to add, remove, sort, and search.

54
New cards

API (Application Program Interface)

An interface that connects hardware/software to another piece of hardware/software.

55
New cards

Program Style

Meant to make it easier to read, understand, and debug a program, including line length and name formats.

56
New cards

Test Case

An example of possible inputs to a program along with the correct result.

57
New cards

Arithmetic Operations

Operations like add, subtract, multiply, divide, and exponentiation included in most programming languages.

58
New cards

Boolean Logic and Operations

Fundamental to programming, including operations like and, or, and not.

59
New cards

Numeric Operators

Basic arithmetic operators of add, subtract, multiply, and divide, including MOD for remainder in integer division.

60
New cards

ADT (abstract data type)

Allows operations to be performed without knowing exactly what type of data they are being performed on.

61
New cards

The Internet

A network of networks that connects computing devices all over the world.

62
New cards

DNS (Domain Name System)

The hierarchical system that is used to connect a domain name (like google.com) to an IP address that can be used to communicate over the Internet.

63
New cards

Protocols

Protocols are the procedures that are used to send data. The Internet functions as well as it does largely because of the standardization of protocols.

64
New cards

IETF (Internet Engineering Task Force)

The group that selects develops protocols for use with the Internet.

65
New cards

TCP (Transmission Control Protocol)

Deals with error checking and ordering IP packets.

66
New cards

UDP (User Datagram Protocol)

Faster than TCP but without the error checking.

67
New cards

IP (Internet Protocol)

Gets packets to the right place.

68
New cards

SMTP (Simple Mail Transfer Protocol)

Breaks email into packets.

69
New cards

HTTP (HyperText Transfer Protocol)

Breaks webpage into packets.

70
New cards

IP Address

Each device connected to the Internet has an IP Address. IP stands for Internet Protocol, and is used to get a packet from to where it needs to go.

71
New cards

IPv6

A new version of IP created to handle the number of devices connected to the Internet.

72
New cards

Bandwidth

The bit rate (bits per second) of the amount of data that can be sent in a fixed amount of time.

73
New cards

Latency

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

74
New cards

Trust Model

The trust model of the Internet involves trade-offs, such as assuming webpage requests are legitimate, which allows for DDoS attacks.

75
New cards

Cyber Security

Attempting to prevent keep yourself and information you consider private safe in the cyber world.

76
New cards

Phishing

Attempting to gain private information by pretending to be someone to whom private information is regularly disclosed.

77
New cards

DDoS (Distributed Denial of Service)

Preventing legitimate users from accessing an online resource by using many computers to request resources from those servers.

78
New cards

Cryptography

Cryptography is used to keep information private and is based on advanced mathematics.

79
New cards

Asymmetric (Public Key) Encryption

Each person has a Public and a Private Key; the public key is shared and the private key is NEVER shared.

80
New cards

Symmetric (Private Key) Encryption

There is only one key (a private key that is never shared) used to both encrypt and decrypt the data.

81
New cards

Digital signatures

CAs (Certificate Authorities) issue digital certificates which validate the ownership of encrypted keys.

82
New cards

Certificate Authorities (CAs)

Organizations that verify the ownership of a public key.

83
New cards

Private Key

A key used by the recipient to decrypt a message.

84
New cards

Public Key

A key used to encrypt a transmission that can only be decrypted with the corresponding private key.

85
New cards

Certificate Authority (CA)

An entity that verifies the identity of the sender in a public key infrastructure.

86
New cards

VPN (Virtual Private Network)

A service that provides a secure, encrypted connection to a server, allowing access to websites and information anonymously.

87
New cards

Cookies

Small files stored by websites on a user's computer to enhance user experience, which can also raise privacy concerns.

88
New cards

Digital Millennium Copyright Act (DMCA)

An act that manages copyrights in a digital world and exempts intermediaries from liability for infringement using their services.

89
New cards

Creative Commons

A license that simplifies sharing of work with various permissions for use.

90
New cards

Digital Divide

A social and economic gap between those with access to computers and the internet and those without.

91
New cards

Moore's Law

An observation that processing speed doubles approximately every 2 years.

92
New cards

Cloud Computing

Performing tasks remotely via the internet that could be done locally.

93
New cards

Internet of Things

An evolution of the internet connecting various devices beyond just computers.

94
New cards

Crowd Sourcing

Using the internet to allow many people to accomplish a task instead of hiring employees.

95
New cards

Citizen Science

Using crowd sourcing to assist in scientific research, often involving public participation.

96
New cards

Data Mining

The process of finding useful patterns or information within large datasets.

97
New cards

Machine Learning

A form of artificial intelligence that recognizes patterns in data that are difficult to discover otherwise.

98
New cards

Privacy Concern

Issues related to the potential for unauthorized access to personal information.

99
New cards

Intermediaries

Entities that facilitate communication or transactions between parties, often exempt from liability under DMCA.

100
New cards

Digital Rights Management (DRM)

Technologies used to control the use of digital content and devices after sale.