Computer Science Teachers Association (CSTA) Standards
Grades K-2
All activities can be completed in FinchBlox, which is an icon-based language specifically designed for young beginners.
Identifier | Standard | Concept | Subconcept | Related Projects |
---|---|---|---|---|
1A-CS-03 | Describe basic hardware and software problems using accurate terminology. |
Computing Systems |
Troubleshooting |
All Projects |
1A-CS-05 | Store, copy, search, retrieve, modify, and delete information using a computing device and define the information stored as data. |
Data Analysis |
Storage |
All Projects |
1A-CS-06 | Collect and present the same data in various visual formats. |
Data Analysis |
Collection, Visualization & Transformation |
As students demonstrate their programs, they can collect data, as described in Dance Party. Dance Party |
1A-AP-10 | Develop programs with sequences and simple loops, to express ideas or address a problem. |
Algorithms & Programming |
Control |
All Projects |
1A-AP-11 | Decompose (break down) the steps needed to solve a problem into a precise sequence of instructions. |
Algorithms & Programming |
Modularity |
All Projects |
1A-AP-12 | Develop plans that describe a program’s sequence of events, goals, and expected outcomes. |
Algorithms & Programming |
Program Development |
All Projects |
1A-AP-14 | Debug (identify and fix) errors in an algorithm or program that includes sequences and simple loops. |
Algorithms & Programming |
Program Development |
All Projects |
1A-AP-15 | Using correct terminology, describe steps taken and choices made during the iterative process of program development. |
Algorithms & Programming |
Program Development |
All Projects |
Grades 3-5
All activities can be completed in Snap!, BirdBlox, or MakeCode. The list of suggested activities for each standard is not exhaustive. Other Finch projects may also meet these standards.
Identifier | Standard | Concept | Subconcept | Related Projects |
---|---|---|---|---|
1B-CS-01 | Describe how internal and external parts of computing devices function to form a system. |
Computing Systems |
Devices |
All Projects |
1B-CS-02 | Model how computer hardware and software work together as a system to accomplish tasks. |
Computing Systems |
Hardware & Software |
All Projects |
1B-CS-03 | Determine potential solutions to solve simple hardware and software problems using common troubleshooting strategies. |
Computing Systems |
Troubleshooting |
All Projects |
1B-DA-06 | Organize and present collected data visually to highlight relationships and support a claim. |
Data Analysis |
Collection, Visualization & Transformation |
Graph data collected in Finding Speed with Finch Reaction Time Analyzing Finch Data I Analyzing Finch Data II |
1B-DA-07 | Use data to highlight or propose cause-and-effect relationships, predict outcomes, or communicate an idea. |
Data Analysis |
Inference & Models |
Finding Speed with Finch Reaction Time Analyzing Finch Data I Analyzing Finch Data II |
1B-AP-08 | Compare and refine multiple algorithms for the same task and determine which is the most appropriate. |
Algorithms & Programming |
Algorithms |
All Projects |
1B-AP-09 | Create programs that use variables to store and modify data. |
Algorithms & Programming |
Variables |
Finch Spirals SquirrelBot Finch Hot Potato Simon Says II Drawing Shapes Emotional Finch |
1B-AP-10 | Create programs that include sequences, events, loops, and conditionals. |
Algorithms & Programming |
Control |
Any Intermediate or Advanced Finch activity can meet this standard. All Projects |
1B-AP-11 | Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process. |
Algorithms & Programming |
Modularity |
Any Intermediate or Advanced Finch activity can meet this standard. All Projects |
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. |
Algorithms & Programming |
Modularity |
Remixing existing programs is used throughout the Finch programming tutorials. Amazing Mazes Follow the Wall |
1B-AP-15 | Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended. |
Algorithms & Programming |
Program Development |
All Projects |
1B-AP-16 | Take on varying roles, with teacher guidance, when collaborating with peers during the design, implementation, and review stages of program development. |
Algorithms & Programming |
Program Development |
All Projects |
1B-AP-17 | Describe choices made during program development using code comments, presentations, and demonstrations. |
Algorithms & Programming |
Program Development |
All Projects |
Grades 6-8
All activities can be completed in Snap!, BirdBlox, or MakeCode. The list of suggested activities is not exhaustive. Other Finch projects may also meet these standards.
Identifier | Standard | Concept | Subconcept | Related Projects |
---|---|---|---|---|
2-CS-03 | Systematically identify and fix problems with computing devices and their components. |
Computing Systems |
Troubleshooting |
All Projects |
2-DA-08 | Collect data using computational tools and transform the data to make it more useful and reliable. |
Data & Analysis |
Collection, Visualization & Transformation |
Reaction Time Analyzing Finch Data I Analyzing Finch Data II Amazing Mazes |
2-AP-10 | Use flowcharts and/or pseudocode to address complex problems as algorithms. |
Algorithms & Programming |
Algorithms |
Any Intermediate or Advanced Finch activity can meet this standard. All Projects |
2-AP-11 | Create clearly named variables that represent different data types and perform operations on their values. |
Algorithms & Programming |
Variables |
Finch Spirals SquirrelBot Finch Hot Potato Simon Says II Drawing Shapes Emotional Finch |
2-AP-12 | Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals. |
Algorithms & Programming |
Control |
ShyBot CricketBot Simon Says I Animal Adaptations Special Delivery |
2-AP-13 | Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs. |
Algorithms & Programming |
Modularity |
Any Intermediate or Advanced Finch activity can meet this standard. All Projects |
2-AP-14 | Create procedures with parameters to organize code and make it easier to reuse. |
Algorithms & Programming |
Modularity |
Light Show Turning with Encoders |
2-AP-17 | Systematically test and refine programs using a range of test cases. |
Algorithms & Programming |
Program Development |
Any Intermediate or Advanced Finch activity can meet this standard. All Projects |
2-AP-18 | Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts. |
Algorithms & Programming |
Program Development |
Any Intermediate or Advanced Finch activity can meet this standard. All Projects |
2-AP-19 | Document programs in order to make them easier to follow, test, and debug. |
Algorithms & Programming |
Program Development |
All Projects |
Grades 9-10
Activities listed are in Python, though Snap! or Java could also be used for analogous activities. The list of suggested activities is not exhaustive. Other Finch projects may also meet these standards.
Identifier | Standard | Concept | Subconcept | Related Projects |
---|---|---|---|---|
3A-CS-02 | Compare levels of abstraction and interactions between application software, system software, and hardware layers. |
Computing Systems |
Hardware & Software |
All Finch projects can be used to discuss the interaction between the Finch hardware, Bluetooth protocol, and software library. |
3A-AP-13 | Create prototypes that use algorithms to solve computational problems by leveraging prior student knowledge and personal interests. |
Algorithms & Programming |
Algorithms |
Any open-ended Finch activity can meet this standard. |
3A-AP-14 | Use lists to simplify solutions, generalizing computational problems instead of repeatedly using simple variables. |
Algorithms & Programming |
Variables |
|
3A-AP-15 | Justify the selection of specific control structures when tradeoffs involve implementation, readability, and program performance, and explain the benefits and drawbacks of choices made. |
Algorithms & Programming |
Control |
|
3A-AP-16 | Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions. |
Algorithms & Programming |
Control |
|
3A-AP-17 | Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects. |
Algorithms & Programming |
Modularity |
|
3A-AP-18 | Create artifacts by using procedures within a program, combinations of data and procedures, or independent but interrelated programs. |
Algorithms & Programming |
Modularity |
|
3A-AP-22 | Design and develop computational artifacts working in team roles using collaborative tools. |
Algorithms & Programming |
Program Development |
Students can use collaborative tools for any Finch project. |
3A-AP-23 | Document design decisions using text, graphics, presentations, and/or demonstrations in the development of complex programs. |
Algorithms & Programming |
Algorithms & Programming |
Student can document and present their design decisions for any Finch project. |
Grades 11-12
Activities listed are in Python, though Snap! or Java could also be used for analogous activities. The list of suggested activities is not exhaustive. Other Finch projects may also meet these standards.
Identifier | Standard | Concept | Subconcept | Related Projects |
---|---|---|---|---|
3B-CS-02 | Illustrate ways computing systems implement logic, input, and output through hardware components. |
Computing Systems |
Troubleshooting |
All Finch projects can be used to discuss the Finch hardware, including inputs and outputs. |
3B-AP-10 | Use and adapt classic algorithms to solve computational problems. |
Algorithms & Programming |
Algorithms |
Buzzer: Measuring Reaction Time could be modified to search or sort the reaction time data. |
3B-AP-11 | Evaluate algorithms in terms of their efficiency, correctness, and clarity. |
Algorithms and Programming |
Algorithms |
Students can compare different algorithms for completing a Finch task. For example, a maze can be completed by preprogrammed movements, with straight line movements to detect obstacles, or with curved movements to follow a wall. |
3B-AP-12 | Compare and contrast fundamental data structures and their uses. |
Algorithms & Programming |
Variables |
|
3B-AP-13 | Illustrate the flow of execution of a recursive algorithm. |
Algorithms & Programming |
Control |
|
3B-AP-14 | Construct solutions to problems using student-created components, such as procedures, modules and/or objects. |
Algorithms & Programming |
Modularity |
|
3B-AP-16 | Demonstrate code reuse by creating programming solutions using libraries and APIs. |
Algorithms & Programming |
Modularity |
Students can expand the Finch library with their custom methods. |
3B-AP-20 | Use version control systems, integrated development environments (IDEs), and collaborative tools and practices (code documentation) in a group software project. |
Algorithms & Programming |
Program Development |
Students can use collaborative tools and IDEs for any Finch project. |
3B-AP-21 | Develop and use a series of test cases to verify that a program performs according to its design specifications. |
Algorithms & Programming |
Control |
Any Finch activity can meet this standard. |
3B-AP-22 | Modify an existing program to add additional functionality and discuss intended and unintended implications (e.g., breaking other functionality). |
Algorithms & Programming |
Program Development |
|
3B-AP-23 | Evaluate key qualities of a program through a process such as a code review. |
Algorithms & Programming |
Program Development |
Any Finch activity can meet this standard. |
3B-AP-24 | Compare multiple programming languages and discuss how their features make them suitable for solving different types of problems. |
Algorithms & Programming |
Program Development |
Students can compare the various programming languages for the Finch. |