- EU 2.1 A variety of abstractions built on binary sequences can be used to represent all digital data.
- EU 2.2 Multiple levels of abstraction are used to write programs or create other computational artifacts.
- EU 2.3 Models and simulations use abstraction to generate new understanding and knowledge.
Start by reading through:
The above chapter readings include specific knowledge for EK's marked in bold. Work to include unmarked learning objectives in the CS Field Guide is currently in progress.
- EK 2.1.1A Digital data is represented by abstractions at different levels.
- EK 2.1.1B At the lowest level, all digital data are represented by bits.
- EK 2.1.1C At a higher level, bits are grouped to represent abstractions, including but not limited to numbers, characters, and color.
- EK 2.1.1D Number bases, including binary, decimal, and hexadecimal, are used to represent and investigate digital data.
EK 2.1.1E At one of the lowest levels of abstraction, digital data is represented in binary (base 2) using only combinations of the digits zero and one.
EK 2.1.1F Hexadecimal (base 16) is used to represent digital data because hexadecimal representation uses fewer digits than binary.
- EK 2.1.1G Numbers can be converted from any base to any other base.
EK 2.1.2A A finite representation is used to model the infinite mathematical concept of a number.
EK 2.1.2B In many programming languages, the fixed number of bits used to represent characters or integers limits the range of integer values and mathematical operations; this limitation can result in over flow or other errors.
EK 2.1.2C In many programming languages, the fixed number of bits used to represent real numbers (as floating-point numbers) limits the range of floating-point values and mathematical operations; this limitation can result in round off and other errors.
- EK 2.1.2D The interpretation of a binary sequence depends on how it is used.
- EK 2.1.2E A sequence of bits may represent instructions or data.
- EK 2.1.2F A sequence of bits may represent different types of data in different contexts.
- EK 2.2.1A The process of developing an abstraction involves removing detail and generalizing functionality.
- EK 2.2.1B An abstraction extracts common features from specific examples in order to generalize concepts.
- EK 2.2.1C An abstraction generalizes functionality with input parameters that allow software reuse.
- EK 2.2.2A Software is developed using multiple levels of abstractions, such as constants, expressions, statements, procedures, and libraries.
- EK 2.2.2B Being aware of and using multiple levels of abstraction in developing programs helps to more effectively apply available resources and tools to solve problems.
EK 2.2.3A Different programming languages offer different levels of abstraction.
EK 2.2.3B High-level programming languages provide more abstractions for the programmer and make it easier for people to read and write a program.
- EK 2.2.3C Code in a programming language is often translated into code in another (lower level) language to be executed on a computer.
- EK 2.2.3D In an abstraction hierarchy, higher levels of abstraction (the most general concepts) would be placed toward the top and lower level abstractions (the more specific concepts) toward the bottom.
- EK 2.2.3E Binary data is processed by physical layers of computing hardware, including gates, chips, and components.
EK 2.2.3F A logic gate is a hardware abstraction that is modeled by a Boolean function.
EK 2.2.3G A chip is an abstraction composed of low-level components and circuits that perform a specific function.
- EK 2.2.3H A hardware component can be low level like a transistor or high level like a video card.
- EK 2.2.3I Hardware is built using multiple levels of abstractions, such as transistors, logic gates, chips, memory, motherboards, special purpose cards, and storage devices.
- EK 2.2.3J Applications and systems are designed, developed, and analyzed using levels of hardware, software, and conceptual abstractions.
- EK 2.2.3K Lower level abstractions can be combined to make higher level abstractions, such as short message services (SMS) or email messages, images, audio files, and videos.
- EK 2.3.1A Models and simulations are simplified representations of more complex objects or phenomena.
- EK 2.3.1B Models may use different abstractions or levels of abstraction depending on the objects or phenomena being posed.
- EK 2.3.1C Models often omit unnecessary features of the objects or phenomena that are being modeled.
- EK 2.3.1D Simulations mimic real-world events without the cost or danger of building and testing the phenomena in the real world.
- EK 2.3.2A Models and simulations facilitate the formulation and refinement of hypotheses related to the objects or phenomena under consideration.
- EK 2.3.2B Hypotheses are formulated to explain the objects or phenomena being modeled.
- EK 2.3.2C Hypotheses are re ned by examining the insights that models and simulations provide into the objects or phenomena.
- EK 2.3.2D The results of simulations may generate new knowledge and new hypotheses related to the phenomena being modeled.
- EK 2.3.2E Simulations allow hypotheses to be tested without the constraints of the real world.
- EK 2.3.2F Simulations can facilitate extensive and rapid testing of models.
- EK 2.3.2G The time required for simulations is impacted by the level of detail and quality of the models and the software and hardware used for the simulation.
- EK 2.3.2H Rapid and extensive testing allows models to be changed to accurately reflect the objects or phenomena being modeled.