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

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

1A-CS-06

Collect and present the same data in various visual formats.

Data Analysis

Collection, Visualization & Transformation

1A-AP-10

Develop programs with sequences and simple loops, to express ideas or address a problem.

Algorithms & Programming

Control

1A-AP-11

Decompose (break down) the steps needed to solve a problem into a precise sequence of instructions.

Algorithms & Programming

Modularity

1A-AP-12

Develop plans that describe a program’s sequence of events, goals, and expected outcomes.

Algorithms & Programming

Program Development

1A-AP-14

Debug (identify and fix) errors in an algorithm or program that includes sequences and simple loops.

Algorithms & Programming

Program Development

1A-AP-15

Using correct terminology, describe steps taken and choices made during the iterative process of program development.

Algorithms & Programming

Program Development

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

1B-CS-02

Model how computer hardware and software work together as a system to accomplish tasks.

Computing Systems

Hardware & Software

1B-CS-03

Determine potential solutions to solve simple hardware and software problems using common troubleshooting strategies.

Computing Systems

Troubleshooting

1B-DA-06

Organize and present collected data visually to highlight relationships and support a claim.

Data Analysis

Collection, Visualization & Transformation

1B-DA-07

Use data to highlight or propose cause-and-effect relationships, predict outcomes, or communicate an idea.

Data Analysis

Inference & Models

1B-AP-08

Compare and refine multiple algorithms for the same task and determine which is the most appropriate.

Algorithms & Programming

Algorithms

1B-AP-09

Create programs that use variables to store and modify data.

Algorithms & Programming

Variables

1B-AP-10

Create programs that include sequences, events, loops, and conditionals.

Algorithms & Programming

Control

1B-AP-11

Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.

Algorithms & Programming

Modularity

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

1B-AP-15

Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended.

Algorithms & Programming

Program Development

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

1B-AP-17

Describe choices made during program development using code comments, presentations, and demonstrations.

Algorithms & Programming

Program Development

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

2-DA-08

Collect data using computational tools and transform the data to make it more useful and reliable.

Data & Analysis

Collection, Visualization & Transformation

2-AP-10

Use flowcharts and/or pseudocode to address complex problems as algorithms.

Algorithms & Programming

Algorithms

2-AP-11

Create clearly named variables that represent different data types and perform operations on their values.

Algorithms & Programming

Variables

2-AP-12

Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.

Algorithms & Programming

Control

2-AP-13

Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.

Algorithms & Programming

Modularity

2-AP-14

Create procedures with parameters to organize code and make it easier to reuse.

Algorithms & Programming

Modularity

2-AP-17

Systematically test and refine programs using a range of test cases.

Algorithms & Programming

Program Development

2-AP-18

Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.

Algorithms & Programming

Program Development

2-AP-19

Document programs in order to make them easier to follow, test, and debug.

Algorithms & Programming

Program Development

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

3A-AP-13

Create prototypes that use algorithms to solve computational problems by leveraging prior student knowledge and personal interests.

Algorithms & Programming

Algorithms

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

3A-AP-23

Document design decisions using text, graphics, presentations, and/or demonstrations in the development of complex programs.

Algorithms & Programming

Algorithms & Programming

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

3B-AP-10

Use and adapt classic algorithms to solve computational problems.

Algorithms & Programming

Algorithms

3B-AP-11

Evaluate algorithms in terms of their efficiency, correctness, and clarity.

Algorithms and Programming

Algorithms

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

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

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

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

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

Back to Top