Standards in this Framework
Standard | Lessons |
---|---|
CSL1.1.1
Leverage problem-solving strategies to solve problems of level-appropriate complexity. NOTE: Some problem-solving strategies may include but are not limited to recursion, iteration, Agile method, 6-step engineering design process, and waterfall. |
|
CSL2.1.1
Leverage problem-solving strategies to solve problems of level-appropriate complexity. NOTE: Some problem-solving strategies may include but are not limited to recursion, iteration, Agile method, 6-step engineering design process, and waterfall. |
|
CSL3.1.1
Leverage problem-solving strategies to solve problems of level-appropriate complexity. NOTE: Some problem-solving strategies may include but are not limited to recursion, iteration, Agile method, 6-step engineering design process, and waterfall. |
|
CSL4.1.1
Leverage problem-solving strategies to solve problems of level-appropriate complexity. NOTE: Some problem-solving strategies may include but are not limited to recursion, iteration, Agile method, 6-step engineering design process, and waterfall. |
|
CSL1.1.2
Compare and contrast multiple representations of problem-solving logic. NOTE: Some representation methods may include but are not limited to documentation, backlog, sprints, decision matrix, design brief, flowchart, and pseudocode. |
|
CSL2.1.2
Analyze multiple representations of problem-solving logic. NOTE: Some representation methods may include but are not limited to documentation, backlog, sprints, decision matrix, design brief, flowchart, and pseudocode. |
|
CSL3.1.2
Design multiple representations of problem-solving logic used to solve a problem of appropriate complexity. NOTE: Some representation methods may include but are not limited to documentation, backlog, sprints, decision matrix, design brief, flowchart, and pseudocode. |
|
CSL4.1.2
Critique multiple representations of problem-solving logic used to solve a problem of appropriate complexity. NOTE: Some representation methods may include but are not limited to documentation, backlog, sprints, decision matrix, design brief, flowchart, and pseudocode. |
|
CSL1.1.3
Analyze and implement collaborative methods in problem solving of level-appropriate complexity. NOTE: Some implementation methods may include but are not limited to paired programming, distributive (divide & conquer), and redundant parallel. |
|
CSL2.1.3
Analyze and implement collaborative methods in problem solving of level-appropriate complexity. NOTE: Some implementation methods may include but are not limited to paired programming, distributive (divide & conquer), and redundant parallel. |
|
CSL3.1.3
Analyze and implement collaborative methods in problem solving of level-appropriate complexity. NOTE: Some implementation methods may include but are not limited to paired programming, distributive (divide & conquer), and redundant parallel. |
|
CSL4.1.3
Analyze and implement collaborative methods in problem solving of level-appropriate complexity. NOTE: Some implementation methods may include but are not limited to paired programming, distributive (divide & conquer), and redundant parallel. |
|
CSL1.1.4
Recognize processes and techniques for troubleshooting of level-appropriate complexity. NOTE: Some processes and techniques for troubleshooting may include but are not limited to tracing; debugging; identification/removal of malware; and error-classification including syntax, logic, runtime, and off-by-one errors. |
|
CSL2.1.4
Recognize processes and techniques for troubleshooting of level-appropriate complexity. NOTE: Some processes and techniques for troubleshooting may include but are not limited to tracing; debugging; identification/removal of malware; and error-classification including syntax, logic, runtime, and off-by-one errors. |
|
CSL3.1.4
Recognize processes and techniques for troubleshooting of level-appropriate complexity. NOTE: Some processes and techniques for troubleshooting may include but are not limited to tracing; debugging; identification/removal of malware; and error-classification including syntax, logic, runtime, and off-by-one errors. |
|
CSL4.1.4
Recognize processes and techniques for troubleshooting of level-appropriate complexity. NOTE: Some processes and techniques for troubleshooting may include but are not limited to tracing; debugging; identification/removal of malware; and error-classification including syntax, logic, runtime, and off-by-one errors. |
|
CSL1.1.5
Decompose a problem of level-appropriate complexity into more simple, solvable parts. NOTE: Solvable parts may include but are not limited to methods, functions, and subroutines with and without parameters. |
|
CSL2.1.5
Decompose a problem of level-appropriate complexity into more simple, solvable parts. NOTE: Solvable parts may include but are not limited to methods, functions, and subroutines with and without parameters. |
|
CSL3.1.5
Decompose a problem of level-appropriate complexity into more simple, solvable parts. NOTE: Solvable parts may include but are not limited to methods, functions, and subroutines with and without parameters. |
|
CSL4.1.5
Decompose a problem of level-appropriate complexity into more simple, solvable parts. NOTE: Solvable parts may include but are not limited to methods, functions, and subroutines with and without parameters. |
|
CSL1.2.1
Interpret logical expressions using Boolean operators (e.g., AND, NOT, OR, XOR) |
|
CSL2.2.1
Interpret logical expressions using short-circuit evaluation |
|
CSL1.2.2
Classify the types of information that can be stored as variables (e.g., Booleans, characters, integers, floating points, strings) |
|
CSL1.2.3
Identify mathematical concepts (e.g., random number generation, vocabulary) related to computer science |
|
CSL2.2.3
Recognize the similarities and differences between mathematics and computer science algorithms |
|
CSL3.2.3
Demonstrate basic encryption (e.g., block cipher, Caesar cipher) |
|
CSL2.2.4
Discuss the concept of abstraction |
|
CSL3.2.4
Analyze the concepts of abstraction as modeling and abstraction as encapsulation |
|
CSL4.2.4
Use the concepts of abstraction as modeling and abstraction as encapsulation |
|
CSL2.2.5
Perform simple operations with base10, base2, and base16 numbers. NOTE: Some operations may include but are not limited to addition, subtraction, and conversion. |
|
CSL4.2.5
Perform simple operations with base10, base2, base8, and base16 numbers. NOTE: Some operations may include but are not limited to addition, subtraction, and conversion. |
|
CSL1.2.6
Demonstrate operator (e.g., +, -, /, %, concatenation) precedence in expressions and statements. NOTE: Some examples of operator precedence and assignment may include but are not limited to inside-out, order of operations, and x = 1 is not the same as 1 = x. |
|
CSL2.2.6
Demonstrate operator (e.g., math, pow, sqrt) precedence in expressions and statements. NOTE: Some examples of operator precedence and assignment may include but are not limited to inside-out, order of operations, and x = 1 is not the same as 1 = x. |
|
CSL1.3.1
Define, store, and manipulate primitive data. NOTE: Primitive data can include, but is not limited to, bool, char, double, float, int. Defining and storing can include, but are not limited to, modifiers such as final, private, protected, public. Manipulating data can include, but is not limited to, arranging (including stacking and queuing), casting, rearranging, sorting. |
|
CSL2.3.1
Define, store, and manipulate linear data. NOTE: Linear data can include, but is not limited to, arrays, lists, strings, vectors. Defining and storing can include, but are not limited to, modifiers such as final, private, protected, public. Manipulating data can include, but is not limited to, arranging (including stacking and queuing), casting, rearranging, sorting. |
|
CSL3.3.1
Define, store, and manipulate structured data and objects. NOTE: Structured data can include, but is not limited to, arrays, classes, linked lists, multidimensional arrays, structs, user-defined classes. Objects can include, but are not limited to, constructors, data members, methods, pass-by-value/pass-by-reference parameters. Defining and storing can include, but are not limited to, modifiers such as final, private, protected, public. Manipulating data can include, but is not limited to, arranging (including stacking and queuing), casting, rearranging, sorting. |
|
CSL4.3.1
Create a program to store and manipulate various data. NOTE: Structured data can include, but is not limited to, arrays, classes, linked lists, multidimensional arrays, structs, user-defined classes. Objects can include, but are not limited to, constructors, data members, methods, pass-by-value/pass-by-reference parameters. Defining and storing can include, but are not limited to, modifiers such as final, private, protected, public. Manipulating data can include, but is not limited to, arranging (including stacking and queuing), casting, rearranging, sorting. |
|
CSL1.3.2
Compare and contrast level-appropriate numeric and non-numeric data representations. NOTE: Topics could include, but are not limited to, analog vs. digital, ASCII/Unicode, bar codes, compression, encoding, light/pixels, size of file vs. data types vs. storage needed, sound wave/sampling. |
|
CSL2.3.2
Compare and contrast level-appropriate numeric and non-numeric data representations. NOTE: Topics could include, but are not limited to, analog vs. digital, ASCII/Unicode, bar codes, compression, encoding, light/pixels, size of file vs. data types vs. storage needed, sound wave/sampling. |
|
CSL3.3.2
Compare and contrast level-appropriate numeric and non-numeric data representations. NOTE: Topics could include, but are not limited to, analog vs. digital, ASCII/Unicode, bar codes, compression, encoding, light/pixels, size of file vs. data types vs. storage needed, sound wave/sampling. |
|
CSL4.3.2
Compare and contrast level-appropriate numeric and non-numeric data representations. NOTE: Topics could include, but are not limited to, analog vs. digital, ASCII/Unicode, bar codes, compression, encoding, light/pixels, size of file vs. data types vs. storage needed, sound wave/sampling. |
|
CSL2.4.1
Analyze the degree to which a computer model accurately represents an actual situation (e.g., Conway’s Game of Life, population growth, predator-prey) |
|
CSL3.4.1
Critique techniques for creating models, simulations, and generating random numbers to be used for data analysis |
|
CSL4.4.1
Create various models and simulations as predictors for probabilistic scenarios (e.g., flip a coin, random walker, roll a die) and/or real-world scenarios (e.g., city population, predator-prey) |
|
CSL1.4.2
Examine the ability of computing technology to create and process Big Data |
|
CSL2.4.2
Determine an appropriate visual representation for given data |
|
CSL3.4.2
Compare and contrast multiple visual representation tools for given data |
|
CSL2.4.3
Implement algorithms to perform data analysis (e.g., longest string, maximum, mean, minimum, range) |
|
CSL1.5.1
Construct and evaluate simple expressions using relational and logical operators |
|
CSL2.5.1
Construct and evaluate compound expressions using relational and logical operators |
|
CSL1.5.2
Design and implement algorithms that use sequence and selection including nested ifs (e.g., if, if/else, if/else if, switch-case) |
|
CSL2.5.2
Design and implement algorithms that use sequence, selection, and iteration including nested loops (e.g., for, for each, while, do while) |
|
CSL3.5.2
Design and implement algorithms that use sequence, selection, iteration and recursion |
|
CSL1.5.3
Illustrate the flow of execution of a program including branching and looping |
|
CSL2.5.3
Illustrate the flow of execution of an increasingly complex program including branching and looping |
|
CSL3.5.3
Critically analyze classic search and sort algorithms in different contexts, adapting as appropriate |
|
CSL1.5.4
Evaluate the qualities of level-appropriate algorithms. NOTE: Evaluation tools can include, but are not limited to, a code review and test cases. Qualities can include correctness, usability, readability, efficiency, portability, and scalability. |
|
CSL2.5.4
Evaluate the qualities of level-appropriate algorithms. NOTE: Evaluation tools can include, but are not limited to, a code review and test cases. Qualities can include correctness, usability, readability, efficiency, portability, and scalability. |
|
CSL3.5.4
Evaluate the qualities of level-appropriate algorithms. NOTE: Evaluation tools can include, but are not limited to, a code review and test cases. Qualities can include correctness, usability, readability, efficiency, portability, and scalability. |
|
CSL4.5.4
Evaluate the qualities of level-appropriate algorithms. NOTE: Evaluation tools can include, but are not limited to, a code review and test cases. Qualities can include correctness, usability, readability, efficiency, portability, and scalability. |
|
CSL1.5.5
Utilize a systematic approach to detect structural and logic errors |
|
CSL2.5.5
Utilize a systematic approach to detect structural and logic errors |
|
CSL3.5.5
Utilize a systematic approach to detect structural and logic errors |
|
CSL4.5.5
Utilize a systematic approach to detect structural and logic errors |
|
CSL1.6.1
Create programs to solve problems of level-appropriate complexity applying best practices of program design and format (e.g., descriptive names, documentation, indentation, whitespace). NOTE: Problems of varying complexity can include, but are not limited to, encoding, encryption, finding minimum/maximum values, identifying prime numbers, searching and sorting, and solving the Towers of Hanoi. |
|
CSL2.6.1
Create programs to solve problems of level-appropriate complexity applying best practices of program design and format (e.g., descriptive names, documentation, indentation, whitespace). NOTE: Problems of varying complexity can include, but are not limited to, encoding, encryption, finding minimum/maximum values, identifying prime numbers, searching and sorting, and solving the Towers of Hanoi. |
|
CSL3.6.1
Create programs to solve problems of level-appropriate complexity applying best practices of program design and format (e.g., descriptive names, documentation, indentation, whitespace). NOTE: Problems of varying complexity can include, but are not limited to, encoding, encryption, finding minimum/maximum values, identifying prime numbers, searching and sorting, and solving the Towers of Hanoi. |
|
CSL4.6.1
Create programs to solve problems of level-appropriate complexity applying best practices of program design and format (e.g., descriptive names, documentation, indentation, whitespace). NOTE: Problems of varying complexity can include, but are not limited to, encoding, encryption, finding minimum/maximum values, identifying prime numbers, searching and sorting, and solving the Towers of Hanoi. |
|
CSL1.6.2
Utilize functions/methods/procedures to input, output, and manipulate data with and without parameters. NOTE: In conjunction with standards CSL1.3.1 through CSL4.3.1, the goal is to introduce and implement object-oriented programming. |
|
CSL2.6.2
Determine the scope of variables declared in functions/methods/procedures and control structures. NOTE: In conjunction with standards CSL1.3.1 through CSL4.3.1, the goal is to introduce and implement object-oriented programming. |
|
CSL3.6.2
Determine the scope of variables and functions/methods/procedures declared in objects (e.g., public, private, encapsulation). NOTE: In conjunction with standards CSL1.3.1 through CSL4.3.1, the goal is to introduce and implement object-oriented programming. |
|
CSL4.6.2
Determine the scope of variables and functions/methods/procedures defined in abstract classes and interfaces (e.g., encapsulation, inheritance, polymorphism). NOTE: In conjunction with standards CSL1.3.1 through CSL4.3.1, the goal is to introduce and implement object-oriented programming. |
|
CSL1.6.3
Create a program that reads from standard input and writes to standard output |
|
CSL2.6.3
Create a program that reads from a file and writes to a file |
|
CSL4.6.4
Explain advantages and disadvantages of various software life cycle processes (e.g., Agile, spiral, waterfall) by participating on software project teams |
|
CSL2.7.1
Characterize how software and/or hardware is used in industry (e.g., business, government, medical, military, sports) |
|
CSL4.7.1
Utilize software and/or hardware to solve various industry-based problems |
|
CSL1.7.2
Identify desired technical and soft skills (e.g., collaboration, communication, problem solving, teamwork) that can be enhanced by computer science |
|
CSL2.7.2
Discuss technical and soft skills honed by computer science |
|
CSL3.7.2
Demonstrate technical and soft skills honed by computer science |
|
CSL4.7.2
Demonstrate technical and soft skills honed by computer science |
|
CSL1.7.3
Discuss diverse careers that are influenced by computer science and its availability to all regardless of background |
|
CSL2.7.3
Analyze a historical timeline of computers and technology |
|
CSL3.7.3
Explore advancing and emerging technologies (e.g., Artificially Intelligent Agents, Robotics, Internet of Things [IoT]) |
|
CSL4.7.3
Explain how cutting-edge technology may affect the way business is conducted in the future (e.g., eCommerce, entrepreneurship, payment methods, business responsibilities) |
|
CSL1.8.1
Utilize networks to perform level-appropriate tasks |
|
CSL2.8.1
Utilize networks to perform level-appropriate tasks |
|
CSL3.8.1
Utilize networks to perform level-appropriate tasks |
|
CSL4.8.1
Utilize networks to perform level-appropriate tasks |
|
CSL1.8.2
Discuss the role of internet service providers (ISP) in providing connectivity |
|
CSL2.8.2
Discuss the hierarchical nature of networks, subnetworks, and the Internet |
|
CSL3.8.2
Analyze how the nature of networks allow for a continual increase in the number of devices |
|
CSL4.8.2
Research projects that utilize the power created through the networking of computers to solve level-appropriate problems |
|
CSL1.8.3
Compare and contrast local area networks (LAN) and wide area networks (WAN) |
|
CSL2.8.3
Identify various common topologies utilized in network implementations |
|
CSL3.8.3
Analyze the tradeoffs of implementing various common topologies |
|
CSL4.8.3
Analyze the tradeoffs of implementing increasingly complex topologies |
|
CSL2.8.4
Identify digital and physical methods used to secure networks |
|
CSL3.8.4
Discuss digital and physical methods used to secure networks |
|
CSL4.8.4
Design a practical, efficient, and secure network solution (e.g., small office network) |
|
CSL1.8.5
Identify common network protocols (e.g., DNS, HTTP/HTTPS, SMTP/POP/IMAP, Telnet/SSH) |
|
CSL2.8.5
Compare and contrast common network protocols (e.g., DNS, HTTP/HTTPS, SMTP/POP/IMAP, Telnet/SSH) |
|
CSL3.8.5
Analyze the Open Systems Interconnect (OSI) Model layers 1-7 |
|
CSL4.8.5
Map network operations to the OSI Model |
|
CSL1.9.1
Compare and contrast computer programming paradigms and languages (e.g., text-based, visual, high-level, low-level, object-oriented) |
|
CSL2.9.1
Compare and contrast the tradeoffs between compiled and interpreted languages |
|
CSL3.9.1
Discuss considerations when programming for multiple computing platforms (e.g., desktop, mobile, web) |
|
CSL1.9.2
Discuss version control and Integrated Development Environments (IDE) |
|
CSL2.9.2
Use the debugger in an IDE |
|
CSL3.9.2
Use collaboration tools in a group software project (e.g., cloud-based software) |
|
CSL4.9.2
Use version control systems |
|
CSL1.9.3
Classify layers of software (e.g., applications, drivers, operating systems) within various platforms |
|
CSL1.9.4
Identify hardware components (e.g., input/output devices, internal organization of a computer, storage devices) of computing technology within various platforms |
|
CSL1.10.1
Categorize the risks associated with the utilization and implementation of digital technology. Legal Physical Psychological Social NOTE: Legal issues include but are not limited to access, AFTRA, copyright, FAA, FCC, hacking, intellectual property, licensure, local computer-use policy, piracy, and plagiarism. |
|
CSL2.10.1
Discuss the effects associated with the use of social media (e.g., global communication, hiring, incarceration, termination) |
|
CSL3.10.1
Explain conflicting issues related to creating and enforcing cyber-related laws and regulations (e.g., ethical challenges, policy vacuum, privacy vs. security, unintended consequences) |
|
CSL4.10.1
Formulate solutions that address the risks associated with extensive use and implementation of digital technology |
|
CSL1.10.2
Discuss issues related to personal security |
|
CSL2.10.2
Identify components of a digital footprint (e.g., active and passive data) and the lasting impact |
|
CSL3.10.2
Explore the inverse relationship between online privacy and personal security (e.g., convenience and accessibility, data mining, digital marketing, online wallets, theft of personal information) |
|
CSL3.10.3
Describe the beneficial and intrusive aspects of advancing and emerging technologies (e.g., Artificially Intelligent Agents, IoT, Robotics, self-aware, Skynet) |
|
CSL4.10.3
Identify the ethical and moral implications encountered in managing and curating knowledge (e.g., harvesting, information overload, knowledge management reposting, sharing, summarizing) |
|