## Computer Science Metrics

#### AL-01 Analyze best, average, and worst-case behaviors of an algorithm. [Analyzing]

Emerging Standard

Illustrate best, average, and worst-case behaviors of an algorithm. [Applying]

Illustrate best, average, and worst-case behaviors of an algorithm. [Applying]

Developed Standard

Analyze best, average, and worst-case behaviors of an algorithm. [Analyzing]

Analyze best, average, and worst-case behaviors of an algorithm. [Analyzing]

Highly Developed Standard

Evaluate best, average, and worst-case behaviors of an algorithm. [Evaluating]

Evaluate best, average, and worst-case behaviors of an algorithm. [Evaluating]

#### AL-02 Estimate time and space complexities for a given algorithm using Big-O notation. [Evaluating]

Emerging Standard

Distinguish between time and space complexities for a given algorithm. [Analyzing]

Distinguish between time and space complexities for a given algorithm. [Analyzing]

Developed Standard

Estimate time and space complexities for a given algorithm using Big-O notation. [Evaluating]

Estimate time and space complexities for a given algorithm using Big-O notation. [Evaluating]

Highly Developed Standard

Critique time and space complexities of several algorithms using Big-O and other notations. [Evaluating]

Critique time and space complexities of several algorithms using Big-O and other notations. [Evaluating]

#### AL-03 Contrast standard complexity classes. [Analyzing]

Emerging Standard

Illustrate a few of the standard complexity classes. [Applying]

Illustrate a few of the standard complexity classes. [Applying]

Developed Standard

Contrast standard complexity classes, such as logarithmic, linear, quadratic, and exponential. [Analyzing]

Contrast standard complexity classes, such as logarithmic, linear, quadratic, and exponential. [Analyzing]

Highly Developed Standard

Judge standard complexity classes as either ”efficient" or "inefficient" algorithms. [Evaluating]

Judge standard complexity classes as either ”efficient" or "inefficient" algorithms. [Evaluating]

#### AL-04 Analyze the performances of an algorithm with various input sizes. [Analyzing]

Emerging Standard

Discuss the performances of an algorithm with various input sizes. [Understanding]

Discuss the performances of an algorithm with various input sizes. [Understanding]

Developed Standard

Compare the performances of an algorithm with various input sizes. [Analyzing]

Compare the performances of an algorithm with various input sizes. [Analyzing]

Highly Developed Standard

Assess the performances of an algorithm with various input sizes [Evaluating]

Assess the performances of an algorithm with various input sizes [Evaluating]

#### AL-05 Apply an appropriate algorithmic approach to a given problem. [Applying]

Emerging Standard

Demonstrate an algorithmic approach to a given problem. [Understanding]

Demonstrate an algorithmic approach to a given problem. [Understanding]

Developed Standard

Apply an appropriate algorithmic approach to a given problem, such as brute-force, greedy, recursive, divide-and-conquer, and dynamic programming. [Applying]

Apply an appropriate algorithmic approach to a given problem, such as brute-force, greedy, recursive, divide-and-conquer, and dynamic programming. [Applying]

Highly Developed Standard

Analyze the tradeoffs of various algorithmic approaches to a given problem. [Analyzing]

Analyze the tradeoffs of various algorithmic approaches to a given problem. [Analyzing]

#### AL-06 Investigate the use of random/pseudo random number generation in cybersecurity applications. [Applying]

Emerging Standard

Describe the use of random numbers in cybersecurity applications. [Understanding]

Describe the use of random numbers in cybersecurity applications. [Understanding]

Developed Standard

Investigate the use of random/pseudo random number generation in cybersecurity applications, such as password generation and data encryption. [Applying]

Investigate the use of random/pseudo random number generation in cybersecurity applications, such as password generation and data encryption. [Applying]

Highly Developed Standard

Analyze the use of random/pseudo random number generation in a range of cybersecurity applications. [Analyzing]

Analyze the use of random/pseudo random number generation in a range of cybersecurity applications. [Analyzing]

#### AL-07 Implement basic numerical algorithms. [Applying]

Emerging Standard

Describe the use of basic numerical algorithms. [Understanding]

Describe the use of basic numerical algorithms. [Understanding]

Developed Standard

Implement basic numerical algorithms, such as min, max, and mode. [Applying]

Implement basic numerical algorithms, such as min, max, and mode. [Applying]

Highly Developed Standard

Develop complex numerical algorithms. [Creating]

Develop complex numerical algorithms. [Creating]

#### AL-08 Implement common search algorithms, including linear and binary searches. [Applying]

Emerging Standard

Exemplify common search algorithms, including linear and binary searches. [Understanding]

Exemplify common search algorithms, including linear and binary searches. [Understanding]

Developed Standard

Implement common search algorithms, including linear and binary searches. [Applying]

Implement common search algorithms, including linear and binary searches. [Applying]

Highly Developed Standard

Compare the efficiency of common search algorithms, including linear and binary searches. [Analyzing]

Compare the efficiency of common search algorithms, including linear and binary searches. [Analyzing]

#### AL-09 Implement common sorting algorithms, including iterative, quadratic, and recursive. [Applying]

Emerging Standard

Exemplify common sorting algorithms, including iterative, quadratic, and recursive. [Understanding]

Exemplify common sorting algorithms, including iterative, quadratic, and recursive. [Understanding]

Developed Standard

Implement common sorting algorithms, including iterative, quadratic, and recursive. [Applying]

Implement common sorting algorithms, including iterative, quadratic, and recursive. [Applying]

Highly Developed Standard

Compare the efficiency of common sorting algorithms, including iterative, quadratic, and recursive. [Analyzing]

Compare the efficiency of common sorting algorithms, including iterative, quadratic, and recursive. [Analyzing]

#### AL-10 Implement hash tables, including collision avoidance and resolution. [Applying]

Emerging Standard

Explain the general idea of a hash table. [Understanding]

Explain the general idea of a hash table. [Understanding]

Developed Standard

Implement hash tables, including collision avoidance and resolution. [Applying]

Implement hash tables, including collision avoidance and resolution. [Applying]

Highly Developed Standard

Compare common collision resolution techniques for hash tables. [Analyzing]

Compare common collision resolution techniques for hash tables. [Analyzing]

#### AL-11 Explain the runtime and memory efficiency of principal sorting, searching, and hashing functions. [Understanding]

Emerging Standard

Summarize the runtime and memory efficiency of either a sorting, a searching, or a hashing function. [Understanding]

Summarize the runtime and memory efficiency of either a sorting, a searching, or a hashing function. [Understanding]

Developed Standard

Explain the runtime and memory efficiency of principal sorting, searching, and hashing functions. [Understanding]

Explain the runtime and memory efficiency of principal sorting, searching, and hashing functions. [Understanding]

Highly Developed Standard

Analyze the runtime and memory efficiency of principal sorting, searching, and hashing functions. [Analyzing]

Analyze the runtime and memory efficiency of principal sorting, searching, and hashing functions. [Analyzing]

#### AL-12 Investigate factors other than computational efficiency that influence the choice of algorithms. [Applying]

Emerging Standard

Describe factors other than computational efficiency that ought to be considered when choosing an algorithm. [Understanding]

Describe factors other than computational efficiency that ought to be considered when choosing an algorithm. [Understanding]

Developed Standard

Investigate factors other than computational efficiency that influence the choice of algorithms, such as programming time, maintainability, and the size and patterns of input data. [Applying]

Investigate factors other than computational efficiency that influence the choice of algorithms, such as programming time, maintainability, and the size and patterns of input data. [Applying]

Highly Developed Standard

Critique factors other than computational efficiency that influence the choice of algorithms. [Evaluating]

Critique factors other than computational efficiency that influence the choice of algorithms. [Evaluating]

#### AL-13 Compare various data structures for a given problem. [Analyzing]

Emerging Standard

Investigate a few data structures for a given problem. [Applying]

Investigate a few data structures for a given problem. [Applying]

Developed Standard

Compare various data structures for a given problem, such as array, list, set, map, stack, queue, hash table, tree, and graph. [Analyzing]

Compare various data structures for a given problem, such as array, list, set, map, stack, queue, hash table, tree, and graph. [Analyzing]

Highly Developed Standard

Justify a choice of data structure for a given problem. [Evaluating]

Justify a choice of data structure for a given problem. [Evaluating]

#### AL-14 Investigate security vulnerabilities in various data structures. [Applying]

Emerging Standard

Summarize security vulnerabilities in various data structures [Understanding]

Summarize security vulnerabilities in various data structures [Understanding]

Developed Standard

Investigate security vulnerabilities in various data structures, such as out-of-bounds arrays and buffer overflows. [Applying]

Investigate security vulnerabilities in various data structures, such as out-of-bounds arrays and buffer overflows. [Applying]

Highly Developed Standard

Analyze security vulnerabilities in various data structures. [Analyzing]

Analyze security vulnerabilities in various data structures. [Analyzing]

#### AL-15 Write a regular expression to match a pattern. [Applying]

Emerging Standard

Explain the use of regular expressions in pattern matching. [Understanding]

Explain the use of regular expressions in pattern matching. [Understanding]

Developed Standard

Write a regular expression to match a pattern. [Applying]

Write a regular expression to match a pattern. [Applying]

Highly Developed Standard

Write a regular expression to perform complex pattern matching. [Applying]

Write a regular expression to perform complex pattern matching. [Applying]

#### AL-16 Describe the concept of finite state machines. [Understanding]

Emerging Standard

Recognize a finite state machine. [Remembering]

Recognize a finite state machine. [Remembering]

Developed Standard

Decribe the concept of finite state machines. [Understanding]

Decribe the concept of finite state machines. [Understanding]

Highly Developed Standard

Diagram a finite state machine. [Applying]

Diagram a finite state machine. [Applying]

#### AL-17 Explain why the halting problem has no algorithmic solution. [Understanding]

Emerging Standard

Recognize that some problems have no algorithmic solution. [Remembering]

Recognize that some problems have no algorithmic solution. [Remembering]

Developed Standard

Explain why the halting problem has no algorithmic solution. [Understanding]

Explain why the halting problem has no algorithmic solution. [Understanding]

Highly Developed Standard

Illustrate a proof of the halting problem. [Applying]

Illustrate a proof of the halting problem. [Applying]

#### AR-01 Diagram the digital components of computing architecture. [Applying]

Emerging Standard

Discuss some of the digital components of computing architecture. [Understanding]

Discuss some of the digital components of computing architecture. [Understanding]

Developed Standard

Diagram the digital components of computing architecture, such as logic gates, registers, and memory. [Applying]

Diagram the digital components of computing architecture, such as logic gates, registers, and memory. [Applying]

Highly Developed Standard

Evaluate the digital component design of a computing architecture for accuracy. [Evaluating]

Evaluate the digital component design of a computing architecture for accuracy. [Evaluating]

#### AR-02 Analyze alternative formats to represent numerical data. [Analyzing]

Emerging Standard

Explain reasons for using alternative formats to represent numerical data. [Understanding]

Explain reasons for using alternative formats to represent numerical data. [Understanding]

Developed Standard

Analyze alternative formats to represent numerical data. [Analyzing]

Analyze alternative formats to represent numerical data. [Analyzing]

Highly Developed Standard

Choose optimal formats to represent a given set of numerical data. [Evaluating]

Choose optimal formats to represent a given set of numerical data. [Evaluating]

#### AR-03 Illustrate how fixed-length number representations could affect accuracy and precision, causing vulnerabilities. [Applying]

Emerging Standard

Explain how fixed-length number representations could affect accuracy and precision, causing vulnerabilities. [Understanding]

Explain how fixed-length number representations could affect accuracy and precision, causing vulnerabilities. [Understanding]

Developed Standard

Illustrate how fixed-length number representations could affect accuracy and precision, causing vulnerabilities. [Applying]

Illustrate how fixed-length number representations could affect accuracy and precision, causing vulnerabilities. [Applying]

Highly Developed Standard

Examine how fixed-length number representations could affect accuracy and precision, causing vulnerabilities. [Analyzing]

Examine how fixed-length number representations could affect accuracy and precision, causing vulnerabilities. [Analyzing]

#### AR-04 Examine the internal representation of non-numeric data. [Analyzing]

Emerging Standard

Illustrate internal representation of non-numeric data. [Applying]

Illustrate internal representation of non-numeric data. [Applying]

Developed Standard

Examine the internal representation of non-numeric data, such as characters, strings, records, and arrays. [Analyzing]

Examine the internal representation of non-numeric data, such as characters, strings, records, and arrays. [Analyzing]

Highly Developed Standard

Estimate memory requirements for non-numeric data, such characters, strings, records, and arrays. [Evaluating]

Estimate memory requirements for non-numeric data, such characters, strings, records, and arrays. [Evaluating]

#### AR-05 Compare different methods for converting numerical data from one format to another. [Analyzing]

Emerging Standard

Convert numerical data from one format to another. [Understanding]

Convert numerical data from one format to another. [Understanding]

Developed Standard

Compare different methods for converting numerical data from one format to another, such as converting negative integers into sign-magnitude and two’s-complement representations. [Analyzing]

Compare different methods for converting numerical data from one format to another, such as converting negative integers into sign-magnitude and two’s-complement representations. [Analyzing]

Highly Developed Standard

Evaluate different methods for converting numerical data from one format to another. [Evaluating]

Evaluate different methods for converting numerical data from one format to another. [Evaluating]

#### AR-06 Decompose the organization and major functional units of the classical von Neumann machine. [Analyzing]

Emerging Standard

Diagram the organization of the classical von Neumann machine and its major functional units. [Applying]

Diagram the organization of the classical von Neumann machine and its major functional units. [Applying]

Developed Standard

Decompose the organization and major functional units of the classical von Neumann machine. [Analyzing]

Decompose the organization and major functional units of the classical von Neumann machine. [Analyzing]

Highly Developed Standard

Assess the organization of the classical von Neumann machine and its major functional units. [Evaluating]

Assess the organization of the classical von Neumann machine and its major functional units. [Evaluating]

#### AR-07 Diagram how high-level language patterns map to assembly/machine language, including subroutine calls. [Applying]

Emerging Standard

Summarize how high-level language patterns map to assembly/machine language, including subroutine calls. [Understanding]

Summarize how high-level language patterns map to assembly/machine language, including subroutine calls. [Understanding]

Developed Standard

Diagram how high-level language patterns map to assembly/machine language, including subroutine calls. [Applying]

Diagram how high-level language patterns map to assembly/machine language, including subroutine calls. [Applying]

Highly Developed Standard

Examine how high-level language patterns map to assembly/machine language, including subroutine calls. [Analyzing]

Examine how high-level language patterns map to assembly/machine language, including subroutine calls. [Analyzing]

#### AR-08 Create simple assembly language program segments. [Creating]

Emerging Standard

Implement simple assembly language program segments. [Applying]

Implement simple assembly language program segments. [Applying]

Developed Standard

Create simple assembly language program segments. [Creating]

Create simple assembly language program segments. [Creating]

Highly Developed Standard

Create complex assembly language program segments. [Creating]

Create complex assembly language program segments. [Creating]

#### AR-09 Demonstrate the basic concepts of interrupts and I/O operations. [Understanding]

Emerging Standard

List basic concepts of interrupts and I/O operations. [Remembering]

List basic concepts of interrupts and I/O operations. [Remembering]

Developed Standard

Demonstrate the basic concepts of interrupts and I/O operations. [Understanding]

Demonstrate the basic concepts of interrupts and I/O operations. [Understanding]

Highly Developed Standard

Implement basic concepts of interrupts and I/O operations. [Applying]

Implement basic concepts of interrupts and I/O operations. [Applying]

#### AR-10 Compare the cost and performance of different types of memory technology. [Analyzing]

Emerging Standard

Describe different types of memory technology. [Understanding]

Describe different types of memory technology. [Understanding]

Developed Standard

Compare the cost and performance of different types of memory technology, such as SRAM, DRAM, virtual, and cache. [Analyzing

Compare the cost and performance of different types of memory technology, such as SRAM, DRAM, virtual, and cache. [Analyzing

Highly Developed Standard

Critique the cost and performance of different types of memory technology. [Evaluating]

Critique the cost and performance of different types of memory technology. [Evaluating]

#### AR-11 Calculate the effect of memory latency on execution time across the memory hierarchy. [Applying]

Emerging Standard

Explain the effect of memory latency on execution time across the memory hierarchy. [Understanding]

Explain the effect of memory latency on execution time across the memory hierarchy. [Understanding]

Developed Standard

Calculate the effect of memory latency on execution time across the memory hierarchy. [Applying]

Calculate the effect of memory latency on execution time across the memory hierarchy. [Applying]

Highly Developed Standard

Examine the effect of memory latency on execution time across the memory hierarchy. [Analyzing]

Examine the effect of memory latency on execution time across the memory hierarchy. [Analyzing]

#### CN-01 Illustrate the concepts of modeling and abstraction with respect to problem solving. [Applying]

Emerging Standard

Explain the concepts of modeling and abstraction with respect to problem solving. [Understanding]

Explain the concepts of modeling and abstraction with respect to problem solving. [Understanding]

Developed Standard

Illustrate the concepts of modeling and abstraction with respect to problem solving. [Applying]

Illustrate the concepts of modeling and abstraction with respect to problem solving. [Applying]

Highly Developed Standard

Contrast the concepts of modeling and abstraction with respect to problem solving. [Analyzing]

Contrast the concepts of modeling and abstraction with respect to problem solving. [Analyzing]

#### CN-02 Illustrate the relationship between modeling and simulation. [Applying]

Emerging Standard

Describe the relationships between modeling and simulation. [Understanding]

Describe the relationships between modeling and simulation. [Understanding]

Developed Standard

Illustrate the relationship between modeling and simulation. [Applying]

Illustrate the relationship between modeling and simulation. [Applying]

Highly Developed Standard

Examine the relationship between modeling and simulation. [Analyzing]

Examine the relationship between modeling and simulation. [Analyzing]

#### CN-03 Exemplify different types of simulations. [Understanding]

Emerging Standard

Identify different types of simulations. [Remembering]

Identify different types of simulations. [Remembering]

Developed Standard

Exemplify different types of simulations, such as physical simulations, human-guided simulations, and virtual reality. [Understanding]

Exemplify different types of simulations, such as physical simulations, human-guided simulations, and virtual reality. [Understanding]

Highly Developed Standard

Compare different types of simulations. [Analyzing]

Compare different types of simulations. [Analyzing]

#### CYB-01 Describe security as a continuous process of tradeoffs, balancing between protection mechanisms and availability. [Understanding]

Emerging Standard

Recognize the importance of security as a continuous process of tradeoffs. [Remembering]

Recognize the importance of security as a continuous process of tradeoffs. [Remembering]

Developed Standard

Describe security as a continuous process of tradeoffs, balancing between protection mechanisms and availability. [Understanding]

Describe security as a continuous process of tradeoffs, balancing between protection mechanisms and availability. [Understanding]

Highly Developed Standard

Illustrate security as a continuous process of tradeoffs, balancing between protection mechanisms and availability. [Applying]

Illustrate security as a continuous process of tradeoffs, balancing between protection mechanisms and availability. [Applying]

#### CYB-02 Illustrate through examples the concepts of risk, threats, vulnerabilities, attack vectors, and exploits, noting there is no such thing as perfect security. [Applying]

Emerging Standard

Differentiate the concepts of risk, threats, vulnerabilities, attack vectors, and exploits. [Understanding]

Differentiate the concepts of risk, threats, vulnerabilities, attack vectors, and exploits. [Understanding]

Developed Standard

Illustrate through examples the concepts of risk, threats, vulnerabilities, attack vectors, and exploits, noting there is no such thing as perfect security. [Applying]

Illustrate through examples the concepts of risk, threats, vulnerabilities, attack vectors, and exploits, noting there is no such thing as perfect security. [Applying]

Highly Developed Standard

Compare the concepts of risk, threats, vulnerabilities, attack vectors, and exploits to a given scenario. [Analyzing]

Compare the concepts of risk, threats, vulnerabilities, attack vectors, and exploits to a given scenario. [Analyzing]

#### CYB-03 Investigate various countermeasures and security controls to minimize risk and exposure. [Applying]

Emerging Standard

Explain the importance of countermeasures and security controls to minimize risk and exposure. [Understanding]

Explain the importance of countermeasures and security controls to minimize risk and exposure. [Understanding]

Developed Standard

Investigate various countermeasures and security controls to minimize risk and exposure. [Applying]

Investigate various countermeasures and security controls to minimize risk and exposure. [Applying]

Highly Developed Standard

Choose among various countermeasures and security controls to minimize risk and exposure in a given scenario. [Evaluating]

Choose among various countermeasures and security controls to minimize risk and exposure in a given scenario. [Evaluating]

#### CYB-04 Analyze the tradeoffs of balancing key security properties, including Confidentiality, Integrity, and Availability (CIA). [Analyzing]

Emerging Standard

Investigate the tradeoffs of balancing key security properties, including Confidentiality, Integrity, and Availability (CIA). [Applying]

Investigate the tradeoffs of balancing key security properties, including Confidentiality, Integrity, and Availability (CIA). [Applying]

Developed Standard

Analyze the tradeoffs of balancing key security properties, including Confidentiality, Integrity, and Availability (CIA). [Analyzing]

Analyze the tradeoffs of balancing key security properties, including Confidentiality, Integrity, and Availability (CIA). [Analyzing]

Highly Developed Standard

Evaluate the tradeoffs of balancing key security properties, including Confidentiality, Integrity, and Availability (CIA). [Evaluating]

Evaluate the tradeoffs of balancing key security properties, including Confidentiality, Integrity, and Availability (CIA). [Evaluating]

#### CYB-05 Explain the concepts of trust and trustworthiness related to cybersecurity. [Understanding]

Emerging Standard

Define the concepts of trust and trustworthiness. [Remembering]

Define the concepts of trust and trustworthiness. [Remembering]

Developed Standard

Explain the concepts of trust and trustworthiness related to cybersecurity. [Understanding]

Explain the concepts of trust and trustworthiness related to cybersecurity. [Understanding]

Highly Developed Standard

Diagram trust relationships in a given cybersecurity scenario. [Applying]

Diagram trust relationships in a given cybersecurity scenario. [Applying]

#### CYB-06 Examine ethical issues related to cybersecurity. [Analyzing]

Emerging Standard

Exemplify ethical issues in cybersecurity. [Understanding]

Exemplify ethical issues in cybersecurity. [Understanding]

Developed Standard

Examine ethical issues related to cybersecurity. [Analyzing]

Examine ethical issues related to cybersecurity. [Analyzing]

Highly Developed Standard

Argue ethical issues related to cybersecurity. [Evaluating]

Argue ethical issues related to cybersecurity. [Evaluating]

#### CYB-07 Illustrate various ways to minimize privacy risks and maximize anonymity. [Applying]

Emerging Standard

Describe one way to minimize privacy risks and maximize anonymity. [Understanding]

Describe one way to minimize privacy risks and maximize anonymity. [Understanding]

Developed Standard

Illustrate various ways to minimize privacy risks and maximize anonymity. [Applying]

Illustrate various ways to minimize privacy risks and maximize anonymity. [Applying]

Highly Developed Standard

Analyze ways to minimize privacy risks and maximize anonymity in an always connected, mobile computing environment. [Analyzing]

Analyze ways to minimize privacy risks and maximize anonymity in an always connected, mobile computing environment. [Analyzing]

#### CYB-08 Apply security principles and practices in a dynamic environment. [Applying]

Emerging Standard

Summarize security principles and practices. [Understanding]

Summarize security principles and practices. [Understanding]

Developed Standard

Apply security principles and practices in a dynamic environment. [Applying]

Apply security principles and practices in a dynamic environment. [Applying]

Highly Developed Standard

Examine security principles and practices in a dynamic environment. [Analyzing]

Examine security principles and practices in a dynamic environment. [Analyzing]

#### CYB-09 Illustrate through examples the key role risk management frameworks play in identifying, assessing, prioritizing, and controlling risks to organizational assets. [Applying]

Emerging Standard

Paraphrase the key role risk management frameworks play in identifying, assessing, prioritizing, and controlling risks to organizational assets. [Understanding]

Paraphrase the key role risk management frameworks play in identifying, assessing, prioritizing, and controlling risks to organizational assets. [Understanding]

Developed Standard

Illustrate through examples the key role risk management frameworks play in identifying, assessing, prioritizing, and controlling risks to organizational assets. [Applying]

Illustrate through examples the key role risk management frameworks play in identifying, assessing, prioritizing, and controlling risks to organizational assets. [Applying]

Highly Developed Standard

Analyze a given scenario with a specific risk management framework, such as NIST, to identify, assess, prioritize, and control risks to organizational assets. [Analyzing]

Analyze a given scenario with a specific risk management framework, such as NIST, to identify, assess, prioritize, and control risks to organizational assets. [Analyzing]

#### CYB-10 Illustrate with examples the goals of end-to-end data security. [Applying]

Emerging Standard

Explain the goals of end-to-end data security. [Understanding]

Explain the goals of end-to-end data security. [Understanding]

Developed Standard

Illustrate with examples the goals of end-to-end data security. [Applying]

Illustrate with examples the goals of end-to-end data security. [Applying]

Highly Developed Standard

Outline the goals of end-to-end data security. [Analyzing]

Outline the goals of end-to-end data security. [Analyzing]

#### CYB-11 Use the principles of secure design. [Applying]

Emerging Standard

Demonstrate some of the principles of secure design as related to cybersecurity. [Understanding]

Demonstrate some of the principles of secure design as related to cybersecurity. [Understanding]

Developed Standard

Use the principles of secure design, such as least privilege, isolation, fail-safe, and deny-by-default. [Applying]

Use the principles of secure design, such as least privilege, isolation, fail-safe, and deny-by-default. [Applying]

Highly Developed Standard

Choose appropriate secure design principles for a given cybersecurity scenario. [Evaluating]

Choose appropriate secure design principles for a given cybersecurity scenario. [Evaluating]

#### CYB-12 Illustrate the security implications of relying on open design vs the secrecy of design. [Applying]

Emerging Standard

Discuss the security implications of relying on open design vs the secrecy of design. [Understanding]

Discuss the security implications of relying on open design vs the secrecy of design. [Understanding]

Developed Standard

Illustrate the security implications of relying on open design vs the secrecy of design. [Applying]

Illustrate the security implications of relying on open design vs the secrecy of design. [Applying]

Highly Developed Standard

Analyze the security implications of relying on open design vs the secrecy of design. [Analyzing]

Analyze the security implications of relying on open design vs the secrecy of design. [Analyzing]

#### CYB-13 Discuss the benefits and limitations of designing multiple layers of defenses.[Understanding]

Emerging Standard

Identify the benefits and limitations of designing multiple layers of defenses. [Remembering]

Identify the benefits and limitations of designing multiple layers of defenses. [Remembering]

Developed Standard

Discuss the benefits and limitations of designing multiple layers of defenses. [Understanding]

Discuss the benefits and limitations of designing multiple layers of defenses. [Understanding]

Highly Developed Standard

Implement multiple layers of defenses for a given scenario [Applying]

Implement multiple layers of defenses for a given scenario [Applying]

#### CYB-14 Analyze the tradeoffs associated with designing security into a product. [Analyzing]

Emerging Standard

Summarize the tradeoffs associated with designing security into a product. [Understanding]

Summarize the tradeoffs associated with designing security into a product. [Understanding]

Developed Standard

Analyze the tradeoffs associated with designing security into a product. [Analyzing]

Analyze the tradeoffs associated with designing security into a product. [Analyzing]

Highly Developed Standard

Evaluate the tradeoffs associated with designing security into a product. [Evaluating]

Evaluate the tradeoffs associated with designing security into a product. [Evaluating]

#### CYB-15 Construct input validation and data sanitization in applications, considering adversarial control of the input channel. [Creating] See also SDF-06.

Emerging Standard

Implement simple input validation and data sanitization in applications. [Applying]

Implement simple input validation and data sanitization in applications. [Applying]

Developed Standard

Construct input validation and data sanitization in applications, considering adversarial control of the input channel. [Creating]

Construct input validation and data sanitization in applications, considering adversarial control of the input channel. [Creating]

Highly Developed Standard

Develop complex input validation and data sanitization in applications, considering adversarial control of the input channel. [Creating]

Develop complex input validation and data sanitization in applications, considering adversarial control of the input channel. [Creating]

#### CYB-16 Explain the tradeoffs of developing a program in a type-safe language. [Understanding] See also PL-10.

Emerging Standard

List some of the tradeoffs of developing a program in a type-safe language. [Remembering]

List some of the tradeoffs of developing a program in a type-safe language. [Remembering]

Developed Standard

Explain the tradeoffs of developing a program in a type-safe language. [Understanding]

Explain the tradeoffs of developing a program in a type-safe language. [Understanding]

Highly Developed Standard

Compare the tradeoffs of developing a program in a type-safe language vs other types of programming languages. [Analyzing]

Compare the tradeoffs of developing a program in a type-safe language vs other types of programming languages. [Analyzing]

#### CYB-17 Implement programs that properly handle exceptions and error conditions. [Applying] See also SDF-12.

Emerging Standard

Explain the importance of writing programs that properly handle exceptions and error conditions. [Understanding]

Explain the importance of writing programs that properly handle exceptions and error conditions. [Understanding]

Developed Standard

Implement programs that properly handle exceptions and error conditions. [Applying]

Implement programs that properly handle exceptions and error conditions. [Applying]

Highly Developed Standard

Analyze the implementation of exception handling in programs and error conditions. [Analyzing]

Analyze the implementation of exception handling in programs and error conditions. [Analyzing]

#### CYB-18 Examine the need to update software to fix security vulnerabilities. [Analyzing]

Emerging Standard

Explain the need to update software. [Understanding]

Explain the need to update software. [Understanding]

Developed Standard

Examine the need to update software to fix security vulnerabilities. [Analyzing]

Examine the need to update software to fix security vulnerabilities. [Analyzing]

Highly Developed Standard

Justify the need to update software to fix security vulnerabilities. [Evaluating]

Justify the need to update software to fix security vulnerabilities. [Evaluating]

#### CYB-19 Examine likely attack types against standalone and networked systems. [Analyzing]

Emerging Standard

Summarize likely attack types against software systems. [Understanding]

Summarize likely attack types against software systems. [Understanding]

Developed Standard

Examine likely attack types against standalone and networked systems. [Analyzing]

Examine likely attack types against standalone and networked systems. [Analyzing]

Highly Developed Standard

Assess likely attack types against standalone and networked systems. [Evaluating]

Assess likely attack types against standalone and networked systems. [Evaluating]

#### CYB-20 Illustrate the key principles of social engineering, including membership and trust. [Applying] See also SP-04.

Emerging Standard

Discuss some of the key principles of social engineering. [Understanding]

Discuss some of the key principles of social engineering. [Understanding]

Developed Standard

Illustrate the key principles of social engineering, including membership and trust. [Applying]

Illustrate the key principles of social engineering, including membership and trust. [Applying]

Highly Developed Standard

Outline the key principles of social engineering, including membership and trust. [Analyzing]

Outline the key principles of social engineering, including membership and trust. [Analyzing]

#### CYB-21 Describe key terms in cryptology, including cryptography, cryptanalysis, cipher, cryptographic algorithm, and public key infrastructure. [Understanding]

Emerging Standard

Define some key terms in cryptology. [Remembering]

Define some key terms in cryptology. [Remembering]

Developed Standard

Describe key terms in cryptology, including cryptography, cryptanalysis, cipher, cryptographic algorithm, and public key infrastructure. [Understanding]

Describe key terms in cryptology, including cryptography, cryptanalysis, cipher, cryptographic algorithm, and public key infrastructure. [Understanding]

Highly Developed Standard

Categorize key terms in cryptology, including cryptography, cryptanalysis, cipher, and cryptographic algorithm. [Analyzing]

Categorize key terms in cryptology, including cryptography, cryptanalysis, cipher, and cryptographic algorithm. [Analyzing]

#### CYB-22 Use a variety of ciphers to encrypt plaintext into ciphertext. [Applying]

Emerging Standard

Describe basic methods for transforming plaintext into ciphertext. [Understanding]

Describe basic methods for transforming plaintext into ciphertext. [Understanding]

Developed Standard

Use a variety of ciphers to encrypt plaintext into ciphertext. [Applying]

Use a variety of ciphers to encrypt plaintext into ciphertext. [Applying]

Highly Developed Standard

Design a simple program to encrypt plaintext into ciphertext. [Creating]

Design a simple program to encrypt plaintext into ciphertext. [Creating]

#### CYB-23 Apply cryptographic hash functions for authentication and data integrity. [Applying]

Emerging Standard

Summarize the use of cryptographic hash functions for authentication and data integrity. [Understanding]

Summarize the use of cryptographic hash functions for authentication and data integrity. [Understanding]

Developed Standard

Apply cryptographic hash functions for authentication and data integrity. [Applying]

Apply cryptographic hash functions for authentication and data integrity. [Applying]

Highly Developed Standard

Deconstruct a cryptographic hash function used for authentication and data integrity. [Analyzing]

Deconstruct a cryptographic hash function used for authentication and data integrity. [Analyzing]

#### CYB-24 Contrast symmetric and asymmetric encryption in relation to securing electronic communications and transactions. [Analyzing]

Emerging Standard

Exemplify the difference between symmetric and asymmetric encryption. [Understanding]

Exemplify the difference between symmetric and asymmetric encryption. [Understanding]

Developed Standard

Contrast symmetric and asymmetric encryption in relation to securing electronic communications and transactions. [Analyzing]

Contrast symmetric and asymmetric encryption in relation to securing electronic communications and transactions. [Analyzing]

Highly Developed Standard

Design a security solution for a given scenario that integrates symmetric encryption with asymmetric encryption. [Creating]

Design a security solution for a given scenario that integrates symmetric encryption with asymmetric encryption. [Creating]

#### CYB-25 Explain browser and web security model concepts including same-origin policy, web sessions, and secure communication channels. [Understanding]

Emerging Standard

Identify one or more browser and web security model concepts. [Remembering]

Identify one or more browser and web security model concepts. [Remembering]

Developed Standard

Explain browser and web security model concepts including same-origin policy, web sessions, and secure communication channels such as TLS. [Understanding]

Explain browser and web security model concepts including same-origin policy, web sessions, and secure communication channels such as TLS. [Understanding]

Highly Developed Standard

Apply browser and web security model concepts including same-origin policy, web sessions, and secure communication channels such as TLS. [Applying]

Apply browser and web security model concepts including same-origin policy, web sessions, and secure communication channels such as TLS. [Applying]

#### DS-01 Explain with examples the basic terminology of functions, relations, and sets. [Understanding]

Emerging Standard

Identify the defining features of functions, relations, and sets.[Remembering]

Identify the defining features of functions, relations, and sets.[Remembering]

Developed Standard

Explain with examples the basic terminology of functions, relations, and sets.[Understanding]

Explain with examples the basic terminology of functions, relations, and sets.[Understanding]

Highly Developed Standard

Use function, relations, and set terminology in a correct and meaningful way.[Applying]

Use function, relations, and set terminology in a correct and meaningful way.[Applying]

#### DS-02 Perform the operations associated with sets, functions, and relations. [Applying]

Emerging Standard

Describe the operations associated with sets, functions, and relations. [Understanding]

Describe the operations associated with sets, functions, and relations. [Understanding]

Developed Standard

Perform the operations associated with sets, functions, and relations. [Applying]

Perform the operations associated with sets, functions, and relations. [Applying]

Highly Developed Standard

Compare the operations of sets, functions, and relations. [Analyzing]

Compare the operations of sets, functions, and relations. [Analyzing]

#### DS-03 Compare practical examples to the appropriate set, function, or relation model, and interpret the associated operations and terminology in context. [Analyzing]

Emerging Standard

Implement a solution to a programming problem using a specific set, function, or relation model. [Applying]

Implement a solution to a programming problem using a specific set, function, or relation model. [Applying]

Developed Standard

Compare practical examples to the appropriate set, function, or relation model, and interpret the associated operations and terminology in context. [Analyzing]

Compare practical examples to the appropriate set, function, or relation model, and interpret the associated operations and terminology in context. [Analyzing]

Highly Developed Standard

Justify the choice of a specific set, function, or relation model. [Evaluating]

Justify the choice of a specific set, function, or relation model. [Evaluating]

#### DS-04 Convert logical statements from informal language to propositional and predicate logic expressions. [Understanding]

Emerging Standard

Recognize the relationship between logical statements from informal language and propositional and predicate logic expressions. [Remembering]

Recognize the relationship between logical statements from informal language and propositional and predicate logic expressions. [Remembering]

Developed Standard

Convert logical statements from informal language to propositional and predicate logic expressions. [Understanding]

Convert logical statements from informal language to propositional and predicate logic expressions. [Understanding]

Highly Developed Standard

Produce propositional and predicate logic expressions from a given logical statement from an informal language. [Applying]

Produce propositional and predicate logic expressions from a given logical statement from an informal language. [Applying]

#### DS-05 Apply formal logic proofs and/or informal, but rigorous, logical reasoning to real problems such as predicting the behavior of software or solving problems such as puzzles. [Applying]

Emerging Standard

Describe the steps in formal logic proofs and/or informal logical reasoning to solve real problems. [Understanding]

Describe the steps in formal logic proofs and/or informal logical reasoning to solve real problems. [Understanding]

Developed Standard

Apply formal logic proofs and/or informal, but rigorous, logical reasoning to real problems such as predicting the behavior of software or solving problems such as puzzles. [Applying]

Apply formal logic proofs and/or informal, but rigorous, logical reasoning to real problems such as predicting the behavior of software or solving problems such as puzzles. [Applying]

Highly Developed Standard

Compare different logic proofs and informal logical reasoning to determine correct methods to solve real problems. [Analyzing]

Compare different logic proofs and informal logical reasoning to determine correct methods to solve real problems. [Analyzing]

#### DS-06 Use the rules of inference to construct proofs in propositional and predicate logic. [Applying]

Emerging Standard

Discuss the rules of inference to construct proofs in propositional and predicate logic. [Understanding]

Discuss the rules of inference to construct proofs in propositional and predicate logic. [Understanding]

Developed Standard

Use the rules of inference to construct proofs in propositional and predicate logic. [Applying]

Use the rules of inference to construct proofs in propositional and predicate logic. [Applying]

Highly Developed Standard

Analyze the rules of inference to construct proofs in propositional and predicate logic. [Analyzing]

Analyze the rules of inference to construct proofs in propositional and predicate logic. [Analyzing]

#### DS-07 Describe how symbolic logic can be used to model real-life situations or computer applications. [Understanding]

Emerging Standard

List ways that symbolic logic can be used to model real-life situations or computer applications. [Remembering]

List ways that symbolic logic can be used to model real-life situations or computer applications. [Remembering]

Developed Standard

Describe how symbolic logic can be used to model real-life situations or computer applications, such as software analysis, database queries, and algorithms. [Understanding]

Describe how symbolic logic can be used to model real-life situations or computer applications, such as software analysis, database queries, and algorithms. [Understanding]

Highly Developed Standard

Use symbolic logic to model real-life situations or computer applications. [Applying]

Use symbolic logic to model real-life situations or computer applications. [Applying]

#### DS-08 Apply formal methods of symbolic propositional and predicate logic, such as calculating validity of formulae and computing normal forms. [Applying]

Emerging Standard

Demonstrate formal methods of symbolic propositional and predicate logic. [Understanding]

Demonstrate formal methods of symbolic propositional and predicate logic. [Understanding]

Developed Standard

Apply formal methods of symbolic propositional and predicate logic, such as calculating validity of formulae and computing normal forms. [Applying]

Apply formal methods of symbolic propositional and predicate logic, such as calculating validity of formulae and computing normal forms. [Applying]

Highly Developed Standard

Distinguish between formal methods of propositional and predicate logic to determine the most effective solutions to a given problem. [Analyzing]

Distinguish between formal methods of propositional and predicate logic to determine the most effective solutions to a given problem. [Analyzing]

#### DS-09 Describe the strengths and limitations of propositional and predicate logic. [Understanding]

Emerging Standard

List the strengths and limitations of propositional and predicate logic. [Remembering]

List the strengths and limitations of propositional and predicate logic. [Remembering]

Developed Standard

Describe the strengths and limitations of propositional and predicate logic. [Understanding]

Describe the strengths and limitations of propositional and predicate logic. [Understanding]

Highly Developed Standard

Illustrate the strengths and limitations of propositional and predicate logic. [Applying]

Illustrate the strengths and limitations of propositional and predicate logic. [Applying]

#### DS-10 Outline the basic structure of each proof technique, including direct proof, proof by contradiction, and induction. [Analyzing]

Emerging Standard

Use the basic structure of each proof technique to solve a problem. [Applying]

Use the basic structure of each proof technique to solve a problem. [Applying]

Developed Standard

Outline the basic structure of each proof technique, including direct proof, proof by contradiction, and induction. [Analyzing]

Outline the basic structure of each proof technique, including direct proof, proof by contradiction, and induction. [Analyzing]

Highly Developed Standard

Choose the most effective proof technique to solve a problem. [Evaluating]

Choose the most effective proof technique to solve a problem. [Evaluating]

#### DS-11 Apply each of the proof techniques (direct proof, proof by contradiction, and induction) correctly in the construction of a sound argument. [Applying]

Emerging Standard

Demonstrate each of the proof techniques by correctly constructing a sound argument. [Understanding]

Demonstrate each of the proof techniques by correctly constructing a sound argument. [Understanding]

Developed Standard

Apply each of the proof techniques (direct proof, proof by contradiction, and induction) correctly in the construction of a sound argument. [Applying]

Apply each of the proof techniques (direct proof, proof by contradiction, and induction) correctly in the construction of a sound argument. [Applying]

Highly Developed Standard

Use each of the proof techniques correctly in the construction of a sound argument. [Applying]

Use each of the proof techniques correctly in the construction of a sound argument. [Applying]

#### DS-12 Deduce the best type of proof for a given problem. [Analyzing]

Emerging Standard

Compare the different proof methods. [Analyzing]

Compare the different proof methods. [Analyzing]

Developed Standard

Deduce the best type of proof for a given problem. [Analyzing]

Deduce the best type of proof for a given problem. [Analyzing]

Highly Developed Standard

Construct a correct proof using the best method for a given problem. [Creating]

Construct a correct proof using the best method for a given problem. [Creating]

#### DS-13 Explain the parallels between ideas of mathematical and/or structural induction to recursion and recursively defined structures. [Understanding]

Emerging Standard

Identify the parallels between ideas of mathematical and/or structural induction to recursion and recursively defined structures. [Remembering]

Identify the parallels between ideas of mathematical and/or structural induction to recursion and recursively defined structures. [Remembering]

Developed Standard

Explain the parallels between ideas of mathematical and/or structural induction to recursion and recursively defined structures. [Understanding]

Explain the parallels between ideas of mathematical and/or structural induction to recursion and recursively defined structures. [Understanding]

Highly Developed Standard

Illustrate the parallels between ideas of mathematical and/or structural induction to recursion and recursively defined structures. [Applying]

Illustrate the parallels between ideas of mathematical and/or structural induction to recursion and recursively defined structures. [Applying]

#### DS-14 Explain the relationship between weak and strong induction and give examples of the appropriate use of each. [Understanding]

Emerging Standard

Identify the relationship between weak and strong induction. [Remembering]

Identify the relationship between weak and strong induction. [Remembering]

Developed Standard

Explain the relationship between weak and strong induction and give examples of the appropriate use of each. [Understanding]

Explain the relationship between weak and strong induction and give examples of the appropriate use of each. [Understanding]

Highly Developed Standard

Solve problems using both weak and strong induction. [Applying]

Solve problems using both weak and strong induction. [Applying]

#### DS-15 Apply counting arguments, including sum and product rules, inclusion-exclusion principle and arithmetic/geometric progressions. [Applying]

Emerging Standard

Describe counting arguments. [Understanding]

Describe counting arguments. [Understanding]

Developed Standard

Apply counting arguments, including sum and product rules, inclusion-exclusion principle and arithmetic/geometric progressions. [Applying]

Apply counting arguments, including sum and product rules, inclusion-exclusion principle and arithmetic/geometric progressions. [Applying]

Highly Developed Standard

Outline counting arguments. [Analyzing]

Outline counting arguments. [Analyzing]

#### DS-16 Apply the pigeonhole principle in the context of a formal proof. [Applying]

Emerging Standard

Demonstrate the pigeonhole principle. [Understanding]

Demonstrate the pigeonhole principle. [Understanding]

Developed Standard

Apply the pigeonhole principle in the context of a formal proof. [Applying]

Apply the pigeonhole principle in the context of a formal proof. [Applying]

Highly Developed Standard

Analyze the pigeonhole principle in the context of a formal proof. [Analyzing]

Analyze the pigeonhole principle in the context of a formal proof. [Analyzing]

#### DS-17 Calculate permutations and combinations of a set, and interpret the meaning in the context of the particular application. [Applying]

Emerging Standard

Explain the calculation of permutations and combinations of a set. [Understanding]

Explain the calculation of permutations and combinations of a set. [Understanding]

Developed Standard

Calculate permutations and combinations of a set, and interpret the meaning in the context of the particular application. [Applying]

Calculate permutations and combinations of a set, and interpret the meaning in the context of the particular application. [Applying]

Highly Developed Standard

Discriminate between computation of st permutations and combinations. [Analyzing]

Discriminate between computation of st permutations and combinations. [Analyzing]

#### DS-18 Compare real-world applications appropriate to counting formalisms. [Analyzing]

Emerging Standard

Use counting formalisms to solve real-world applications. [Applying]

Use counting formalisms to solve real-world applications. [Applying]

Developed Standard

Compare real-world applications appropriate to counting formalisms, such as determining the number of ways to arrange people around a table, subject to constraints on the seating arrangement. [Analyzing]

Compare real-world applications appropriate to counting formalisms, such as determining the number of ways to arrange people around a table, subject to constraints on the seating arrangement. [Analyzing]

Highly Developed Standard

Choose appropriate counting formalisms to solve real-world applications. [Evaluating]

Choose appropriate counting formalisms to solve real-world applications. [Evaluating]

#### DS-19 Solve a variety of basic recurrence relations. [Applying]

Emerging Standard

Demonstrate a variety of basic recurrence relations. [Understanding]

Demonstrate a variety of basic recurrence relations. [Understanding]

Developed Standard

Solve a variety of basic recurrence relations. [Applying]

Solve a variety of basic recurrence relations. [Applying]

Highly Developed Standard

Compare a variety of basic recurrence relations. [Analyzing]

Compare a variety of basic recurrence relations. [Analyzing]

#### DS-20 Analyze a problem to determine underlying recurrence relations. [Analyzing]

Emerging Standard

Carry out a problem with an underlying recurrence relation. [Applying]

Carry out a problem with an underlying recurrence relation. [Applying]

Developed Standard

Analyze a problem to determine underlying recurrence relations. [Analyzing]

Analyze a problem to determine underlying recurrence relations. [Analyzing]

Highly Developed Standard

Evaluate a problem with an underlying recurrence relation. [Evaluating]

Evaluate a problem with an underlying recurrence relation. [Evaluating]

#### DS-21 Perform computations involving modular arithmetic. [Applying]

Emerging Standard

Discuss computations involving modular arithmetic. [Understanding]

Discuss computations involving modular arithmetic. [Understanding]

Developed Standard

Perform computations involving modular arithmetic. [Applying]

Perform computations involving modular arithmetic. [Applying]

Highly Developed Standard

Examine computations involving modular arithmetic. [Analyzing]

Examine computations involving modular arithmetic. [Analyzing]

#### DS-22 Illustrate the basic terminology of graph theory including properties and special cases for each type of graph/tree. [Applying]

Emerging Standard

Describe the basic terminology of graph theory. [Understanding]

Describe the basic terminology of graph theory. [Understanding]

Developed Standard

Illustrate the basic terminology of graph theory including properties and special cases for each type of graph/tree. [Applying]

Illustrate the basic terminology of graph theory including properties and special cases for each type of graph/tree. [Applying]

Highly Developed Standard

Outline the basic terminology of graph theory. [Analyzing]

Outline the basic terminology of graph theory. [Analyzing]

#### DS-23 Demonstrate different traversal methods for trees and graphs, including pre-, post-, and in-order traversal of trees. [Understanding]

Emerging Standard

List the different traversal methods for trees and graphs [Remembering]

List the different traversal methods for trees and graphs [Remembering]

Developed Standard

Demonstrate different traversal methods for trees and graphs, including pre-, post-, and in-order traversal of trees. [Understanding]

Demonstrate different traversal methods for trees and graphs, including pre-, post-, and in-order traversal of trees. [Understanding]

Highly Developed Standard

Execute different traversal methods for trees and graphs. [Applying]

Execute different traversal methods for trees and graphs. [Applying]

#### DS-24 Solve a variety of real-world problems in computer science using appropriate forms of graphs and trees, such as representing a network topology or the organization of a hierarchical file system. [Applying]

Emerging Standard

Discuss a variety of real-world problems in computer science using appropriate forms of graphs and trees. [Understanding]

Discuss a variety of real-world problems in computer science using appropriate forms of graphs and trees. [Understanding]

Developed Standard

Solve a variety of real-world problems in computer science using appropriate forms of graphs and trees, such as representing a network topology or the organization of a hierarchical file system. [Applying]

Solve a variety of real-world problems in computer science using appropriate forms of graphs and trees, such as representing a network topology or the organization of a hierarchical file system. [Applying]

Highly Developed Standard

Distinguish between real-world problems solvable by using graphs and trees. [Analyzing]

Distinguish between real-world problems solvable by using graphs and trees. [Analyzing]

#### DS-25 Implement and use balanced trees and B-trees. [Applying]

Emerging Standard

Explain balanced trees and B-trees. [Understanding]

Explain balanced trees and B-trees. [Understanding]

Developed Standard

Implement and use balanced trees and B-trees. [Applying]

Implement and use balanced trees and B-trees. [Applying]

Highly Developed Standard

Analyze the use of balanced trees and B-trees. [Analyzing]

Analyze the use of balanced trees and B-trees. [Analyzing]

#### DS-26 Implement graph algorithms. [Applying]

Emerging Standard

Classify graph algorithms. [Understanding]

Classify graph algorithms. [Understanding]

Developed Standard

Implement graph algorithms, such as graph search, union-find, minimum spanning trees, and shortest paths. [Applying]

Implement graph algorithms, such as graph search, union-find, minimum spanning trees, and shortest paths. [Applying]

Highly Developed Standard

Categorize different implementations of graph algorithms. [Analyzing]

Categorize different implementations of graph algorithms. [Analyzing]

#### DS-27 Demonstrate how concepts from graphs and trees appear in data structures, algorithms, proof techniques (structural induction), and counting. [Understanding]

Emerging Standard

Identify how concepts from graphs and trees appear in data structures, algorithms, proof techniques, and counting. [Remembering]

Identify how concepts from graphs and trees appear in data structures, algorithms, proof techniques, and counting. [Remembering]

Developed Standard

Demonstrate how concepts from graphs and trees appear in data structures, algorithms, proof techniques (structural induction), and counting. [Understanding]

Demonstrate how concepts from graphs and trees appear in data structures, algorithms, proof techniques (structural induction), and counting. [Understanding]

Highly Developed Standard

Implement data structures, algorithms, proof techniques, and counting using graphs and trees. [Applying]

Implement data structures, algorithms, proof techniques, and counting using graphs and trees. [Applying]

#### DS-28 Describe binary search trees and AVL trees. [Understanding]

Emerging Standard

Define binary search and AVL trees. [Remembering]

Define binary search and AVL trees. [Remembering]

Developed Standard

Describe binary search trees and AVL trees. [Understanding]

Describe binary search trees and AVL trees. [Understanding]

Highly Developed Standard

Apply binary search and AVL trees. [Applying]

Apply binary search and AVL trees. [Applying]

#### DS-29 Explain complexity in the ideal and in the worst-case scenario for both implementations. [Understanding]

Emerging Standard

State complexity in the ideal and in the worst-case scenario for both implementations. [Remembering]

State complexity in the ideal and in the worst-case scenario for both implementations. [Remembering]

Developed Standard

Explain complexity in the ideal and in the worst-case scenario for both implementations. [Understanding]

Explain complexity in the ideal and in the worst-case scenario for both implementations. [Understanding]

Highly Developed Standard

Calculate complexity in the ideal and in the worst-case scenario for both implementations. [Applying]

Calculate complexity in the ideal and in the worst-case scenario for both implementations. [Applying]

#### DS-30 Calculate probabilities of events and expectations of random variables for elementary problems. [Applying]

Emerging Standard

Exemplify probabilities of events and expectations of random variables for elementary problems such as games of chance. [Understanding]v

Exemplify probabilities of events and expectations of random variables for elementary problems such as games of chance. [Understanding]v

Developed Standard

Calculate probabilities of events and expectations of random variables for elementary problems such as games of chance. [Applying]

Calculate probabilities of events and expectations of random variables for elementary problems such as games of chance. [Applying]

Highly Developed Standard

Examine probabilities of events and expectations of random variables for elementary problems such as games of chance. [Analyzing]

Examine probabilities of events and expectations of random variables for elementary problems such as games of chance. [Analyzing]

#### DS-31 Differentiate between dependent and independent events. [Understanding]

Emerging Standard

Identify dependent and independent events. [Remembering]

Identify dependent and independent events. [Remembering]

Developed Standard

Differentiate between dependent and independent events. [Understanding]

Differentiate between dependent and independent events. [Understanding]

Highly Developed Standard

Illustrate dependent and independent events. [Applying]

Illustrate dependent and independent events. [Applying]

#### DS-32 Explain the significance of binomial distribution in probabilities. [Understanding]

Emerging Standard

Recognize the notation and parameters that a binomial distribution has. [Remembering]

Recognize the notation and parameters that a binomial distribution has. [Remembering]

Developed Standard

Explain the significance of binomial distribution in probabilities. [Understanding]

Explain the significance of binomial distribution in probabilities. [Understanding]

Highly Developed Standard

Calculate the probabilities from a binomial distribution. [Applying]

Calculate the probabilities from a binomial distribution. [Applying]

#### DS-33 Apply Bayes Theorem to determine conditional probabilities in a problem. [Applying]

Emerging Standard

Explain Bayes Theorem to determine conditional probabilities in a problem. [Understanding]

Explain Bayes Theorem to determine conditional probabilities in a problem. [Understanding]

Developed Standard

Apply Bayes Theorem to determine conditional probabilities in a problem. [Applying]

Apply Bayes Theorem to determine conditional probabilities in a problem. [Applying]

Highly Developed Standard

Outline Bayes Theorem to determine conditional probabilities in a problem. [Analyzing]

Outline Bayes Theorem to determine conditional probabilities in a problem. [Analyzing]

#### DS-34 Apply the tools of probability to solve problems. [Applying]

Emerging Standard

Discuss the tools of probability to solve problems such as the average case analysis of algorithms or analyzing hashing. [Understanding]

Discuss the tools of probability to solve problems such as the average case analysis of algorithms or analyzing hashing. [Understanding]

Developed Standard

Apply the tools of probability to solve problems such as the average case analysis of algorithms or analyzing hashing. [Applying]

Apply the tools of probability to solve problems such as the average case analysis of algorithms or analyzing hashing. [Applying]

Highly Developed Standard

Analyze the tools of probability in solving problems such as the average case analysis of algorithms or analyzing hashing. [Analyzing]

Analyze the tools of probability in solving problems such as the average case analysis of algorithms or analyzing hashing. [Analyzing]

#### GV-01 Compare transformation and changes in dimension and coordinate systems for 2D and 3D design. [Analyzing]

Emerging Standard

Explain how to use dimensions and coordinate systems. [Understanding]

Explain how to use dimensions and coordinate systems. [Understanding]

Developed Standard

Compare transformation and changes in dimension and coordinate systems for 2D and 3D design. [Analyzing]

Compare transformation and changes in dimension and coordinate systems for 2D and 3D design. [Analyzing]

Highly Developed Standard

Evaluate the uses of both 3D coordinate systems and 2D planar systems with respect to computer graphics. [Evaluating]

Evaluate the uses of both 3D coordinate systems and 2D planar systems with respect to computer graphics. [Evaluating]

#### GV-02 Demonstrate common uses of digital presentation to human senses. [Understanding]

Emerging Standard

Identify common uses of digital presentation to human senses. [Remembering]

Identify common uses of digital presentation to human senses. [Remembering]

Developed Standard

Demonstrate common uses of digital presentation to human senses, such as computer graphics, sound, and haptic devices. [Understanding]

Demonstrate common uses of digital presentation to human senses, such as computer graphics, sound, and haptic devices. [Understanding]

Highly Developed Standard

Categorize types of digital presentation to human senses. [Analyzing]

Categorize types of digital presentation to human senses. [Analyzing]

#### GV-03 Illustrate color models and their use in computer graphics. [Applying]

Emerging Standard

Describe color models and their use in computer graphics. [Understanding]

Describe color models and their use in computer graphics. [Understanding]

Developed Standard

Illustrate color models and their use in computer graphics. [Applying]

Illustrate color models and their use in computer graphics. [Applying]

Highly Developed Standard

Contrast color models and their use in computer graphics. [Analyzing]

Contrast color models and their use in computer graphics. [Analyzing]

#### GV-04 Analyze image types according to output choices. [Analyzing]

Emerging Standard

Differentiate multimedia file types, resolution needs, conversion, and appropriate use. [Understanding]

Differentiate multimedia file types, resolution needs, conversion, and appropriate use. [Understanding]

Developed Standard

Analyze image types according to output choices. [Analyzing]

Analyze image types according to output choices. [Analyzing]

Highly Developed Standard

Evaluate multiple multimedia files based on given criteria. [Evaluating]

Evaluate multiple multimedia files based on given criteria. [Evaluating]

#### GV-05 Perform information hiding through steganography in images, messages, videos, or other media files. [Applying]

Emerging Standard

Demonstrate information hiding through steganography. [Understanding]

Demonstrate information hiding through steganography. [Understanding]

Developed Standard

Perform information hiding through steganography in images, messages, videos, or other media files. [Applying]

Perform information hiding through steganography in images, messages, videos, or other media files. [Applying]

Highly Developed Standard

Choose appropriate steganography technique to conceal information. [Evaluating]

Choose appropriate steganography technique to conceal information. [Evaluating]

#### HCI-01 Analyze the importance of human-centered software. [Analyzing]

Emerging Standard

Discuss the importance of human-centered software development. [Understanding]

Discuss the importance of human-centered software development. [Understanding]

Developed Standard

Analyze the importance of human-centered software. [Analyzing]

Analyze the importance of human-centered software. [Analyzing]

Highly Developed Standard

Defend the importance of human-centered software. [Evaluating]

Defend the importance of human-centered software. [Evaluating]

#### HCI-02 Implement a simple usability test for an existing software application. [Applying]

Emerging Standard

Summarize usability testing. [Understanding]

Summarize usability testing. [Understanding]

Developed Standard

Implement a simple usability test for an existing software application. [Applying]

Implement a simple usability test for an existing software application. [Applying]

Highly Developed Standard

Design a usability test for an existing software application [Creating]

Design a usability test for an existing software application [Creating]

#### HCI-03 Examine the issues of trust in HCI, including examples of both high and low trust systems. [Analyzing]

Emerging Standard

Demonstrate design elements that make a human-computer interface trustworthy. [Understanding]

Demonstrate design elements that make a human-computer interface trustworthy. [Understanding]

Developed Standard

Examine the issues of trust in HCI, including examples of both high and low trust systems. [Analyzing]

Examine the issues of trust in HCI, including examples of both high and low trust systems. [Analyzing]

Highly Developed Standard

Critique interface designs between high trust and low trust. [Evaluating]

Critique interface designs between high trust and low trust. [Evaluating]

#### HCI-04 Write a simple application that uses a modern graphical user interface. [Applying]

Emerging Standard

Summarize the components of a modern graphical user interface. [Understanding]

Summarize the components of a modern graphical user interface. [Understanding]

Developed Standard

Write a simple application that uses a modern graphical user interface. [Applying]

Write a simple application that uses a modern graphical user interface. [Applying]

Highly Developed Standard

Examine a complete application that uses a modern graphical interface and documentation. [Analyzing]

Examine a complete application that uses a modern graphical interface and documentation. [Analyzing]

#### HCI-05 Use at least one national or international user interface design standard in a simple application. [Applying] See also SP-02.

Emerging Standard

Identify national and international user interface design standards. [Remembering]

Identify national and international user interface design standards. [Remembering]

Developed Standard

Use at least one national or international user interface design standard in a simple application, such as U.S. ADA Standards. [Applying]

Use at least one national or international user interface design standard in a simple application, such as U.S. ADA Standards. [Applying]

Highly Developed Standard

Compare among national and international user interface design standards. [Analyzing]

Compare among national and international user interface design standards. [Analyzing]

#### HCI-06 Analyze the interaction between a security mechanism and its usability. [Analyzing]

Emerging Standard

Discuss potential usability issues related to a security mechanism. [Understanding]

Discuss potential usability issues related to a security mechanism. [Understanding]

Developed Standard

Analyze the interaction between a security mechanism and its usability. [Analyzing]

Analyze the interaction between a security mechanism and its usability. [Analyzing]

Highly Developed Standard

Design a user interface that balances the tradeoffs between usability and security. [Creating]

Design a user interface that balances the tradeoffs between usability and security. [Creating]

#### IM-01 Contrast the difference between information and data. [Analyzing]

Emerging Standard

Explain information and data. [Understanding]

Explain information and data. [Understanding]

Developed Standard

Contrast the difference between information and data. [Analyzing]

Contrast the difference between information and data. [Analyzing]

Highly Developed Standard

Critique the attributes of both information and data. [Evaluating]

Critique the attributes of both information and data. [Evaluating]

#### IM-02 Describe the advantages and disadvantages of central organizational control over data. [Understanding]

Emerging Standard

List some advantages and disadvantages of central organizational control over data. [Remembering]

List some advantages and disadvantages of central organizational control over data. [Remembering]

Developed Standard

Describe the advantages and disadvantages of central organizational control over data. [Understanding]

Describe the advantages and disadvantages of central organizational control over data. [Understanding]

Highly Developed Standard

Examine the advantages and disadvantages of central organizational control over data. [Analyzing]

Examine the advantages and disadvantages of central organizational control over data. [Analyzing]

#### IM-03 Investigate contingency planning with respect to business continuity, disaster recovery and incident response. [Applying]

Emerging Standard

Describe contingency planning with respect to business continuity, disaster recovery and incident response. [Understanding]

Describe contingency planning with respect to business continuity, disaster recovery and incident response. [Understanding]

Developed Standard

Investigate contingency planning with respect to business continuity, disaster recovery and incident response. [Applying]

Investigate contingency planning with respect to business continuity, disaster recovery and incident response. [Applying]

Highly Developed Standard

Compare contingency plans of various size organizations with respect to business continuity, disaster recovery and incident response. [Analyzing]

Compare contingency plans of various size organizations with respect to business continuity, disaster recovery and incident response. [Analyzing]

#### IM-04 Describe proven techniques to secure data and information. [Understanding]

Emerging Standard

List proven techniques used to secure data and information. [Remembering]

List proven techniques used to secure data and information. [Remembering]

Developed Standard

Describe proven techniques to secure data and information. [Understanding]

Describe proven techniques to secure data and information. [Understanding]

Highly Developed Standard

Implement specific proven techniques to secure data and information. [Applying]

Implement specific proven techniques to secure data and information. [Applying]

#### IM-05 Describe approaches to scale up information systems. [Understanding]

Emerging Standard

List approaches to scale up information systems. [Remembering]

List approaches to scale up information systems. [Remembering]

Developed Standard

Describe approaches to scale up information systems. [Understanding]

Describe approaches to scale up information systems. [Understanding]

Highly Developed Standard

Compare several approaches to scale up information systems. [Analyzing]

Compare several approaches to scale up information systems. [Analyzing]

#### IM-06 Explain the characteristics that distinguish the database approach from the approach of programming with data files. [Understanding]

Emerging Standard

Identify the characteristics that distinguish the database approach from the approach of programming with data files. [Remembering]

Identify the characteristics that distinguish the database approach from the approach of programming with data files. [Remembering]

Developed Standard

Explain the characteristics that distinguish the database approach from the approach of programming with data files. [Understanding]

Explain the characteristics that distinguish the database approach from the approach of programming with data files. [Understanding]

Highly Developed Standard

Contrast the characteristics that distinguish the database approach from the approach of programming with data files. [Analyzing]

Contrast the characteristics that distinguish the database approach from the approach of programming with data files. [Analyzing]

#### IM-07 Diagram the components of a database system and give examples of their use. [Applying]

Emerging Standard

Identify the components of a database system. [Remembering]

Identify the components of a database system. [Remembering]

Developed Standard

Diagram the components of a database system and give examples of their use. [Applying]

Diagram the components of a database system and give examples of their use. [Applying]

Highly Developed Standard

Organize the components of a database system into a secure, functioning system. [Analyzing]

Organize the components of a database system into a secure, functioning system. [Analyzing]

#### IM-08 Explain the concept of data independence and its importance in a database system. [Understanding]

Emerging Standard

Define the concept of data independence and its importance in a database system. [Remembering]

Define the concept of data independence and its importance in a database system. [Remembering]

Developed Standard

Explain the concept of data independence and its importance in a database system. [Understanding]

Explain the concept of data independence and its importance in a database system. [Understanding]

Highly Developed Standard

Examine the concept of data independence and its importance in a database system. [Analyzing]

Examine the concept of data independence and its importance in a database system. [Analyzing]

#### IM-09 Formulate queries in SQL or a similar query language to elicit information from a database. [Creating]

Emerging Standard

Edit queries in SQL or a similar query language to elicit information from a database. [Applying]

Edit queries in SQL or a similar query language to elicit information from a database. [Applying]

Developed Standard

Formulate queries in SQL or a similar query language to elicit information from a database. [Creating]

Formulate queries in SQL or a similar query language to elicit information from a database. [Creating]

Highly Developed Standard

Formulate complex queries in SQL or a similar query language to elicit information from a database. [Creating]

Formulate complex queries in SQL or a similar query language to elicit information from a database. [Creating]

#### IM-10 Investigate vulnerabilities and failure scenarios in database systems. [Applying]

Emerging Standard

Identify vulnerabilities and failure scenarios in information systems. [Remembering]

Identify vulnerabilities and failure scenarios in information systems. [Remembering]

Developed Standard

Investigate vulnerabilities and failure scenarios in database systems, such as SQL injection and cross-site scripting. [Applying]

Investigate vulnerabilities and failure scenarios in database systems, such as SQL injection and cross-site scripting. [Applying]

Highly Developed Standard

Examine vulnerabilities and failure scenarios in information systems. [Analyzing]

Examine vulnerabilities and failure scenarios in information systems. [Analyzing]

#### IM-11 Contrast appropriate data models, including internal structures for different data types. [Analyzing]

Emerging Standard

Diagram appropriate data models, including internal structures for different data types. [Applying]

Diagram appropriate data models, including internal structures for different data types. [Applying]

Developed Standard

Contrast appropriate data models, including internal structures for different data types. [Analyzing]

Contrast appropriate data models, including internal structures for different data types. [Analyzing]

Highly Developed Standard

Evaluate appropriate data models, including internal structures for different data types. [Evaluating]

Evaluate appropriate data models, including internal structures for different data types. [Evaluating]

#### IM-12 Diagram a relational data model for a given scenario that addresses security and privacy concerns. [Applying]

Emerging Standard

Describe a relational data model for a given scenario that addresses security and privacy concerns. [Understanding]

Describe a relational data model for a given scenario that addresses security and privacy concerns. [Understanding]

Developed Standard

Diagram a relational data model for a given scenario that addresses security and privacy concerns. [Applying]

Diagram a relational data model for a given scenario that addresses security and privacy concerns. [Applying]

Highly Developed Standard

Analyze a relational data model for a given scenario that addresses security and privacy concerns. [Analyzing]

Analyze a relational data model for a given scenario that addresses security and privacy concerns. [Analyzing]

#### IM-13 Describe the differences among relational data models and other models. [Understanding]

Emerging Standard

Recognize the differences among relational data models and other models. [Remembering]

Recognize the differences among relational data models and other models. [Remembering]

Developed Standard

Describe the differences among relational data models and other models such as Object-Oriented, JSON, NoSQL. [Understanding]

Describe the differences among relational data models and other models such as Object-Oriented, JSON, NoSQL. [Understanding]

Highly Developed Standard

Analyze the differences among relational data models and other models. [Analyzing]

Analyze the differences among relational data models and other models. [Analyzing]

#### NC-01 Diagram the basic structure of the Internet. [Applying]

Emerging Standard

Explain the basic structure of the Internet. [Understanding]

Explain the basic structure of the Internet. [Understanding]

Developed Standard

Diagram the basic structure of the Internet. [Applying]

Diagram the basic structure of the Internet. [Applying]

Highly Developed Standard

Analyze the basic structure of the internet. [Analyzing]

Analyze the basic structure of the internet. [Analyzing]

#### NC-02 Describe the layered structure of a typical networked architecture, including routing and switching. [Understanding]

Emerging Standard

Label the components of a typical networked architecture. [Remembering]

Label the components of a typical networked architecture. [Remembering]

Developed Standard

Describe the layered structure of a typical networked architecture, including routing and switching. [Understanding]

Describe the layered structure of a typical networked architecture, including routing and switching. [Understanding]

Highly Developed Standard

Diagram the layered structure of a typical networked architecture. [Applying]

Diagram the layered structure of a typical networked architecture. [Applying]

#### NC-03 Diagram the layers of the OSI model, including associated protocols. [Applying]

Emerging Standard

Describe the layers of the OSI model. [Understanding]

Describe the layers of the OSI model. [Understanding]

Developed Standard

Diagram the layers of the OSI model, including associated protocols. [Applying]

Diagram the layers of the OSI model, including associated protocols. [Applying]

Highly Developed Standard

Compare the layers of the OSI model with the TCP/IP model. [Analyzing]

Compare the layers of the OSI model with the TCP/IP model. [Analyzing]

#### NC-04 Categorize the principles used for naming schemes and resource location.[Analyzing]

Emerging Standard

Summarize principles used for naming schemes and resource location. [Understanding]

Summarize principles used for naming schemes and resource location. [Understanding]

Developed Standard

Categorize the principles used for naming schemes and resource location. [Analyzing]

Categorize the principles used for naming schemes and resource location. [Analyzing]

Highly Developed Standard

Evaluate the principles used for naming schemes and resource location. [Evaluating]

Evaluate the principles used for naming schemes and resource location. [Evaluating]

#### NC-05 Implement a simple distributed network application. [Applying]

Emerging Standard

Identify the components of a simple distributed network application. [Remembering]

Identify the components of a simple distributed network application. [Remembering]

Developed Standard

Implement a simple distributed network application. [Applying]

Implement a simple distributed network application. [Applying]

Highly Developed Standard

Integrate a simple distributed network application within a server program to exchange data with a client. [Analyzing]

Integrate a simple distributed network application within a server program to exchange data with a client. [Analyzing]

#### NC-06 Describe security concerns in designing applications for use over wireless networks. [Understanding]

Emerging Standard

Recognize security concerns in designing applications for use over wireless networks. [Remembering]

Recognize security concerns in designing applications for use over wireless networks. [Remembering]

Developed Standard

Describe security concerns in designing applications for use over wireless networks. [Understanding]

Describe security concerns in designing applications for use over wireless networks. [Understanding]

Highly Developed Standard

Illustrate security concerns in designing applications for use over wireless networks. [Applying]

Illustrate security concerns in designing applications for use over wireless networks. [Applying]

#### NC-07 Illustrate secure connectivity among networked applications. [Applying]

Emerging Standard

Explain secure connectivity among networked applications. [Understanding]

Explain secure connectivity among networked applications. [Understanding]

Developed Standard

Illustrate secure connectivity among networked applications, such as SSH, HTTPS, SFTP. [Applying]

Illustrate secure connectivity among networked applications, such as SSH, HTTPS, SFTP. [Applying]

Highly Developed Standard

Critique secure connectivity among networked applications. [Evaluating]

Critique secure connectivity among networked applications. [Evaluating]

#### NC-08 Explain the advantages and disadvantages of using virtualized infrastructure in cloud computing. [Understanding] See also PD-05

Emerging Standard

List the advantages and disadvantages of using virtualized infrastructure in cloud computing. [Remembering]

List the advantages and disadvantages of using virtualized infrastructure in cloud computing. [Remembering]

Developed Standard

Explain the advantages and disadvantages of using virtualized infrastructure in cloud computing. [Understanding]

Explain the advantages and disadvantages of using virtualized infrastructure in cloud computing. [Understanding]

Highly Developed Standard

Investigate the advantages and disadvantages of using virtualized infrastructure in cloud computing. [Applying]

Investigate the advantages and disadvantages of using virtualized infrastructure in cloud computing. [Applying]

#### OS-01 Examine major objectives, functions, features, and concepts of modern operating systems. [Analyzing]

Emerging Standard

Describe objectives, functions, features, and concepts of modern operating systems. [Understanding]

Describe objectives, functions, features, and concepts of modern operating systems. [Understanding]

Developed Standard

Examine major objectives, functions, features, and concepts of modern operating systems. [Analyzing]

Examine major objectives, functions, features, and concepts of modern operating systems. [Analyzing]

Highly Developed Standard

Assess major objectives, functions, and concepts of modern operating systems. [Evaluating]

Assess major objectives, functions, and concepts of modern operating systems. [Evaluating]

#### OS-02 Compare prevailing types of operating systems. [Analyzing]

Emerging Standard

Investigate prevailing types of operating systems. [Applying]

Investigate prevailing types of operating systems. [Applying]

Developed Standard

Compare prevailing types of operating systems, such as networked, mobile, embedded, and real-time. [Analyzing]

Compare prevailing types of operating systems, such as networked, mobile, embedded, and real-time. [Analyzing]

Highly Developed Standard

Assess prevailing types of operating systems. [Evaluating]

Assess prevailing types of operating systems. [Evaluating]

#### OS-03 Illustrate potential threats to operating systems and appropriate security measures. [Applying]

Emerging Standard

Describe potential threats to operating systems and appropriate security measures. [Understanding]

Describe potential threats to operating systems and appropriate security measures. [Understanding]

Developed Standard

Illustrate potential threats to operating systems and appropriate security countermeasures. [Applying]

Illustrate potential threats to operating systems and appropriate security countermeasures. [Applying]

Highly Developed Standard

Examine potential threats to operating systems and appropriate security countermeasures.. [Analyzing]

Examine potential threats to operating systems and appropriate security countermeasures.. [Analyzing]

#### OS-04 Diagram the interaction of an Application Programming Interface (API) with an operating system [Applying]

Emerging Standard

Summarize the interaction of an Application Programming Interface (API) with an operating system. [Understanding]

Summarize the interaction of an Application Programming Interface (API) with an operating system. [Understanding]

Developed Standard

Diagram the interaction of an Application Programming Interface (API) with an operating system. [Applying]

Diagram the interaction of an Application Programming Interface (API) with an operating system. [Applying]

Highly Developed Standard

Test the interaction of an Application Programming Interface (API) with an operating system. [Evaluating]

Test the interaction of an Application Programming Interface (API) with an operating system. [Evaluating]

#### OS-05 Illustrate how computing resources are used by applications and managed by the operating system. [Applying]

Emerging Standard

Exemplify how computing resources are used by applications and managed by the operating system. [Understanding]

Exemplify how computing resources are used by applications and managed by the operating system. [Understanding]

Developed Standard

Illustrate how computing resources are used by applications and managed by the operating system. [Applying]

Illustrate how computing resources are used by applications and managed by the operating system. [Applying]

Highly Developed Standard

Test how computing resources are used by applications and managed by the operating system. [Evaluating]

Test how computing resources are used by applications and managed by the operating system. [Evaluating]

#### OS-06 Manipulate a device list or driver I/O queue. [Applying]

Emerging Standard

Explain the purpose of a device list and driver I/O queue. [Understanding]

Explain the purpose of a device list and driver I/O queue. [Understanding]

Developed Standard

Manipulate a device list or driver I/O queue. [Applying]

Manipulate a device list or driver I/O queue. [Applying]

Highly Developed Standard

Categorize device types of a modern operating system. [Analyzing]

Categorize device types of a modern operating system. [Analyzing]

#### OS-07 Investigate the need for concurrency within an operating system. [Applying] See also PD-01.

Emerging Standard

Describe the need for concurrency within an operating system. [Understanding]

Describe the need for concurrency within an operating system. [Understanding]

Developed Standard

Investigate the need for concurrency within an operating system. [Applying]

Investigate the need for concurrency within an operating system. [Applying]

Highly Developed Standard

Analyze the need for concurrency within an operating system. [Analyzing]

Analyze the need for concurrency within an operating system. [Analyzing]

#### OS-08 Illustrate the principles of memory management. [Applying]

Emerging Standard

Describe the principles of memory management. [Understanding]

Describe the principles of memory management. [Understanding]

Developed Standard

Illustrate the principles of memory management, such as memory hierarchy and allocation, tradeoffs, and caching. [Applying]

Illustrate the principles of memory management, such as memory hierarchy and allocation, tradeoffs, and caching. [Applying]

Highly Developed Standard

Analyze the principles of memory management. [Analyzing]

Analyze the principles of memory management. [Analyzing]

#### OS-09 Illustrate the concepts of virtual memory, including paging, thrashing, and partitioning. [Applying]

Emerging Standard

Describe the concepts of virtual memory, including paging, thrashing, and partitioning [Understanding]

Describe the concepts of virtual memory, including paging, thrashing, and partitioning [Understanding]

Developed Standard

Illustrate the concepts of virtual memory, including paging, thrashing, and partitioning. [Applying]

Illustrate the concepts of virtual memory, including paging, thrashing, and partitioning. [Applying]

Highly Developed Standard

Examine the concepts of virtual memory, including paging, thrashing, and partitioning [Analyzing]

Examine the concepts of virtual memory, including paging, thrashing, and partitioning [Analyzing]

#### OS-10 Investigate the features and limitations of an operating system used to provide protection and security. [Applying]

Emerging Standard

Explain the features and limitation of an operating system used to provide protection and security. [Understanding]

Explain the features and limitation of an operating system used to provide protection and security. [Understanding]

Developed Standard

Investigate the features and limitation of an operating system used to provide protection and security. [Applying]

Investigate the features and limitation of an operating system used to provide protection and security. [Applying]

Highly Developed Standard

Examine the features and limitation of an operating system used to provide protection and security. [Analyzing]

Examine the features and limitation of an operating system used to provide protection and security. [Analyzing]

#### OS-11 Use mechanisms available in an operating system to control access to resources. [Applying]

Emerging Standard

Summarize the mechanisms available in an operating system to control access to resources. [Understanding]

Summarize the mechanisms available in an operating system to control access to resources. [Understanding]

Developed Standard

Use the mechanisms available in an operating system to control access to resources. [Applying]

Use the mechanisms available in an operating system to control access to resources. [Applying]

Highly Developed Standard

Test the mechanisms available in an operating system to control access to resources. [Evaluating]

Test the mechanisms available in an operating system to control access to resources. [Evaluating]

#### OS-12 Analyze the concept of virtualization with respect to hardware and software. [Analyzing]

Emerging Standard

Investigate the concept of virtualization with respect to hardware and software. [Applying]

Investigate the concept of virtualization with respect to hardware and software. [Applying]

Developed Standard

Analyze the concept of virtualization with respect to hardware and software. [Analyzing]

Analyze the concept of virtualization with respect to hardware and software. [Analyzing]

Highly Developed Standard

Assess a given implementation of virtualization with respect to hardware and software. [Evaluating]

Assess a given implementation of virtualization with respect to hardware and software. [Evaluating]

#### OS-13 Diagram the physical hardware devices and the virtual devices maintained by an operating system. [Applying]

Emerging Standard

Explain the relationship between the physical hardware devices and virtual devices maintained by an operating system. [Understanding]

Explain the relationship between the physical hardware devices and virtual devices maintained by an operating system. [Understanding]

Developed Standard

Diagram the physical hardware devices and the virtual devices maintained by an operating system. [Applying]

Diagram the physical hardware devices and the virtual devices maintained by an operating system. [Applying]

Highly Developed Standard

Distinguish between the physical hardware devices and virtual devices used by an operating system for a given implementation of virtualization. [Analyzing]

Distinguish between the physical hardware devices and virtual devices used by an operating system for a given implementation of virtualization. [Analyzing]

#### PD-01 Analyze the goals of parallelism and concurrency. [Analyzing] See also OS-07 and SF-08.

Emerging Standard

Differentiate the goal of parallelism, such as throughput, from the goal of concurrency, such as controlling access to shared resources. [Understanding]

Differentiate the goal of parallelism, such as throughput, from the goal of concurrency, such as controlling access to shared resources. [Understanding]

Developed Standard

Analyze the goals of parallelism and concurrency. [Analyzing]

Analyze the goals of parallelism and concurrency. [Analyzing]

Highly Developed Standard

Evaluate the performance of a given program that was implemented using parallelism and concurrency techniques. [Evaluating]

Evaluate the performance of a given program that was implemented using parallelism and concurrency techniques. [Evaluating]

#### PD-02 Implement various programming constructs for synchronization. [Applying]

Emerging Standard

Summarize various programming constructs for synchronization. [Understanding]

Summarize various programming constructs for synchronization. [Understanding]

Developed Standard

Implement various programming constructs for synchronization. [Applying]

Implement various programming constructs for synchronization. [Applying]

Highly Developed Standard

Integrate synchronization routines/techniques into a non-synchronized programming constructs. [Analyzing]

Integrate synchronization routines/techniques into a non-synchronized programming constructs. [Analyzing]

#### PD-03 Contrast low-level data races with higher level races. [Analyzing]

Emerging Standard

Differentiate low-level data races from higher level races. [Understanding]

Differentiate low-level data races from higher level races. [Understanding]

Developed Standard

Contrast low-level data races with higher level races. [Analyzing

Contrast low-level data races with higher level races. [Analyzing

Highly Developed Standard

Create a low-level data race among two concurrent threads. [Creating]

Create a low-level data race among two concurrent threads. [Creating]

#### PD-04 Implement mutual exclusion in order to avoid race conditions that could cause security vulnerabilities. [Applying]

Emerging Standard

Explain mutual exclusion in order to avoid race conditions. [Understanding]

Explain mutual exclusion in order to avoid race conditions. [Understanding]

Developed Standard

Implement mutual exclusion in order to avoid race conditions that could cause security vulnerabilities. [Applying]

Implement mutual exclusion in order to avoid race conditions that could cause security vulnerabilities. [Applying]

Highly Developed Standard

Categorize critical and noncritical race conditions. [Analyzing]

Categorize critical and noncritical race conditions. [Analyzing]

#### PD-05 Investigate the challenges and concerns related to security and privacy in Cloud computing. [Applying] See also NC-08.

Emerging Standard

Describe the challenges and concerns related to security and privacy in Cloud computing. [Understanding]

Describe the challenges and concerns related to security and privacy in Cloud computing. [Understanding]

Developed Standard

Investigate the challenges and concerns related to security and privacy in Cloud computing. [Applying]

Investigate the challenges and concerns related to security and privacy in Cloud computing. [Applying]

Highly Developed Standard

Examine the challenges and concerns related to security and privacy in Cloud computing. [Analyzing]

Examine the challenges and concerns related to security and privacy in Cloud computing. [Analyzing]

#### PL-01 Design a simple class hierarchy using superclasses, subclasses, and abstract classes. [Creating]

Emerging Standard

Implement a simple class hierarchy using superclasses, subclasses, and abstract classes. [Applying

Implement a simple class hierarchy using superclasses, subclasses, and abstract classes. [Applying

Developed Standard

Design a simple class hierarchy using superclasses, subclasses, and abstract classes. [Creating]

Design a simple class hierarchy using superclasses, subclasses, and abstract classes. [Creating]

Highly Developed Standard

Develop a complex class hierarchy using superclasses, subclasses, and abstract classes. [Creating]

Develop a complex class hierarchy using superclasses, subclasses, and abstract classes. [Creating]

#### PL-02 Diagram control flow in a program using dynamic dispatch. [Applying]

Emerging Standard

Demonstrate control flow that uses dynamic dispatch. [Understanding]

Demonstrate control flow that uses dynamic dispatch. [Understanding]

Developed Standard

Diagram control flow in a program using dynamic dispatch. [Applying]

Diagram control flow in a program using dynamic dispatch. [Applying]

Highly Developed Standard

Contrast control flow that uses a static environment vs a dynamic environment. [Analyzing]

Contrast control flow that uses a static environment vs a dynamic environment. [Analyzing]

#### PL-03 Use access and visibility modifiers to secure class data and methods. [Applying]

Emerging Standard

Describe access modifiers to secure class data such as private and protected. [Understanding]

Describe access modifiers to secure class data such as private and protected. [Understanding]

Developed Standard

Use access and visibility modifiers to secure class data and methods, such as private and protected. [Applying]

Use access and visibility modifiers to secure class data and methods, such as private and protected. [Applying]

Highly Developed Standard

Analyze the security effect of using access and visibility modifiers in code. [Analyzing]

Analyze the security effect of using access and visibility modifiers in code. [Analyzing]

#### PL-04 Implement in code OOP constructs, including encapsulation, abstraction, inheritance, and polymorphism. [Applying]

Emerging Standard

Demonstrate the tenets of OOP, including encapsulation, abstraction, inheritance, and polymorphism. [Understanding]

Demonstrate the tenets of OOP, including encapsulation, abstraction, inheritance, and polymorphism. [Understanding]

Developed Standard

Implement in code OOP constructs, including encapsulation, abstraction, inheritance, and polymorphism. [Applying]

Implement in code OOP constructs, including encapsulation, abstraction, inheritance, and polymorphism. [Applying]

Highly Developed Standard

Create a program that utilizes OOP constructs, including encapsulation, abstraction, inheritance, and polymorphism. [Analyzing]

Create a program that utilizes OOP constructs, including encapsulation, abstraction, inheritance, and polymorphism. [Analyzing]

#### PL-05 Implement algorithms which utilize immutable and mutable variables. [Applying]

Emerging Standard

Discuss how functional languages handle both immutable and mutable variables. [Understanding]

Discuss how functional languages handle both immutable and mutable variables. [Understanding]

Developed Standard

Implement algorithms which utilize immutable and mutable variables. [Applying]

Implement algorithms which utilize immutable and mutable variables. [Applying]

Highly Developed Standard

Evaluate the efficiency of different algorithms which utilize immutable vs mutable variables. [Evaluating]

Evaluate the efficiency of different algorithms which utilize immutable vs mutable variables. [Evaluating]

#### PL-06 Contrast functional and object-oriented programming paradigms. [Analyzing]

Emerging Standard

Explain major differences between functional and object-oriented programming paradigms. [Understanding]

Explain major differences between functional and object-oriented programming paradigms. [Understanding]

Developed Standard

Contrast functional and object-oriented programming paradigms. [Analyzing]

Contrast functional and object-oriented programming paradigms. [Analyzing]

Highly Developed Standard

Appraise functional and object-oriented programming paradigms. [Evaluating]

Appraise functional and object-oriented programming paradigms. [Evaluating]

#### PL-07 Create an interactive program using an event-driven style. [Creating]

Emerging Standard

Describe advantages of having an event-driven programming style vs a pre-defined programming style. [Understanding]

Describe advantages of having an event-driven programming style vs a pre-defined programming style. [Understanding]

Developed Standard

Create an interactive program using an event-driven style. [Creating]

Create an interactive program using an event-driven style. [Creating]

Highly Developed Standard

Create a complex program using an event-driven style. [Creating]

Create a complex program using an event-driven style. [Creating]

#### PL-08 Describe potential security vulnerabilities in event-driven GUI applications. [Understanding]

Emerging Standard

Identify potential security vulnerabilities in event-driven GUI applications. [Remembering]

Identify potential security vulnerabilities in event-driven GUI applications. [Remembering]

Developed Standard

Describe potential security vulnerabilities in event-driven GUI applications, such as injection-based attacks. [Understanding]

Describe potential security vulnerabilities in event-driven GUI applications, such as injection-based attacks. [Understanding]

Highly Developed Standard

Illustrate potential security vulnerabilities in event-driven GUI applications. [Applying]

Illustrate potential security vulnerabilities in event-driven GUI applications. [Applying]

#### PL-09 Investigate potential errors detected from both strong-type and weak-type languages. [Applying]

Emerging Standard

Summarize possible errors detected from both strong-type and weak-type languages. [Understanding]

Summarize possible errors detected from both strong-type and weak-type languages. [Understanding]

Developed Standard

Investigate possible errors detected from both strong-type and weak-type languages. [Applying]

Investigate possible errors detected from both strong-type and weak-type languages. [Applying]

Highly Developed Standard

Discriminate among errors detected from strong-type and from weak-type languages. [Analyzing]

Discriminate among errors detected from strong-type and from weak-type languages. [Analyzing]

#### PL-10 Explain the security implications of a type-safe language for software development. [Understanding]

Emerging Standard

Recognize the security implications of a type-safe language for software development. [Remembering]

Recognize the security implications of a type-safe language for software development. [Remembering]

Developed Standard

Explain the security implications of a type-safe language for software development. [Understanding]

Explain the security implications of a type-safe language for software development. [Understanding]

Highly Developed Standard

Examine the security advantages and disadvantages of a type-safe language for software development. [Analyzing]

Examine the security advantages and disadvantages of a type-safe language for software development. [Analyzing]

#### SDF-01 Design an algorithm in a programming language to solve a simple problem. [Creating]

Emerging Standard

Implement an algorithm in a programming language to solve a simple problem. [Applying]

Implement an algorithm in a programming language to solve a simple problem. [Applying]

Developed Standard

Design an algorithm in a programming language to solve a simple problem. [Creating]

Design an algorithm in a programming language to solve a simple problem. [Creating]

Highly Developed Standard

Design an algorithm in a programming language to solve a complex problem. [Creating]

Design an algorithm in a programming language to solve a complex problem. [Creating]

#### SDF-02 Use the techniques of decomposition to modularize a program. [Applying]

Emerging Standard

Explain program decomposition. [Understanding]

Explain program decomposition. [Understanding]

Developed Standard

Use the techniques of decomposition to modularize a program. [Applying]

Use the techniques of decomposition to modularize a program. [Applying]

Highly Developed Standard

Analyze code to see how decomposition techniques were used. [Analyzing]

Analyze code to see how decomposition techniques were used. [Analyzing]

#### SDF-03 Compare multiple algorithms for a given problem. [Analyzing]

Emerging Standard

Investigate multiple algorithms for a given problem. [Applying]

Investigate multiple algorithms for a given problem. [Applying]

Developed Standard

Compare multiple algorithms for a given problem. [Analyzing]

Compare multiple algorithms for a given problem. [Analyzing]

Highly Developed Standard

Evaluate the strengths and weaknesses of multiple algorithms for a problem. [Evaluating]

Evaluate the strengths and weaknesses of multiple algorithms for a problem. [Evaluating]

#### SDF-04 Create simple programs that use abstract data types (ADTs). [Creating]

Emerging Standard

Implement simple programs that use abstract data types (ADTs). [Applying]

Implement simple programs that use abstract data types (ADTs). [Applying]

Developed Standard

Create simple programs that use abstract data types (ADTs). [Creating]

Create simple programs that use abstract data types (ADTs). [Creating]

Highly Developed Standard

Write complex programs that use abstract data types (ADTs). [Creating]

Write complex programs that use abstract data types (ADTs). [Creating]

#### SDF-05 Investigate potential vulnerabilities in provided programming code. [Applying] See also AL-16, CYB-28, PL-10, SDF-12.

Emerging Standard

Summarize potential vulnerabilities in programming code. [Understanding]

Summarize potential vulnerabilities in programming code. [Understanding]

Developed Standard

Investigate potential vulnerabilities in provided programming code. [Applying]

Investigate potential vulnerabilities in provided programming code. [Applying]

Highly Developed Standard

Choose a solution to mitigate vulnerabilities in programming code. [Evaluating]

Choose a solution to mitigate vulnerabilities in programming code. [Evaluating]

#### SDF-06 Create programs which use defensive programming techniques, including input validation, type checking, and protection against buffer overflow. [Creating] See also CYB-15.

Emerging Standard

Investigate defensive programming techniques. [Applying]

Investigate defensive programming techniques. [Applying]

Developed Standard

Create programs which use defensive programming techniques, including input validation, type checking, and protection against buffer overflow. [Creating]

Create programs which use defensive programming techniques, including input validation, type checking, and protection against buffer overflow. [Creating]

Highly Developed Standard

Create complex programs which use defensive programming techniques, including input validation, type checking, and protection against buffer overflow. [Creating]

Create complex programs which use defensive programming techniques, including input validation, type checking, and protection against buffer overflow. [Creating]

#### SDF-07 Create code in a programming language that includes primitive data types, references, variables, expressions, assignments, I/O, control structures, and functions. [Creating]

Emerging Standard

Implement code in a programming language that includes primitive data types, references, variables, expressions, assignments, I/O, control structures, and functions. [Applying]

Implement code in a programming language that includes primitive data types, references, variables, expressions, assignments, I/O, control structures, and functions. [Applying]

Developed Standard

Create code in a programming language that includes primitive data types, references, variables, expressions, assignments, I/O, control structures, and functions. [Creating]

Create code in a programming language that includes primitive data types, references, variables, expressions, assignments, I/O, control structures, and functions. [Creating]

Highly Developed Standard

Create complex programs that include primitive data types, references, variables, expressions, assignments, I/O, control structures, and functions. [Creating]

Create complex programs that include primitive data types, references, variables, expressions, assignments, I/O, control structures, and functions. [Creating]

#### SDF-08 Create a simple program that uses persistence to save data across multiple executions. [Creating]

Emerging Standard

Implement a simple program that uses persistence to save data across multiple executions. [Applying]

Implement a simple program that uses persistence to save data across multiple executions. [Applying]

Developed Standard

Create a simple program that uses persistence to save data across multiple executions. [Creating]

Create a simple program that uses persistence to save data across multiple executions. [Creating]

Highly Developed Standard

Create a complex program that uses persistence to save data across multiple executions. [Creating]

Create a complex program that uses persistence to save data across multiple executions. [Creating]

#### SDF-09 Create a simple program that uses recursion. [Creating]

Emerging Standard

Implement a simple program that uses recursion. [Applying]

Implement a simple program that uses recursion. [Applying]

Developed Standard

Create a simple program that uses recursion. [Creating]

Create a simple program that uses recursion. [Creating]

Highly Developed Standard

Develop a complex program that includes various types of recursive techniques, such as binary, tail, and natural recursion. [Creating]

Develop a complex program that includes various types of recursive techniques, such as binary, tail, and natural recursion. [Creating]

#### SDF-10 Create simple programs that include each of the following data structures: lists, stacks, queues, hash tables, graphs and trees. [Creating]

Emerging Standard

Implement programs that include each of the following data structures: lists, stacks, queues, hash tables, graphs and trees. [Applying]

Implement programs that include each of the following data structures: lists, stacks, queues, hash tables, graphs and trees. [Applying]

Developed Standard

Create simple programs that include each of the following data structures: lists, stacks, queues, hash tables, graphs and trees. [Creating]

Create simple programs that include each of the following data structures: lists, stacks, queues, hash tables, graphs and trees. [Creating]

Highly Developed Standard

Create complex programs that include each of the following data structures: lists, stacks, queues, hash tables, graphs and trees. [Creating]

Create complex programs that include each of the following data structures: lists, stacks, queues, hash tables, graphs and trees. [Creating]

#### SDF-11 Compare the efficiency of basic operations across various data structures. [Analyzing]

Emerging Standard

Investigate the efficiency of basic operations across various data structures. [Applying]

Investigate the efficiency of basic operations across various data structures. [Applying]

Developed Standard

Compare the efficiency of basic operations, such as insertion and deletion, across various data structures. [Analyzing]

Compare the efficiency of basic operations, such as insertion and deletion, across various data structures. [Analyzing]

Highly Developed Standard

Critique the efficiency of basic operations across various data structures. [Evaluating]

Critique the efficiency of basic operations across various data structures. [Evaluating]

#### SDF-12 Investigate common coding errors that introduce security vulnerabilities. [Applying]

Emerging Standard

Describe common coding errors that expose security vulnerabilities. [Understanding]

Describe common coding errors that expose security vulnerabilities. [Understanding]

Developed Standard

Investigate common coding errors that introduce security vulnerabilities, such as buffer overflows, integer errors, and memory leaks. [Applying]

Investigate common coding errors that introduce security vulnerabilities, such as buffer overflows, integer errors, and memory leaks. [Applying]

Highly Developed Standard

Test for common coding errors that introduce security vulnerabilities and the associated techniques for securing the code. [Evaluating]

Test for common coding errors that introduce security vulnerabilities and the associated techniques for securing the code. [Evaluating]

#### SDF-13 Implement refactoring within given program components. [Applying]

Emerging Standard

Recognize refactoring opportunities within given program components. [Remembering]

Recognize refactoring opportunities within given program components. [Remembering]

Developed Standard

Implement refactoring within given program components. [Applying]

Implement refactoring within given program components. [Applying]

Highly Developed Standard

Create program components utilizing refactoring. [Applying]

Create program components utilizing refactoring. [Applying]

#### SDF-14 Analyze programming code that utilizes preconditions, postconditions, and invariants. [Analyzing]

Emerging Standard

Describe programming by contract. [Understanding]

Describe programming by contract. [Understanding]

Developed Standard

Analyze programming code that utilizes preconditions, postconditions, and invariants. [Analyzing]

Analyze programming code that utilizes preconditions, postconditions, and invariants. [Analyzing]

Highly Developed Standard

Create a program utilizing preconditions, postconditions, and invariants. [Creating]

Create a program utilizing preconditions, postconditions, and invariants. [Creating]

#### SDF-15 Apply a variety of strategies to test and debug programs. [Applying]

Emerging Standard

Explain strategies to test and debug programs. [Understanding]

Explain strategies to test and debug programs. [Understanding]

Developed Standard

Apply a variety of strategies to test and debug programs, such as unit testing and test-case generation. [Applying]

Apply a variety of strategies to test and debug programs, such as unit testing and test-case generation. [Applying]

Highly Developed Standard

Analyze a variety of strategies to test and debug programs. [Analyzing]

Analyze a variety of strategies to test and debug programs. [Analyzing]

#### SDF-16 Use an integrated development environment (IDE) to create, execute, test, and debug secure programs. [Applying]

Emerging Standard

Discuss the benefits of using an integrated development environment (IDE) to create, execute, test, and debug secure programs. [Understanding]

Discuss the benefits of using an integrated development environment (IDE) to create, execute, test, and debug secure programs. [Understanding]

Developed Standard

Use an integrated development environment (IDE) to create, execute,test, and debug secure programs. [Applying]

Use an integrated development environment (IDE) to create, execute,test, and debug secure programs. [Applying]

Highly Developed Standard

Compare integrated development environments (IDEs) for a given programming language. [Analyzing]

Compare integrated development environments (IDEs) for a given programming language. [Analyzing]

#### SDF-17 Use standard libraries for a given programming language. [Applying]

Emerging Standard

Describe standard libraries for a given programming language. [Understanding]

Describe standard libraries for a given programming language. [Understanding]

Developed Standard

Use standard libraries for a given programming language. [Applying]

Use standard libraries for a given programming language. [Applying]

Highly Developed Standard

Choose appropriate components from standard libraries to solve a given problem. [Evaluating]

Choose appropriate components from standard libraries to solve a given problem. [Evaluating]

#### SDF-18 Apply consistent documentation and program style standards. [Applying]

Emerging Standard

Explain the reasons for using consistent documentation and program style standards. [Understanding]

Explain the reasons for using consistent documentation and program style standards. [Understanding]

Developed Standard

Apply consistent documentation and program style standards. [Applying]

Apply consistent documentation and program style standards. [Applying]

Highly Developed Standard

Assess documentation and program style in a given program. [Evaluating]

Assess documentation and program style in a given program. [Evaluating]

#### SDF-19 Carry out a code review on a program component using a provided security checklist. [Applying]

Emerging Standard

Explain the process of a code review. [Understanding]

Explain the process of a code review. [Understanding]

Developed Standard

Carry out a code review on a program component using a provided security checklist. [Applying]

Carry out a code review on a program component using a provided security checklist. [Applying]

Highly Developed Standard

Organize a team code review on a program component using a provided security checklist. [Analyzing]

Organize a team code review on a program component using a provided security checklist. [Analyzing]

#### SE-01 Diagram how software interacts with various systems, including information management, embedded, process control, and communications systems. [Applying]

Emerging Standard

Describe how software interacts with various systems including information management, embedded, process control, and communications systems. [Understanding]

Describe how software interacts with various systems including information management, embedded, process control, and communications systems. [Understanding]

Developed Standard

Diagram how software interacts with various systems, including information management, embedded, process control, and communications systems. [Applying]

Diagram how software interacts with various systems, including information management, embedded, process control, and communications systems. [Applying]

Highly Developed Standard

Assess how software interacts with various systems, including information management, embedded, process control, and communications systems. [Evaluating]

Assess how software interacts with various systems, including information management, embedded, process control, and communications systems. [Evaluating]

#### SE-02 Compare the features of various process models. [Analyzing]

Emerging Standard

Describe the features of a process model. [Understanding]

Describe the features of a process model. [Understanding]

Developed Standard

Compare the features of various process models, such as waterfall, iterative, and agile. [Analyzing]

Compare the features of various process models, such as waterfall, iterative, and agile. [Analyzing]

Highly Developed Standard

Critique various process models. [Evaluating]

Critique various process models. [Evaluating]

#### SE-03 Diagram the phases of the secure software development lifecycle (SecSDLC). [Applying]

Emerging Standard

Exemplify the phases the software development lifecycle (SecSDLC). [Understanding]

Exemplify the phases the software development lifecycle (SecSDLC). [Understanding]

Developed Standard

Diagram the phases of the secure software development lifecycle (SecSDLC). [Applying]

Diagram the phases of the secure software development lifecycle (SecSDLC). [Applying]

Highly Developed Standard

Examine the phases of the secure software development lifecycle (SecSDLC). [Analyzing]

Examine the phases of the secure software development lifecycle (SecSDLC). [Analyzing]

#### SE-04 Illustrate common behaviors that contribute to the effective functioning of a team. [Applying]

Emerging Standard

Describe common behaviors that contribute to the effective functioning of a team. [Understanding]

Describe common behaviors that contribute to the effective functioning of a team. [Understanding]

Developed Standard

Illustrate common behaviors that contribute to the effective functioning of a team, such as good communication skills. [Applying]

Illustrate common behaviors that contribute to the effective functioning of a team, such as good communication skills. [Applying]

Highly Developed Standard

Examine common behaviors that contribute to the effective functioning of a team. [Analyzing]

Examine common behaviors that contribute to the effective functioning of a team. [Analyzing]

#### SE-05 Investigate the risks in using third-party applications, software tools, and libraries. [Applying]

Emerging Standard

Explain the risks in using third-party code. [Understanding]

Explain the risks in using third-party code. [Understanding]

Developed Standard

Investigate the risks in using third-party applications, software tools, and libraries. [Applying]

Investigate the risks in using third-party applications, software tools, and libraries. [Applying]

Highly Developed Standard

Evaluate the risks in using third-party applications, software tools, and libraries. [Evaluating]

Evaluate the risks in using third-party applications, software tools, and libraries. [Evaluating]

#### SE-06 Use a set of development tools for software systems. [Applying]

Emerging Standard

Summarize a set of development tools for software systems. [Understanding]

Summarize a set of development tools for software systems. [Understanding]

Developed Standard

Use a set of development tools for software systems, such as requirements tracking, modeling, version control, automation, and testing. [Applying]

Use a set of development tools for software systems, such as requirements tracking, modeling, version control, automation, and testing. [Applying]

Highly Developed Standard

Choose a set of development tools for software systems. [Evaluating]

Choose a set of development tools for software systems. [Evaluating]

#### SE-07 Implement the requirements for a secure software system. [Applying]

Emerging Standard

Paraphrase the requirements for a key feature for a secure software system. Understanding]

Paraphrase the requirements for a key feature for a secure software system. Understanding]

Developed Standard

Implement the requirements for a secure software system. [Applying]

Implement the requirements for a secure software system. [Applying]

Highly Developed Standard

Develop the requirements for a secure software system. [Creating]

Develop the requirements for a secure software system. [Creating]

#### SE-08 Illustrate principles of secure software design [Applying]

Emerging Standard

Describe different software design principles. [Understanding]

Describe different software design principles. [Understanding]

Developed Standard

Illustrate principles of secure software design, such as least privilege, simplicity, separation of concerns, information hiding, coupling and cohesion, and code reuse. [Applying]

Illustrate principles of secure software design, such as least privilege, simplicity, separation of concerns, information hiding, coupling and cohesion, and code reuse. [Applying]

Highly Developed Standard

Create a program that employs secure software design principles. [Creating]

Create a program that employs secure software design principles. [Creating]

#### SE-09 Analyze an existing software design to improve its security. [Analyzing]

Emerging Standard

Identify possible stages of software design that may introduce a security vulnerability. [Remembering]

Identify possible stages of software design that may introduce a security vulnerability. [Remembering]

Developed Standard

Analyze an existing software design to improve its security. [Analyzing]

Analyze an existing software design to improve its security. [Analyzing]

Highly Developed Standard

Debate whether a proposed solution/patch to the design can fix the vulnerability in a viable and effective way. [Evaluating]

Debate whether a proposed solution/patch to the design can fix the vulnerability in a viable and effective way. [Evaluating]

#### SE-10 Describe the cost and tradeoffs associated with designing security into software. [Understanding]

Emerging Standard

Recognize situations where security designs are effectively applied in software. [Remembering]

Recognize situations where security designs are effectively applied in software. [Remembering]

Developed Standard

Describe the cost and tradeoffs associated with designing security into software. [Understanding]

Describe the cost and tradeoffs associated with designing security into software. [Understanding]

Highly Developed Standard

Compare security software designs and associated costs and tradeoffs. [Analyzing]

Compare security software designs and associated costs and tradeoffs. [Analyzing]

#### SE-11 Implement a small software project that uses a defined coding standard. [Applying]

Emerging Standard

Demonstrate a defined coding standard in a small software project. [Understanding]

Demonstrate a defined coding standard in a small software project. [Understanding]

Developed Standard

Implement a small software project that uses a defined coding standard. [Applying]

Implement a small software project that uses a defined coding standard. [Applying]

Highly Developed Standard

Justify the reason for using a given coding standard. [Evaluating]

Justify the reason for using a given coding standard. [Evaluating]

#### SE-12 Differentiate between program validation and verification. [Understanding]

Emerging Standard

Define software engineering terms verification and validation. [Remembering]

Define software engineering terms verification and validation. [Remembering]

Developed Standard

Differentiate between program validation and verification. [Understanding]

Differentiate between program validation and verification. [Understanding]

Highly Developed Standard

Apply software validation and verification for a given piece of code. [Applying]

Apply software validation and verification for a given piece of code. [Applying]

#### SE-13 Implement in code different types of testing, including security, unit testing, system testing, integration testing, and interface usability. [Applying]

Emerging Standard

Describe different types and levels of testing. [Understanding]

Describe different types and levels of testing. [Understanding]

Developed Standard

Implement in code different types of testing, including security, unit testing, system testing, integration testing, and interface usability. [Applying]

Implement in code different types of testing, including security, unit testing, system testing, integration testing, and interface usability. [Applying]

Highly Developed Standard

Examine different types of testing for given code. [Analyzing]

Examine different types of testing for given code. [Analyzing]

#### SE-14 Design a test plan that validates software security. [Creating]

Emerging Standard

Implement a given test plan that validates software security. [Applying]

Implement a given test plan that validates software security. [Applying]

Developed Standard

Design a test plan that validates software security. [Creating]

Design a test plan that validates software security. [Creating]

Highly Developed Standard

Develop a test plan that validates software security. [Creating]

Develop a test plan that validates software security. [Creating]

#### SF-01 Illustrate the basic building blocks of computers and their role in the historical development of computer architecture. [Applying]

Emerging Standard

Describe some of the basic building blocks of computers. [Understanding]

Describe some of the basic building blocks of computers. [Understanding]

Developed Standard

Illustrate the basic building blocks of computers and their role in the historical development of computer architecture. [Applying]

Illustrate the basic building blocks of computers and their role in the historical development of computer architecture. [Applying]

Highly Developed Standard

Outline the basic building blocks of computers and their role in the historical development of computer architecture. [Analyzing]

Outline the basic building blocks of computers and their role in the historical development of computer architecture. [Analyzing]

#### SF-02 Discuss the differences between single thread and multiple thread, as well as single server and multiple server models. [Understanding]

Emerging Standard

Identify some differences between single thread and multiple thread, as well as single server and multiple server models. [Remembering]

Identify some differences between single thread and multiple thread, as well as single server and multiple server models. [Remembering]

Developed Standard

Discuss the differences between single thread and multiple thread, as well as single server and multiple server models. [Understanding]

Discuss the differences between single thread and multiple thread, as well as single server and multiple server models. [Understanding]

Highly Developed Standard

Illustrate the differences between single thread and multiple thread, as well as single server and multiple server models. [Applying]

Illustrate the differences between single thread and multiple thread, as well as single server and multiple server models. [Applying]

#### SF-03 Investigate security implications related to emerging computational paradigms. [Applying]

Emerging Standard

Report security implications related to computational paradigms. [Understanding]

Report security implications related to computational paradigms. [Understanding]

Developed Standard

Investigate security implications related to emerging computational paradigms, such as quantum computing and biological computing. [Applying]

Investigate security implications related to emerging computational paradigms, such as quantum computing and biological computing. [Applying]

Highly Developed Standard

Analyze security implications related to emerging computational paradigms. [Analyzing]

Analyze security implications related to emerging computational paradigms. [Analyzing]

#### SF-04 Describe how computing systems are constructed of layers upon layers. [Understanding]

Emerging Standard

Recognize that computing systems are constructed of layers upon layers. [Remembering]

Recognize that computing systems are constructed of layers upon layers. [Remembering]

Developed Standard

Describe how computing systems are constructed of layers upon layers, such as separation of concerns, well-defined interfaces, and abstraction. [Understanding]

Describe how computing systems are constructed of layers upon layers, such as separation of concerns, well-defined interfaces, and abstraction. [Understanding]

Highly Developed Standard

Diagram a computing system constructed of layers upon layers. [Applying]

Diagram a computing system constructed of layers upon layers. [Applying]

#### SF-05 Implement a program using methods of layering. [Applying]

Emerging Standard

Exemplify a program that uses methods of layering. [Understanding]

Exemplify a program that uses methods of layering. [Understanding]

Developed Standard

Implement a program using methods of layering, such as error detection, recovery and status across layers. [Applying]

Implement a program using methods of layering, such as error detection, recovery and status across layers. [Applying]

Highly Developed Standard

Develop a program using methods of layering. [Creating]

Develop a program using methods of layering. [Creating]

#### SF-06 Investigate defects in a layered program using tools for program tracing, single stepping, and debugging. [Applying]

Emerging Standard

Demonstrate defects in a layered program using tools for program tracing, single stepping, and debugging. [Understanding]

Demonstrate defects in a layered program using tools for program tracing, single stepping, and debugging. [Understanding]

Developed Standard

Investigate defects in a layered program using tools for program tracing, single stepping, and debugging. [Applying]

Investigate defects in a layered program using tools for program tracing, single stepping, and debugging. [Applying]

Highly Developed Standard

Categorize defects by security risk in a layered program using tools for program tracing, single stepping, and debugging. [Analyzing]

Categorize defects by security risk in a layered program using tools for program tracing, single stepping, and debugging. [Analyzing]

#### SF-07 Illustrate the performance of simple sequential and parallel versions of the same program with different problem sizes. [Applying]

Emerging Standard

Summarize the general performance of simple sequential and parallel versions of the same program. [Understanding]

Summarize the general performance of simple sequential and parallel versions of the same program. [Understanding]

Developed Standard

Illustrate the performance of simple and parallel versions of the same program with different problem sizes. [Applying]

Illustrate the performance of simple and parallel versions of the same program with different problem sizes. [Applying]

Highly Developed Standard

Compare the performance of simple and parallel versions of the same program with different problem sizes. [Analyzing]

Compare the performance of simple and parallel versions of the same program with different problem sizes. [Analyzing]

#### SF-08 Summarize the differences among the concepts of instruction parallelism, data parallelism, thread parallelism/multitasking, and task/request parallelism. [Understanding] See also PD-01.

Emerging Standard

Define the concepts of instruction parallelism, data parallelism, thread parallelism/multitasking, and task/request parallelism. [Remembering]

Define the concepts of instruction parallelism, data parallelism, thread parallelism/multitasking, and task/request parallelism. [Remembering]

Developed Standard

Summarize the differences among the concepts of instruction parallelism, data parallelism, thread parallelism/multitasking, and task/request parallelism. [Understanding]

Summarize the differences among the concepts of instruction parallelism, data parallelism, thread parallelism/multitasking, and task/request parallelism. [Understanding]

Highly Developed Standard

Investigate the differences among the concepts of instruction parallelism, data parallelism, thread parallelism/ multitasking, and task/request parallelism. [Applying]

Investigate the differences among the concepts of instruction parallelism, data parallelism, thread parallelism/ multitasking, and task/request parallelism. [Applying]

#### SF-09 Investigate other uses of parallelism, including reliability and redundancy of execution. [Applying]

Emerging Standard

Describe other uses of parallelism, including reliability and redundancy of execution. [Understanding]

Describe other uses of parallelism, including reliability and redundancy of execution. [Understanding]

Developed Standard

Investigate other uses of parallelism, including reliability and redundancy of execution. [Applying]

Investigate other uses of parallelism, including reliability and redundancy of execution. [Applying]

Highly Developed Standard

Examine other uses of parallelism, including reliability and redundancy of execution. [Analyzing]

Examine other uses of parallelism, including reliability and redundancy of execution. [Analyzing]

#### SP-01 Investigate both positive and negative ways in which computing technology impacts information exchange and social interaction. [Applying]

Emerging Standard

Describe different ways in which computing technology impacts information exchange and social interaction. [Understanding]

Describe different ways in which computing technology impacts information exchange and social interaction. [Understanding]

Developed Standard

Investigate both positive and negative ways in which computing technology impacts information exchange and social interaction, such as the Internet, mobile computing, and social media. [Applying]

Investigate both positive and negative ways in which computing technology impacts information exchange and social interaction, such as the Internet, mobile computing, and social media. [Applying]

Highly Developed Standard

Analyze positive and negative ways in which computing technology impacts information exchange and social interactions. [Analyzing]

Analyze positive and negative ways in which computing technology impacts information exchange and social interactions. [Analyzing]

#### SP-02 Examine developers’ assumptions and values embedded in hardware and software design, especially with respect to underrepresented groups and diverse populations. [Analyzing] See also HCI-06.

Emerging Standard

Infer developers’ assumptions and values embedded in hardware and software design, especially with respect to underrepresented groups and diverse populations. [Understanding]

Infer developers’ assumptions and values embedded in hardware and software design, especially with respect to underrepresented groups and diverse populations. [Understanding]

Developed Standard

Examine developers’ assumptions and values embedded in hardware and software design, especially with respect to underrepresented groups and diverse populations, such as persons with disabilities. [Analyzing]

Examine developers’ assumptions and values embedded in hardware and software design, especially with respect to underrepresented groups and diverse populations, such as persons with disabilities. [Analyzing]

Highly Developed Standard

Critique developers’ assumptions and values embedded in hardware and software design, especially as pertinent to underrepresented groups and the disabled. [Evaluating]

Critique developers’ assumptions and values embedded in hardware and software design, especially as pertinent to underrepresented groups and the disabled. [Evaluating]

#### SP-03 Analyze the impact of diversity on the computing profession. [Analyzing]

Emerging Standard

Discuss the impact of diversity on the computing profession. [Understanding]

Discuss the impact of diversity on the computing profession. [Understanding]

Developed Standard

Analyze the impact of diversity on the computing profession, such as industry culture and product development. [Analyzing]

Analyze the impact of diversity on the computing profession, such as industry culture and product development. [Analyzing]

Highly Developed Standard

Assess the impact of diversity on the computing profession. [Evaluating]

Assess the impact of diversity on the computing profession. [Evaluating]

#### SP-04 Investigate social engineering attacks and the types of bad actors who might perform them. [Applying]

Emerging Standard

Describe social engineering attacks and the types of bad actors who might perform them. [Understanding]

Describe social engineering attacks and the types of bad actors who might perform them. [Understanding]

Developed Standard

Investigate social engineering attacks and the types of bad actors who might perform them. [Applying]

Investigate social engineering attacks and the types of bad actors who might perform them. [Applying]

Highly Developed Standard

Analyze the impact and likelihood of social engineering attacks. [Analyzing]

Analyze the impact and likelihood of social engineering attacks. [Analyzing]

#### SP-05 Contrast stakeholder positions in a given scenario. [Analyzing]

Emerging Standard

Infer stakeholder positions in a given scenario. [Understanding]

Infer stakeholder positions in a given scenario. [Understanding]

Developed Standard

Contrast stakeholder positions in a given scenario. [Analyzing]

Contrast stakeholder positions in a given scenario. [Analyzing]

Highly Developed Standard

Debate stakeholder positions in a given scenario. [Evaluating]

Debate stakeholder positions in a given scenario. [Evaluating]

#### SP-06 Analyze social tradeoffs in technical decisions. [Analyzing]

Emerging Standard

Explain social tradeoffs in technical decisions. [Understanding]

Explain social tradeoffs in technical decisions. [Understanding]

Developed Standard

Analyze ethical and social tradeoffs in technical decisions. [Analyzing]

Analyze ethical and social tradeoffs in technical decisions. [Analyzing]

Highly Developed Standard

Justify social tradeoffs in technical decisions. [Evaluating]

Justify social tradeoffs in technical decisions. [Evaluating]

#### SP-07 Examine various ethics scenarios in computing. [Analyzing]

Emerging Standard

Discuss ethics scenarios in computing. [Understanding]

Discuss ethics scenarios in computing. [Understanding]

Developed Standard

Analyze various ethics scenarios in computing. [Analyzing]

Analyze various ethics scenarios in computing. [Analyzing]

Highly Developed Standard

Debate various ethics scenarios in computing. [Evaluating]

Debate various ethics scenarios in computing. [Evaluating]

#### SP-08 Support the ethical responsibility of ensuring software correctness, reliability, and safety. [Evaluating]

Emerging Standard

Examine the ethical responsibility in ensuring software correctness, reliability, and safety. [Analyzing]

Examine the ethical responsibility in ensuring software correctness, reliability, and safety. [Analyzing]

Developed Standard

Support the ethical responsibility of ensuring software correctness, reliability, and safety. [Evaluating]

Support the ethical responsibility of ensuring software correctness, reliability, and safety. [Evaluating]

Highly Developed Standard

Hypothesize various ethical responsibilities of ensuring software correctness, reliability, and safety. [Creating]

Hypothesize various ethical responsibilities of ensuring software correctness, reliability, and safety. [Creating]

#### SP-09 Compare professional codes of conduct from the ACM, IEEE Computer Society, and other organizations. [Analyzing]

Emerging Standard

Discuss professional codes of conduct from the ACM, IEEE Computer Society, and other organizations.. [Understanding]

Discuss professional codes of conduct from the ACM, IEEE Computer Society, and other organizations.. [Understanding]

Developed Standard

Compare professional codes of conduct from the ACM, IEEE Computer Society, and other organizations. [Analyzing]

Compare professional codes of conduct from the ACM, IEEE Computer Society, and other organizations. [Analyzing]

Highly Developed Standard

Evaluate professional codes of conduct from the ACM, IEEE Computer Society, and other organizations. [Evaluating]

Evaluate professional codes of conduct from the ACM, IEEE Computer Society, and other organizations. [Evaluating]

#### SP-10 Differentiate the terms among intellectual property, fair-use, copyright, patent, trademark, and plagiarism. [Understanding]

Emerging Standard

Define the terms intellectual property, fair-use, copyright, and plagiarism. Give examples of each. State the plagiarism policy at your school. [Remembering]

Define the terms intellectual property, fair-use, copyright, and plagiarism. Give examples of each. State the plagiarism policy at your school. [Remembering]

Developed Standard

Differentiate the terms intellectual property, fair-use, copyright, patent, trademark, and plagiarism. [Understanding

Differentiate the terms intellectual property, fair-use, copyright, patent, trademark, and plagiarism. [Understanding

Highly Developed Standard

Investigate ethics violations related to intellectual property rights, fair-use, copyright, patents, trademarks, and plagiarism. [Applying]

Investigate ethics violations related to intellectual property rights, fair-use, copyright, patents, trademarks, and plagiarism. [Applying]

#### SP-11 Discuss the rationale for legal protection of intellectual property. [Understanding]

Emerging Standard

Recognize the rationale for legal protection of intellectual property. [Remembering]

Recognize the rationale for legal protection of intellectual property. [Remembering]

Developed Standard

Discuss the rationale for legal protection of intellectual property. [Understanding]

Discuss the rationale for legal protection of intellectual property. [Understanding]

Highly Developed Standard

Examine the rationale for legal protection of intellectual property. [Analyzing]

Examine the rationale for legal protection of intellectual property. [Analyzing]

#### SP-12 Outline the need for legal protection of personal privacy. [Analyzing]

Emerging Standard

Discuss the need for legal protection of personal privacy. [Understanding]

Discuss the need for legal protection of personal privacy. [Understanding]

Developed Standard

Outline the need for legal protection of personal privacy. [Analyzing]

Outline the need for legal protection of personal privacy. [Analyzing]

Highly Developed Standard

Defend the need for legal protection of personal privacy. [Evaluating]

Defend the need for legal protection of personal privacy. [Evaluating]

#### SP-13 Investigate threats to privacy rights in personally identifiable information (PII). [Applying]

Emerging Standard

Summarize threats to privacy rights in personally identifiable information (PII). [Understanding]

Summarize threats to privacy rights in personally identifiable information (PII). [Understanding]

Developed Standard

Investigate threats to privacy rights in personally identifiable information (PII). [Applying]

Investigate threats to privacy rights in personally identifiable information (PII). [Applying]

Highly Developed Standard

Analyze solutions for privacy threats to personally identifiable Information. [Analyzing]

Analyze solutions for privacy threats to personally identifiable Information. [Analyzing]

#### SP-14 Illustrate the role of data collection in the implementation of pervasive surveillance systems. [Applying]

Emerging Standard

Discuss the role of data collection in the implementation of pervasive surveillance systems. [Understanding]

Discuss the role of data collection in the implementation of pervasive surveillance systems. [Understanding]

Developed Standard

Illustrate the role of data collection in the implementation of pervasive surveillance systems, such as RFID, face recognition, and mobile computing. [Applying]

Illustrate the role of data collection in the implementation of pervasive surveillance systems, such as RFID, face recognition, and mobile computing. [Applying]

Highly Developed Standard

Assess the role of data collection in the implementation of pervasive surveillance systems. [Evaluating]

Assess the role of data collection in the implementation of pervasive surveillance systems. [Evaluating]

#### SP-15 Analyze technological solutions to privacy concerns. [Analyzing]

Emerging Standard

Investigate technological solutions to privacy concerns. [Applying]

Investigate technological solutions to privacy concerns. [Applying]

Developed Standard

Analyze technological solutions to privacy concerns. [Analyzing]

Analyze technological solutions to privacy concerns. [Analyzing]

Highly Developed Standard

Choose a technological solution to solve a privacy problem. [Evaluating]

Choose a technological solution to solve a privacy problem. [Evaluating]

#### SP-16 Use effective oral, written, electronic, and visual communication techniques with stakeholders. [Applying]

Emerging Standard

Demonstrate effective oral, written, electronic, and visual communication techniques. [Understanding]

Demonstrate effective oral, written, electronic, and visual communication techniques. [Understanding]

Developed Standard

Use effective oral, written, electronic, and visual communication techniques with stakeholders. [Applying]

Use effective oral, written, electronic, and visual communication techniques with stakeholders. [Applying]

Highly Developed Standard

Choose the appropriate oral, written, electronic or visual communication technique with stakeholders. [Evaluating]

Choose the appropriate oral, written, electronic or visual communication technique with stakeholders. [Evaluating]

#### SP-17 Interpret the impact of both verbal and nonverbal cues during communication among team members. [Understanding]

Emerging Standard

Recognize both verbal and nonverbal cues during communication among team members. [Remembering]

Recognize both verbal and nonverbal cues during communication among team members. [Remembering]

Developed Standard

Interpret the impact of both verbal and nonverbal cues during communication among team members. [Understanding]

Interpret the impact of both verbal and nonverbal cues during communication among team members. [Understanding]

Highly Developed Standard

Analyze the impact of both verbal and nonverbal cues during communication among team members. [Analyzing]

Analyze the impact of both verbal and nonverbal cues during communication among team members. [Analyzing]

#### SP-18 Develop technical artifacts. [Creating]

Emerging Standard

Write a technical artifact. [Applying]

Write a technical artifact. [Applying]

Developed Standard

Develop technical artifacts, such as documentation of source code and user requirements, as well as project documents. [Creating]

Develop technical artifacts, such as documentation of source code and user requirements, as well as project documents. [Creating]

Highly Developed Standard

Create technical artifacts of considerable length and/or complexity. [Creating]

Create technical artifacts of considerable length and/or complexity. [Creating]

#### SP-19 Analyze case studies related to sustainable computing efforts. [Analyzing]

Emerging Standard

Paraphrase case studies related to sustainable computing efforts. [Understanding]

Paraphrase case studies related to sustainable computing efforts. [Understanding]

Developed Standard

Analyze case studies related to sustainable computing efforts. [Analyzing]

Analyze case studies related to sustainable computing efforts. [Analyzing]

Highly Developed Standard

Critique case studies related to sustainable computing efforts. [Evaluating]

Critique case studies related to sustainable computing efforts. [Evaluating]

#### SP-20 Investigate laws applicable to computer crimes. [Appying]

Emerging Standard

Paraphrase laws applicable to computer crimes. [Understanding]

Paraphrase laws applicable to computer crimes. [Understanding]

Developed Standard

Investigate laws applicable to computer crimes. [Applying]

Investigate laws applicable to computer crimes. [Applying]

Highly Developed Standard

Debate laws applicable to computer crimes. [Evaluating]

Debate laws applicable to computer crimes. [Evaluating]

#### SP-21 Examine the motivation and ramifications of cyber terrorism and criminal hacking. [Analyzing]

Emerging Standard

Discuss the motivation and ramifications of cyber terrorism and criminal hacking. [Understanding]

Discuss the motivation and ramifications of cyber terrorism and criminal hacking. [Understanding]

Developed Standard

Examine the motivation and ramifications of cyber terrorism and criminal hacking. [Analyzing]

Examine the motivation and ramifications of cyber terrorism and criminal hacking. [Analyzing]

Highly Developed Standard

Evaluate the motivation and ramifications of cyber terrorism and criminal hacking. [Evaluating]

Evaluate the motivation and ramifications of cyber terrorism and criminal hacking. [Evaluating]

#### SP-22 Write a company-wide security policy. [Applying]

Emerging Standard

Exemplify a company-wide security policy. [Understanding]

Exemplify a company-wide security policy. [Understanding]

Developed Standard

Write a company-wide security policy, such as procedures for managing passwords, avoiding social engineering attacks, and monitoring employees. [Applying]

Write a company-wide security policy, such as procedures for managing passwords, avoiding social engineering attacks, and monitoring employees. [Applying]

Highly Developed Standard

Compare several company-wide security policies. [Analyzing]

Compare several company-wide security policies. [Analyzing]