| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Kindergarten | 1st Grade | 2nd Grade | Third Grade | Fourth Grade | Fifth Grade | ||||||||||||||||||
2 | Standard | Expectation | Clarifying Statement | Example Artifacts | Standard | Expectation | Clarifying Statement | Example Artifacts | Standard | Expectation | Clarifying Statement | Example Artifacts | Standard | Expectation | Clarifying Statement | Example Artifacts | Standard | Expectation | Clarifying Statement | Example Artifacts | Standard | Expectation | Clarifying Statement | Example Artifacts |
3 | K.CS.1 - Understand the term algorithm and use computer science terms to describe parts of an algorithm | Exposure/Exploration | Identify "algorithm" as a term to describe a sequence of steps and be able to make analogies to other routines/procedures in daily life as algorithms | An audio or video recording where the student gives instructions to a peer (the "robot") to complete a short physical task. | K.CS.1 - Understand the term algorithm and use computer science terms to describe parts of an algorithm | In process | Identify "algorithm" as a term to describe a sequence of steps and be able to make analogies to other routines/procedures in daily life as algorithms | A written algortithm that details the steps of their morning routines. | K.CS.1 - Understand the term algorithm and use computer science terms to describe parts of an algorithm | In process | The focus is on identifying "algorithm" as a term to describe a sequence of steps and be able to make analogies to other routines/procedures in daily life as algorithms and how it relates to the process of creating computer programs. | A screenshot or link to a block-based program (like Scratch Jr.) where the student has created a simple animation. They submit a brief written or verbal description that identifies the input (e.g., clicking the start button), the output (what the program does), and highlights any blocks used for repetition or a loop. | K.CS.1 - Understand the term algorithm and use computer science terms to describe parts of an algorithm | In process | Identify "algorithm" as a term to describe a sequence of steps and be able to make analogies to other routines/procedures in daily life as algorithms | A flowchart representing a process (e.g., deciding what to wear based on the weather) that includes at least one clear conditional statement ("If temperature is below 50, then wear a jacket"). | 1.5.a Problem Definitions Students formulate problem definitions suited for technology-assisted methods such as data analysis, abstract models and algorithmic thinking in exploring and finding solutions. | Exposure/Exploration | After conducting research and collecting data to understand the who the stakeholders are, what they go through, and how they respond in certain situations, the focus is on analyzing the data to come to indentify pain points and come to conclusions about what the main problems are. | A completed worksheet defining a class- or school-wide problem (e.g., "Students keep losing their books," or "We need a faster way to count how many days it has rained"). The artifact must include a clear Problem Statement and Technology-Assisted Solution Ideas | K.CS.1 - Understand the term algorithm and use computer science terms to describe parts of an algorithm | Fluency/Mastery | Identify "algorithm" as a term to describe a sequence of steps and be able to make analogies to other routines/procedures in daily life as algorithms | Pseudocode for a common task (e.g., sorting a list, making a peanut butter sandwich, or drawing a complex shape) that correctly uses at least five computer science terms within the context of their algorithm (e.g., input, output, conditional, sequence, loop). |
4 | NYS K-1.IC.2 Identify and explain classroom and home rules related to computing technologies. | Exposure/Exploration | Rules could include when it’s okay to use a device, what programs or apps are okay to use, how to treat the equipment, etc. | A class poster that identifies ways to take care of the robot: turning it off when done, making sure it doesn't fall or drop, not spinning the wheels, etc. | NYS K-1.CT.6 Follow an algorithm to complete a task. | Exposure/Exploration | The task can be a familiar, daily activity or can be designed by the teacher. Algorithms at this stage may be short, though must contain at least three steps, and should focus on sequencing. | A program based on a given algorithm that moves the robot from Point A to Point B. | NYS 2-3.IC.5 Identify and discuss how computers are programmed to make decisions without direct human input in daily life. | Exposure/Exploration | The focus is on describing computing technology that relies on a program, settings, and data to make decisions without direct human involvement. | A robot that uses the robot's sensors and outputs to sense light, sound, produce light and sound. | NYS 2-3.CT.8 Identify steps within a task that should only be carried out under certain precise conditions. | Exposure/Exploration | The focus should be on recognizing that some steps in a task only get carried out some of the time, and that the conditions can be precisely described. | A block-based program with a conditional statement that has more than one outcome based on a condition. | 1.5.b Data Sets Students collect data or identify relevant data sets, use digital tools to analyze them and represent data in various ways to facilitate problem-solving and decision-making. | Exposure/Exploration | After a problem has been identified through research, the focus is on presenting visually presenting data in ways that highlight the problem. | A Google Form or other digital survey used to collect anonymous class data (e.g., hours of sleep, favorite season), with the data represented in a simple digital bar graph or pie chart generated from a spreadsheet. | 1B-AP-08 Compare and refine multiple algorithms for the same task and determine which is the most appropriate. | Fluency/Mastery | Different algorithms can achieve the same result, though sometimes one algorithm might be most appropriate for a specific situation. Students should be able to look at different ways to solve the same task and decide which would be the best solution. | A map and plan for multiple algorithms to get from one point to another. They could look at routes suggested by mapping software and change the route to something that would be better, based on which route is shortest or fastest or would avoid a problem. |
5 | NYS K-1.CT.4 Identify a problem or task and discuss ways to break it into multiple smaller steps. | Exposure/Exploration | The focus is on identifying a complex (for the age group) task or problem to break apart into smaller steps. The focus should be on understanding why this process is helpful. | An algorithm using direction cards to plan the robot's moves step by step. | NYS K-1.CT.8 Identify a task consisting of steps that are repeated, and recognize which steps are repeated. | Exposure/Exploration | The focus should be on short tasks where there is repetition and having students identify and describe the repetition. | A written explanation of the patterns in an algorithm. | NYS 2-3.CT.4 Identify multiple ways that the same problem could be decomposed into smaller steps. | Exposure/Exploration | The focus is on identifying how to break apart a problem into smaller steps, while understanding that there can be multiple valid sequences of steps that solve the same problem. | A written explanation of two different ways with varying steps to accomplish the same goal. | NYS 2-3.NSD.1 Describe and demonstrate several ways a computer program can receive data and instructions (input) and can present results (output). | Exposure/Exploration | The focus is on choosing and demonstrating different computing technologies to receive and present results depending on the task. | A block-based program with a conditional statement and use conditional statements that use sensor data to trigger and output. | 1.5.c Decompose Problems Students break problems into component parts, extract key information and develop descriptive models to understand complex systems or facilitate problem-solving. | In process | After a problem has been clearly defined, the focus is on breaking the problem down into smaller in order and creating a clear path toward a solution. | A digital flowchart or annotated poster that breaks down a complex classroom project (e.g., "Research and present on an animal") into its component sub-problems (Research, Write Script, Gather Images, Design Presentation). | 1B-AP-09 Create programs that use variables to store and modify data. | In process | Variables are used to store and modify data. At this level, understanding how to use variables is sufficient. | A game that uses mathematical operations to add to the score, subtract from the number of lives available in a game, or the use of a variable as a countdown timer. |
6 | NYS K-1.CT.9 Identify and fix (debug) errors within a simple algorithm. | Exposure/Exploration | The focus should be on identifying small errors within a simple algorithm and fixing the errors collaboratively. | Review the direction cards to see when the error occurred and add or remove cards to fix the bug. | NYS 2-3.CT.6 Create two or more algorithms for the same task | In process | The task can be a familiar activity or more abstract. The focus is on finding more than one way to reach the same goal. | A program with multiple algorithms with varying steps that accomplish the same goal. | NYS 2-3.CT.9 Identify and debug errors within an algorithm or program that includes sequencing or repetition. | In process | The focus should be on having students identify error(s) in an algorithm and suggest changes to fix the algorithm. | A corrected block-based program that was intentionally broken, with notes that identify the block(s) that was changed, and explains how the change fixed the program. | 1.5.d Algorithmic Thinking Students understand how automation works and use algorithmic thinking to develop a sequence of steps to create and test automated solutions. | Exposure/Exploration | The focus is on identifying patterns in programs and writing clear, organized, and functional code. | A block-based program (Scratch Jr. or Code.org) that uses a clear sequence of commands and includes at least one loop to create a repetitive animation or movement. | 1B-AP-10 Create programs that include sequences, events, loops, and conditionals. | In process | Control structures specify the order (sequence) in which instructions are executed within a program and can be combined to support the creation of more complex programs. Events allow portions of a program to run based on a specific action. | A program to explain a process or cycle. When a specific component is clicked (event), the program would show information about that part of the cycle. Conditionals allow for the execution of a portion of code in a program when a certain condition is true. | ||||
7 | NYS K-1.NSD.1 Identify ways people provide input and get output from computing devices. | Exposure/Exploration | The emphasis is on understanding that humans and computers interact through inputs and outputs and identifying examples in their daily lives. | Press the direction buttons to make the robot move in a specific direction. | NYS 2-3.NSD.2 Explain the function of software in computing systems, using descriptive/precise language. | Exposure/Exploration | The focus is on understanding how software helps to complete computing tasks. | A short video or a digital poster that uses precise terminology to explain: What a software does (its main function), what problem it solves for the user, and how the user interacts with it. | 1B-AP-08 Compare and refine multiple algorithms for the same task and determine which is the most appropriate. | In process | Different algorithms can achieve the same result, though sometimes one algorithm might be most appropriate for a specific situation. Students should be able to look at different ways to solve the same task and decide which would be the best solution. For example, students could use a map and plan multiple algorithms to get from one point to another. They could look at routes suggested by mapping software and change the route to something that would be better, based on which route is shortest or fastest or would avoid a problem. Students might compare algorithms that describe how to get ready for school. Another example might be to write different algorithms to draw a regular polygon and determine which algorithm would be the easiest to modify or repurpose to draw a different polygon. | Two different drawn or block-code sketches showing two ways to achieve the same result (e.g., drawing a square), with a simple label explaining which one is more efficient (uses fewer blocks). | 1B-AP-11 Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process. | Fluency/Mastery | Decomposition is the act of breaking down tasks into simpler tasks. | An animation that separates a story into different scenes. For each scene, they would select a background, place characters, and program actions. | ||||||||
8 | NYS K-1.CT.10 Collaboratively create a plan that outlines the steps needed to complete a task. | Exposure/Exploration | The focus should be on collaboratively identifying a planning process which can be written, drawn, or spoken. | With a partner or group, create an algorithm that moves the robot from Point A to Point B. | 1B-AP-17 Describe choices made during program development using code comments, presentations, and demonstrations. | Exposure/Exploration | People communicate about their code to help others understand and use their programs. Another purpose of communicating one's design choices is to show an understanding of one's work. These explanations could manifest themselves as in-line code comments for collaborators and assessors, or as part of a summative presentation, such as a code walk-through or coding journal. | A finished programming project (e.g., an animation, a short game) that includes strategic comments within the block code explaining the purpose of key code segments and a brief written outline or script that the student would use to demonstrate the program, highlighting their main coding choices and using correct terminology. | 1B-AP-09 Create programs that use variables to store and modify data. | Exposure/Exploration | Variables are used to store and modify data. At this level, understanding how to use variables is sufficient. For example, students may use mathematical operations to add to the score of a game or subtract from the number of lives available in a game. The use of a variable as a countdown timer is another example. | A block-based game (e.g., Scratch) where a variable named score is initialized, displayed on the screen, and modified (increased) by a user-triggered event. | 1B-AP-12 Modify, remix, or incorporate portions of an existing program into one's own work, to develop something new or add more advanced features. | In process | Programs can be broken down into smaller parts, which can be incorporated into new or existing programs. | A prewritten prgram that was modified from a single-player game to create a two-player game with slightly different rules, or that adds another scene to an animated story. | ||||||||
9 | 1B-AP-10 Create programs that include sequences, events, loops, and conditionals. | In process | Control structures specify the order (sequence) in which instructions are executed within a program and can be combined to support the creation of more complex programs. Events allow portions of a program to run based on a specific action. For example, students could write a program to explain the water cycle and when a specific component is clicked (event), the program would show information about that part of the water cycle. Conditionals allow for the execution of a portion of code in a program when a certain condition is true. For example, students could write a math game that asks multiplication fact questions and then uses a conditional to check whether or not the answer that was entered is correct. Loops allow for the repetition of a sequence of code multiple times. For example, in a program that produces an animation about a famous historical character, students could use a loop to have the character walk across the screen as they introduce themselves. | A block program that uses a sequence (setting up the scene), an event (key press or click), a loop (a character walking back and forth), and a conditional (if touching color/sprite then change costume). | 1B-AP-15 Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended. | Fluency/Mastery | As students develop programs they should continuously test those programs to see that they do what was expected and fix (debug), any errors. Students should also be able to successfully debug simple errors in programs created by others. | A working program and a debugging log that documents three distinct rounds of testing. The log must detail: The Test Case (input/action used), The Expected Result, The Actual Result. | ||||||||||||||||
10 | 1B-AP-11 Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process. | In process | Decomposition is the act of breaking down tasks into simpler tasks. For example, students could create an animation by separating a story into different scenes. For each scene, they would select a background, place characters, and program actions. | A digital drawing or physical poster that decomposes a complex task for a programming project (e.g., "Make a sprite tell a joke" or "Animate a pet eating food"). that uses connecting arrows and labels to clearly show the subproblems (e.g. initializing the sprite, planning dialogue or action sequence, creating a reaction, etc). | 1B-AP-16 Take on varying roles, with teacher guidance, when collaborating with peers during the design, implementation, and review stages of program development. | In process | Collaborative computing is the process of performing a computational task by working in pairs or on teams. Because it involves asking for the contributions and feedback of others, effective collaboration can lead to better outcomes than working independently. | A group programming project accompanied by a chart or shared document detailing the group's work, which lists the project stages (Design, Implementation, Review/Testing) and clearly state which defined role (e.g., Project Manager, Lead Coder, Technical Writer, Debugging Specialist) each member filled during each stage. | ||||||||||||||||
11 | 1B-AP-12 Modify, remix, or incorporate portions of an existing program into one's own work, to develop something new or add more advanced features. | In process | Programs can be broken down into smaller parts, which can be incorporated into new or existing programs. For example, students could modify prewritten code from a single-player game to create a two-player game with slightly different rules, remix and add another scene to an animated story, use code to make a ball bounce from another program in a new basketball game, or modify an image created by another student. | An remixed program that successfully adds a new feature (e.g., changing the background, making the character jump on a mouse click, or adding a second character). | 1B-AP-17 Describe choices made during program development using code comments, presentations, and demonstrations. | In process | People communicate about their code to help others understand and use their programs. Another purpose of communicating one's design choices is to show an understanding of one's work. | A program with in-line code comments for collaborators and assessors, or as part of a summative presentation, such as a code walk-through or coding journal. | ||||||||||||||||
12 | 1B-AP-15 Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended. | In process | As students develop programs they should continuously test those programs to see that they do what was expected and fix (debug), any errors. Students should also be able to successfully debug simple errors in programs created by others. | A document or worksheet detailing the process of testing a simple program: listing the "Expected Outcome," the "Actual Outcome," and a brief written explanation of "The Fix." | 1A-AP-15 Using correct terminology, describe steps taken and choices made during the iterative process of program development. | In process | At this stage, students should be able to talk or write about the goals and expected outcomes of the programs they create and the choices that they made when creating programs. | A coding journals, class presentations, or blogs that explains a the process for creating different programs with common terminology. | ||||||||||||||||
13 | 1B-AP-16 Take on varying roles, with teacher guidance, when collaborating with peers during the design, implementation, and review stages of program development. | Exposure/Exploration | Collaborative computing is the process of performing a computational task by working in pairs or on teams. Because it involves asking for the contributions and feedback of others, effective collaboration can lead to better outcomes than working independently. Students should take turns in different roles during program development, such as note taker, facilitator, program tester, or “driver” of the computer. | A simple chart or slide listing all group members and their assigned roles (e.g., Designer, Coder, Debugger, Presenter) for a group programming project, accompanied by the final program. | 2-AP-19 Document programs in order to make them easier to follow, test, and debug. | In process | Documentation allows creators and others to more easily use and understand a program. Students should provide documentation for end users that explains their artifacts and how they function. | A flowchart or presentation of a project overview with clear user instructions that incorporates comments in their product and communicate their process. | ||||||||||||||||
14 | 1B-AP-17 Describe choices made during program development using code comments, presentations, and demonstrations. | Exposure/Exploration | People communicate about their code to help others understand and use their programs. Another purpose of communicating one's design choices is to show an understanding of one's work. These explanations could manifest themselves as in-line code comments for collaborators and assessors, or as part of a summative presentation, such as a code walk-through or coding journal. | A block-based program that includes descriptive comments explaining the purpose of different code segments. | 2-IC-21 Discuss issues of bias and accessibility in the design of existing technologies. | Exposure/Exploration | Students should test and discuss the usability of various technology tools (e.g., apps, games, and devices) with the teacher's guidance. | A short essay or presentation analyzing a common technology (e.g., an automated soap dispenser, a digital avatar creator, or an early AI assistant) that identifies and discusses one issue of bias (e.g., facial recognition struggles with certain skin tones) and one issue of accessibility (e.g., a website lacking alt-text for screen readers), explaining how these design choices impact different users. | ||||||||||||||||
15 | 1A-AP-15 Using correct terminology, describe steps taken and choices made during the iterative process of program development. | Exposure/Exploration | At this stage, students should be able to talk or write about the goals and expected outcomes of the programs they create and the choices that they made when creating programs. This could be done using coding journals, discussions with a teacher, class presentations, or blogs. | A short recording where the student demonstrates the program and uses correct terminology. | NYS 4-6.CT.3 Visualize a simple data set in order to highlight relationships and persuade an audience. | Exposure/Exploration | The emphasis is on identifying and organizing relevant data to emphasize particular parts of the data in support of a claim. | A digital infographic (Canva, Google Slides) or a spreadsheet chart using a relevant data set (e.g., how much waste the school generates, or time spent on different activities) that visualizes the data in a graph or chart, clearly and visually highlights a relationship in the data, and includes a written caption or call to action intended to persuade the audience based on the data findings. | ||||||||||||||||
16 | NYS 2-3.IC.6 Identify and discuss factors that make a computing device or software application easier or more difficult to use. | In process | The focus is on identifying choices developers make when designing computing devices and software and considering the pros and cons when making those choices. | A digital presentation (Google Slides/PowerPoint) reviewing an assigned educational app that includes an "Easy to Use" section (e.g., big buttons, clear text, good color contrast), a "Difficult to Use" section (e.g., confusing icons, small targets, too many steps), and visual evidence (screenshots) for both sections. | NYS 4-6.CT.8 Develop algorithms or programs that use repetition and conditionals for creative expression or to solve a problem. | Exposure/Exploration | The focus is on having students work with each of conditionals and repetition (loops or iteration), but without having to use them in conjunction with one another. | A fully functional program (e.g., Scratch, Python blocks) that demonstrates a creative solution or expression (e.g., a simple platformer game, a geometric pattern generator) and includes nested loops and at least two different types of conditionals (if/then, if/then/else). | ||||||||||||||||
17 | NYS 4-6.CT.1 Develop a computational model of a system that shows changes in output when there are changes in inputs. | Exposure/Exploration | The emphasis is on understanding, at a conceptual level, that models or simulations can be created to respond to deliberate changes in inputs. | A written or digital 'report card' for a chosen piece of educational software (e.g., a math game), rating factors like clarity of instructions, icon design, and button placement, with a brief written justification for the score. | NYS 4-6.CT.10 Describe the steps taken and choices made to design and develop a solution using an iterative design process. | Exposure/Exploration | An iterative design process involves defining the problem or goal, developing a solution or prototype, testing the solution or prototype, and repeating the process until the problem is solved or desired result is achieved. Describing can include speaking or writing. | A short presentation or written report that describes the development of a program and explicitly details at least two cycles of the iterative design process (e.g., "Cycle 1: Design a simple maze. Test it. Found a bug where the character went through the wall. Fix: Added boundary conditionals. Cycle 2: Added scoring. Tested scoring. Found a bug where the score reset too early. Fix: Moved the variable initialization to the start of the program."). | ||||||||||||||||
18 | Understand how robots can interact with sensors to interpert information from the physical world | Exposure/Exploration | The focus is on identifying various sensors and the types of data they interpret. | A diagram of a robot (e.g., a Sphero, Dash, or even a fictional robot) with at least two different sensors clearly labeled (e.g., "Light Sensor," "Touch Sensor," "Microphone"). The artifact must include an explanation of the function of each component. | NYS 4-6.NSD.1 Propose improvements to the design of a computing technology based on an analysis of user interactions with that technology. | Exposure/Exploration | The emphasis is on thinking about how the user interface could be optimized for the purpose of the computing technology and user interactions. | A formal written proposal analyzing a piece of software (e.g., a learning platform or simple game) that identifies at least two specific usability flaws. | ||||||||||||||||