The Finch was designed for teaching computer science at the high school and college level. While drag-and-drop languages make the Finch accessible to younger students, it is still an excellent tool for much more advanced courses. The Finch can be programmed in a wide variety of languages, including Java, Python, and C++. With the Finch, testing and debugging occur in physical space, as well as on the computer screen; this is helpful as students learn to design and write programs.


These assignments are appropriate for any of the text-based languages supported  for the Finch. Assignments are arranged by the topics typically included in an introductory course in computer science.


This example curriculum describes how the Finch can be used with Java in an introductory course.

The Finch can also be used in more advanced courses. Dr. Andrew Fagg of Oklahoma University used the Finch throughout his 200-level course on data structures. You can download his materials here.


I have employed the Finch robot for both my CS1 and CS2 classes. The Finch robot allows for more options than the common input/output devices of keyboard, mouse, console window, desktop and files. With the Finch’s many input sensors and audio and visual outputs, a student is more engaged in programming activities. As an instructor, the Finch enables me to keep both the superior and marginal student busy on the same project by offering several levels of complexity with the software.

- Don Smith, Computer Science Professory, Community College of Allegheny County, Pittsburgh, PA