Browse the glossary using this index
Special | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | ALL
Model daily processes by creating and following algorithms (sets of step-by-step instructions) to complete tasks.
Model the way programs store and manipulate data by using numbers or other symbols to represent information.
Develop programs with sequences and simple loops, to express ideas or address a problem.
Decompose (break down) the steps needed to solve a problem into a precise sequence of instructions.
Develop plans that describe a program’s sequence of events, goals, and expected outcomes.
Give attribution when using the ideas and creations of others while developing programs.
Debug (identify and fix) errors in an algorithm or program that includes sequences and simple loops.
Using correct terminology, describe steps taken and choices made during the iterative process of program development.
Select and operate appropriate software to perform a variety of tasks, and recognize that users have different needs and preferences for the technology they use.
Use appropriate terminology in identifying and describing the function of common physical components of computing systems (hardware).
Describe basic hardware and software problems using accurate terminology.
Store, copy, search, retrieve, modify, and delete information using a computing device and define the information stored as data.
Collect and present the same data in various visual formats.
Identify and describe patterns in data visualizations, such as charts or graphs, to make predictions.
Compare how people live and work before and after the implementation or adoption of new computing technology.
Work respectfully and responsibly with others online.
Keep login information private, and log off of devices appropriately.
Explain what passwords are and why we use them, and use strong passwords to protect devices and information from unauthorized access.
Compare and refine multiple algorithms for the same task and determine which is the most appropriate.
Create programs that include sequences, events, loops, and conditionals.
Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.
Modify, remix, or incorporate portions of an existing program into one's own work, to develop something new or add more advanced features.
Use an iterative process to plan the development of a program by including others' perspectives and considering user preferences.
Observe intellectual property rights and give appropriate attribution when creating or remixing programs.
Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended.
Take on varying roles, with teacher guidance, when collaborating with peers during the design, implementation, and review stages of program development.
Describe choices made during program development using code comments, presentations, and demonstrations.
Model how computer hardware and software work together as a system to accomplish tasks.
Determine potential solutions to solve simple hardware and software problems using common troubleshooting strategies.
Organize and present collected data visually to highlight relationships and support a claim.
Use data to highlight or propose cause-and-effect relationships, predict outcomes, or communicate an idea.
Discuss computing technologies that have changed the world, and express how those technologies influence, and are influenced by, cultural practices.
Brainstorm ways to improve the accessibility and usability of technology products for the diverse needs and wants of users.
Seek diverse perspectives for the purpose of improving computational artifacts.
Use public domain or creative commons media, and refrain from copying or using material created by others without permission.
Model how information is broken down into smaller pieces, transmitted as packets through multiple devices over networks and the Internet, and reassembled at the destination.
Discuss real-world cybersecurity problems and how personal information can be protected.
Use flowcharts and/or pseudocode to address complex problems as algorithms.
Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.
Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.
Create procedures with parameters to organize code and make it easier to reuse.
Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
Incorporate existing code, media, and libraries into original programs, and give attribution.
Systematically test and refine programs using a range of test cases.
Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.
Document programs in order to make them easier to follow, test, and debug.
Design projects that combine hardware and software components to collect and exchange data.
Systematically identify and fix problems with computing devices and their components.
Represent data using multiple encoding schemes.
Collect data using computational tools and transform the data to make it more useful and reliable.
Refine computational models based on the data they have generated.
Compare tradeoffs associated with computing technologies that affect people's everyday activities and career options.
Discuss issues of bias and accessibility in the design of existing technologies.
Collaborate with many contributors through strategies such as crowdsourcing or surveys when creating a computational artifact.
Describe tradeoffs between allowing information to be public and keeping information private and secure.
Model the role of protocols in transmitting data across networks and the Internet.
Explain how physical and digital security measures protect electronic information.
Apply multiple methods of encryption to model the secure transmission of information.
Create prototypes that use algorithms to solve computational problems by leveraging prior student knowledge and personal interests.
Use lists to simplify solutions, generalizing computational problems instead of repeatedly using simple variables.
Justify the selection of specific control structures when tradeoffs involve implementation, readability, and program performance, and explain the benefits and drawbacks of choices made.
Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects.
Create artifacts by using procedures within a program, combinations of data and procedures, or independent but interrelated programs.
Systematically design and develop programs for broad audiences by incorporating feedback from users.
Evaluate licenses that limit or restrict use of computational artifacts when using resources such as libraries.
Evaluate and refine computational artifacts to make them more usable and accessible.
Design and develop computational artifacts working in team roles using collaborative tools.
Document design decisions using text, graphics, presentations, and/or demonstrations in the development of complex programs.
Explain how abstractions hide the underlying implementation details of computing systems embedded in everyday objects.
Compare levels of abstraction and interactions between application software, system software, and hardware layers.
Develop guidelines that convey systematic troubleshooting strategies that others can use to identify and fix errors.
Translate between different bit representations of real-world phenomena, such as characters, numbers, and images.
Evaluate the tradeoffs in how data elements are organized and where data is stored.
Create interactive data visualizations using software tools to help others better understand real-world phenomena.
Create computational models that represent the relationships among different elements of data collected from a phenomenon or process.
Evaluate the ways computing impacts personal, ethical, social, economic, and cultural practices.
Test and refine computational artifacts to reduce bias and equity deficits.
Demonstrate ways a given algorithm applies to problems across disciplines.
Use tools and methods for collaboration on a project to increase connectivity of people in different cultures and career fields.
Explain the beneficial and harmful effects that intellectual property laws can have on innovation.
Explain the privacy concerns related to the collection and generation of data through automated processes that may not be evident to users.
Evaluate the social and economic implications of privacy in the context of safety, law, or ethics.
Evaluate the scalability and reliability of networks, by describing the relationship between routers, switches, servers, topology, and addressing.
Give examples to illustrate how sensitive data can be affected by malware and other attacks.
Recommend security measures to address various scenarios based on factors such as efficiency, feasibility, and ethical impacts.
Compare various security measures, considering tradeoffs between the usability and security of a computing system.
Explain tradeoffs when selecting and implementing cybersecurity recommendations.
Describe how artificial intelligence drives many software and physical systems.
Implement an artificial intelligence algorithm to play a game against a human opponent or solve a problem.
Use and adapt classic algorithms to solve computational problems.
Evaluate algorithms in terms of their efficiency, correctness, and clarity.
Compare and contrast fundamental data structures and their uses.
Illustrate the flow of execution of a recursive algorithm.
Construct solutions to problems using student-created components, such as procedures, modules and/or objects.
Analyze a large-scale computational problem and identify generalizable patterns that can be applied to a solution.
Demonstrate code reuse by creating programming solutions using libraries and APIs.
Plan and develop programs for broad audiences using a software life cycle process.
Explain security issues that might lead to compromised computer programs.
Develop programs for multiple computing platforms.
Use version control systems, integrated development environments (IDEs), and collaborative tools and practices (code documentation) in a group software project.
Develop and use a series of test cases to verify that a program performs according to its design specifications.
Modify an existing program to add additional functionality and discuss intended and unintended implications (e.g., breaking other functionality).
Evaluate key qualities of a program through a process such as a code review.
Compare multiple programming languages and discuss how their features make them suitable for solving different types of problems.
Categorize the roles of operating system software.
Illustrate ways computing systems implement logic, input, and output through hardware components.
Use data analysis tools and techniques to identify patterns in data representing complex systems.
Select data collection tools and techniques to generate data sets that support a claim or communicate information.
Evaluate the ability of models and simulations to test and support the refinement of hypotheses.
Evaluate computational artifacts to maximize their beneficial effects and minimize harmful effects on society.
Evaluate the impact of equity, access, and influence on the distribution of computing resources in a global society.
Predict how computational innovations that have revolutionized aspects of our culture might evolve.
Debate laws and regulations that impact the development and use of software.
Describe the issues that impact network functionality (e.g., bandwidth, load, delay, topology).
Compare ways software developers protect devices and information from unauthorized access.