Finch Robot Coding

K12 CS Framework Aligned

BirdBrain Technologies

BirdBrain Technologies is devoted to cultivating creativity and computational thinking by providing flexible and inspiring products: the Fin…

The Finch is a small robot designed to engage students in computational thinking and computer science from kindergarten to college. The Finch has support for a wide range of programming environments, including icon-, block-, and text-based options. Icon-based coding works well for pre-readers in grades K-2. Blocks environments allow students to explore all of the conceptual complexity of computer science, without overloading them with syntax, APIs, or IDEs. Finally, support for Python, Javascript, and Java ensures students can practice coding the Finch in industry-standard languages.

Each supported programming environment includes dozens of programming tutorials, activities, and resources. The tutorials progress from setting Finch motors, lights, or buzzer, through using Finch sensors, and then into creating more complex behaviors using advanced CS concepts such as randomness or lists. Each tutorial section links to activities that allow students to practice what they have just learned. The tutorials also naturally progress through CT and CS concepts, such as algorithms, control structures, boolean logic, data structures, and recursion.

Our icon and blocks environments also come with a separate, free video course for teachers to learn how to use the Finch. These free, asynchronous courses ensure that teachers can prepare to use the Finch to maximal effect in their classrooms.

Teachers can sign up to test a Finch for 60 days at birdbrainte.ch/demo, or apply to borrow a flock of robots, free, via our Finch loan program.

K12 CS Framework Components

Grade Band:
K-2
Concept:
Computing Systems
Sub-Concept:
Troubleshooting
Statements:
Computing systems might not work as expected because of hardware or software problems. Clearly describing a problem is the first step toward finding a solution.
Grade Band:
K-2
Concept:
Computing Systems
Sub-Concept:
Hardware and Software
Statements:
A computing system is composed of hardware and software. Hardware consists of physical components, while software provides instructions for the system. These instructions are represented in a form that a computer can understand.
Grade Band:
K-2
Concept:
Computing Systems
Sub-Concept:
Devices
Statements:
People use computing devices to perform a variety of tasks accurately and quickly. Computing devices interpret and follow the instructions they are given literally.
Grade Band:
K-2
Concept:
Algorithms and Programming
Sub-Concept:
Algorithms
Statements:
People follow and create processes as part of daily life. Many of these processes can be expressed as algorithms that computers can follow.
Grade Band:
K-2
Concept:
Algorithms and Programming
Sub-Concept:
Variables
Statements:
Information in the real world can be represented in computer programs. Programs store and manipulate data, such as numbers, words, colors, and images. The type of data determines the actions and attributes associated with it.
Grade Band:
K-2
Concept:
Algorithms and Programming
Sub-Concept:
Control
Statements:
Computers follow precise sequences of instructions that automate tasks. Program execution can also be nonsequential by repeating patterns of instructions and using events to initiate instructions.
Grade Band:
K-2
Concept:
Algorithms and Programming
Sub-Concept:
Modularity
Statements:
Complex tasks can be broken down into simpler instructions, some of which can be broken down even further. Likewise, instructions can be combined to accomplish complex tasks.
Grade Band:
3-5
Concept:
Computing Systems
Sub-Concept:
Devices
Statements:
Computing devices may be connected to other devices or components to extend their capabilities, such as sensing and sending information. Connections can take many forms, such as physical or wireless. Together, devices and components form a system of interdependent parts that interact for a common purpose.
Grade Band:
3-5
Concept:
Computing Systems
Sub-Concept:
Hardware and Software
Statements:
Hardware and software work together as a system to accomplish tasks, such as sending, receiving, processing, and storing units of information as bits. Bits serve as the basic unit of data in computing systems and can represent a variety of information.
Grade Band:
3-5
Concept:
Computing Systems
Sub-Concept:
Troubleshooting
Statements:
Computing systems share similarities, such as the use of power, data, and memory. Common troubleshooting strategies, such as checking that power is available, checking that physical and wireless connections are working, and clearing out the working memory by restarting programs or devices, are effective for many systems.
Grade Band:
3-5
Concept:
Algorithms and Programming
Sub-Concept:
Algorithms
Statements:
Different algorithms can achieve the same result. Some algorithms are more appropriate for a specific context than others.
Grade Band:
3-5
Concept:
Algorithms and Programming
Sub-Concept:
Variables
Statements:
Programming languages provide variables, which are used to store and modify data. The data type determines the values and operations that can be performed on that data.
Grade Band:
3-5
Concept:
Algorithms and Programming
Sub-Concept:
Control
Statements:
Control structures, including loops, event handlers, and conditionals, are used to specify the flow of execution. Conditionals selectively execute or skip instructions under different conditions.
Grade Band:
3-5
Concept:
Algorithms and Programming
Sub-Concept:
Modularity
Statements:
Programs can be broken down into smaller parts to facilitate their design, implementation, and review. Programs can also be created by incorporating smaller portions of programs that have already been created.
Grade Band:
6-8
Concept:
Computing Systems
Sub-Concept:
Troubleshooting
Statements:
Comprehensive troubleshooting requires knowledge of how computing devices and components work and interact. A systematic process will identify the source of a problem, whether within a device or in a larger system of connected devices.
Grade Band:
6-8
Concept:
Data and Analysis
Sub-Concept:
Collection
Statements:
People design algorithms and tools to automate the collection of data by computers. When data collection is automated, data is sampled and converted into a form that a computer can process. For example, data from an analog sensor must be converted into a digital form. The method used to automate data collection is influenced by the availability of tools and the intended use of the data.
Grade Band:
6-8
Concept:
Algorithms and Programming
Sub-Concept:
Algorithms
Statements:
Algorithms affect how people interact with computers and the way computers respond. People design algorithms that are generalizable to many situations. Algorithms that are readable are easier to follow, test, and debug.
Grade Band:
6-8
Concept:
Algorithms and Programming
Sub-Concept:
Variables
Statements:
Programmers create variables to store data values of selected types. A meaningful identifier is assigned to each variable to access and perform operations on the value by name. Variables enable the flexibility to represent different situations, process different sets of data, and produce varying outputs.
Grade Band:
6-8
Concept:
Algorithms and Programming
Sub-Concept:
Control
Statements:
Programmers select and combine control structures, such as loops, event handlers, and conditionals, to create more complex program behavior.
Grade Band:
6-8
Concept:
Algorithms and Programming
Sub-Concept:
Modularity
Statements:
Programs use procedures to organize code, hide implementation details, and make code easier to reuse. Procedures can be repurposed in new programs. Defining parameters for procedures can generalize behavior and increase reusability.
Grade Band:
9-12
Concept:
Computing Systems
Sub-Concept:
Troubleshooting
Statements:
Troubleshooting complex problems involves the use of multiple sources when researching, evaluating, and implementing potential solutions. Troubleshooting also relies on experience, such as when people recognize that a problem is similar to one they have seen before or adapt solutions that have worked in the past.
Grade Band:
9-12
Concept:
Algorithms and Programming
Sub-Concept:
Algorithms
Statements:
People evaluate and select algorithms based on performance, reusability, and ease of implementation. Knowledge of common algorithms improves how people develop software, secure data, and store information.
Grade Band:
9-12
Concept:
Algorithms and Programming
Sub-Concept:
Variables
Statements:
Data structures are used to manage program complexity. Programmers choose data structures based on functionality, storage, and performance tradeoffs.
Grade Band:
9-12
Concept:
Algorithms and Programming
Sub-Concept:
Control
Statements:
Programmers consider tradeoffs related to implementation, readability, and program performance when selecting and combining control structures.
Grade Band:
9-12
Concept:
Algorithms and Programming
Sub-Concept:
Modularity
Statements:
Complex programs are designed as systems of interacting modules, each with a specific role, coordinating for a common overall purpose. These modules can be procedures within a program; combinations of data and procedures; or independent, but interrelated, programs. Modules allow for better management of complex tasks.
Curriculum Directory Sponsored by BNY Mellon