# Overview
**Data**
- Binary Numbers
- Data Compression
**Computer Systems and Networks**
- The Internet
# Learning Objectives
**Enduring Understanding**
**#DAT-1**
The way a computer represents data internally is different from the way the data are interpreted and displayed for the user. Programs are used to translate data into a representation more easily understood by people.
**#CSN-1**
Computer systems and networks facilitate the transfer of data.
## Binary Numbers
**#DAT-1.A**
Explain how data can be represented using bits.
**#DAT-1.B**
Explain the consequences of using bits to represent data.
**#DAT-1.C**
For binary numbers:
a. Calculate the binary (base 2) equivalent of a positive integer (base 10) and vice versa.
b. Compare and order binary numbers.
---
## Data Compression
**#DAT-1.D**
Compare data compression algorithms to determine which is best in a particular context.
---
## The Internet
**#CSN-1.A**
Explain how computing devices work together in a network.
**#CSN-1.B**
Explain how the Internet works.
**#CSN-1.C**
Explain how data are sent through the Internet via packets.
**#CSN-1.D**
Describe the differences between the Internet and the World Wide Web.
---
# Learning Series
## Series 1 - Digital Data
### Episode 1 - Bits & Bytes
**#DAT-1.A.1** Data values can be stored in variables, lists of items, or standalone constants and can be passed as input to (or output from) procedures.
**#DAT-1.A.2** Computing devices represent data digitally, meaning that the lowest-level components of any values are bits.
**#DAT-1.A.3** Bit is shorthand for binary digit and is either 0 or 1.
**#DAT-1.A.4** A byte is 8 bits.
**#DAT-1.A.5** Abstraction is the process of reducing complexity by focusing on the main idea.
By hiding details irrelevant to the question at hand and bringing together related and useful details, abstraction reduces complexity and allows one to focus on the idea.
**#DAT-1.A.6** Bits are grouped to represent abstractions. These abstractions include, but are not limited to, numbers, characters, and color.
**#DAT-1.A.7** The same sequence of bits may represent different types of data in different contexts.
### Episode 2 - Digital Side Effects
**#DAT-1.A.8** Analog data have values that change smoothly, rather than in discrete intervals, over time. Some examples of analog data include pitch and volume of music, colors of a painting, or position of a sprinter during a race.
**#DAT-1.A.9** The use of digital data to approximate real-world analog data is an example of abstraction.
**#DAT-1.A.10** Analog data can be closely approximated digitally using a sampling technique, which means measuring values of the analog signal at regular intervals called samples. The samples are measured to figure out the exact bits required to store each sample.
**#DAT-1.B.1** In many programming languages, integers are represented by a fixed number of bits, which limits the range of integer values and mathematical operations on those values. This limitation can result in overflow or other errors.
**#DAT-1.B.2** Other programming languages provide an abstraction through which the size of representable integers is limited only by the size of the computer's memory; this is the case for the language defined in the exam reference sheet.
**#DAT-1.B.3** In programming languages, the fixed number of bits used to represent real numbers limits the range and mathematical operations on those values; this limitation can result in round-off and other errors. Some real numbers are represented as approximations in computer storage.
## Series 2 - Data Compression
### Episode 1 - Using Binary
**#DAT-1.C.1** Number bases, including binary and decimal, are used to represent data.
**#DAT-1.C.2** Binary (base 2) uses only combinations of the digits 0 and 1.
**#DAT-1.C.3** Decimal (base 10) uses only combinations of the digits 0 - 9.
**#DAT-1.C.4** As with decimal, a digit's position in the binary sequence determines its numeric value. The numeric value is equal to the bit's value (0 or 1) multiplied by the place value of its position.
**#DAT-1.C.5** The place value of each position is determined by the base raised to the power of the position. Positions are numbered starting at the rightmost position with 0 and increasing by 1 for each subsequent position to the left.
### Episode 2 | Compression
**#DAT-1.D.1** Date compression can reduce the size (number of bits) of transmitted or stored data.
**#DAT-1.D.2** Fewer bits does not necessarily mean less information.
**#DAT-1.D.3** The amount of size reduction from compression depends on both the amount of redundancy in the original data representation and the compression algorithm applied.
**#DAT-1.D.4** Lossless data compression algorithms can usually reduce the number of bits stored or transmitted while guaranteeing complete reconstruction of the original data.
**#DAT-1.D.5** Lossy data compression algorithms can significantly reduce the number of bits stored or transmitted but only allow reconstruction of an approximation of the original data.
**#DAT-1.D.6** Lossy data compression algorithms can usually reduce the number of bits stored or transmitted more than lossless compression algorithms.
**#DAT-1.D.7** In situations where quality or ability to reconstruct the original is maximally important, lossless compression algorithms are typically chosen.
**#DAT-1.D.8** In situations where minimizing data size or transmission time is maximally important, lossy compression algorithms are typically chosen.
## Series 3 - The Internet
### Episode 1 - Networks
*Networks*
**#CSN-1.A.1** A computing device is a physical artifact that can run a program. Some examples include computers, tablets, servers, routers, and smart sensors.
**#CSN-1.A.2** A computing system is a group of computing devices and programs working together for a common purpose.
**#CSN-1.A.3** A computer network is a group of interconnected computing devices capable of sending or receiving data.
**#CSN-1.A.4** A computer network is a type of computing system.
**#CSN-1.A.5** A path between two computing devices on a computer network (a sender and a receiver) is a sequence of directly connected computing devices that begins at the sender and ends at the receiver.
**#CSN-1.A.6** Routing is the process of finding a path from sender to receiver.
**#CSN-1.A.7** The bandwidth of a computer network is the maximum amount of data that can be sent in a fixed amount of time.
**#CSN-1.A.8** Bandwidth is usually measured in bits per second.
*Packets*
**#CSN-1.C.1** Information is passed through the Internet as a data stream. Data streams contain chunks of data, which are encapsulated in packets.
**#CSN-1.C.2** Packets contain a chunk of data and metadata used for routing the packet between the origin and the destination on the Internet, as well as for data reassembly.
**#CSN-1.C.3** Packets may arrive at the destination in order, out of order, or not at all.
**#CSN-1.C.4** IP, TCP, and UDP are common protocols used on the Internet.
### Episode 2 - The Internet
*The Internet*
**#CSN-1.B.1** The Internet is a computer network consisting of interconnected networks that use standardized, open (nonproprietary) communication protocols.
**#CSN-1.B.2** Access to the Internet depends on the availability to connect a computing device to an Internet-connected device.
**#CSN-1.B.3** A protocol is an agreed-upon set of rules that specify the behavior of a system.
**#CSN-1.B.4** The protocols used in the Internet are open, which allows users to easily connect additional computing devices to the Internet.
**#CSN-1.B.5** Routing on the Internet is usually dynamic; it is not specified in advance.
**#CSN-1.B.6** The scalability of a system is the capacity for the system to change in size and scale to meet new demands.
**#CSN-1.B.7** The Internet was designed to be scalable.
*The World Wide Web*
**#CSN-1.D.1** The World Wide Web is a system of linked pages, programs, and files.
**#CSN-1.D.2** HTTP is a protocol used by the World Wide Web.
**#CSN-1.D.3** The World Wide Web uses the Internet.