Fostering creativity in computer science classes by telling stories

Creative thinking and mastery of computer science skills are two important competencies in the 21st century. This article outlines an approach to help students foster their creativity while learning programming concepts. The Story Cards make use of the Calliope mini, a microcontroller which allows for a physical computing approach. When a student has learned a new programming concept, he or she receives the corresponding Story Card. The goal of the cards is for students not only to build things but also to tell stories using their acquired programming skills.


Introduction
Computer science has only recently become a compulsory school subject in Switzerland, and there is a need for materials which cover the basic concepts of programming. We developed the Story Cards as one part of a package of teaching materials for students aged between 11 and 15 years. We decided to base our materials on the microcontroller Calliope mini, which is a derivative of the BBC micro:bit, for two reasons. First, microcontrollers are increasingly appearing in everyday objects. Second, physical computing might have a positive effect on students' motivation in learning computer science [2]. As a programming environment, we decided to use MakeCode (https://makecode.calliope.cc), as it is block-based, available for other microcontrollers and allows for simultaneous switching between blocks and JavaScript.
Even though the Calliope mini has a clear layout, with the builtin sensors and actuators as well as pins and Grove connectors for connecting accessories, there are countless options for applications. This might be overwhelming for students taking their first steps in computer science.
The Story Cards are inspired by the Tiles IoT Cards [1]. While both card sets can be used for the ideation process, our cards additionally represent the individual student's programming skills gained during the learning process. We also developed how-to guides, the so-called Skill Cards, which correspond to the Story Cards but are currently only available in German.

The idea of telling stories
When students learn technical skills like programming a wheel robot and implement some self-driving abilities using an ultrasonic sensor, the focus is on carrying out routines rather than going through a creative process.
When students are asked to tell a story, the process shifts from "How can I do it?" to "What do I want to do and why?". The aforementioned robot could be the technical implementation of a story about a runaway gnome who lives in a magical forest: Whenever he hears someone talking, he stops and spins around, singing a happy song. After a while, he moves on.
One risk of this approach lies in the practicability of an invented story. Students might feel frustrated if they have great ideas but are unable to implement them because they lack the technical skills. At the very beginning of the learning process, it is difficult for students to estimate the complexity of a solution.

Story Cards and accessory boxes
The Story Cards have two fields of application: First, they attest to a student's skill, e.g. to attach a motor to the Calliope mini and control it by using MakeCode. Second, they help the student in the ideation process, e.g. when drawing a concept map. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.  There are 40 Story Cards, divided into three categories: 1. Input (color code green, 18 cards), 2. Output (color code yellow, 18 cards) and 3. Interconnectivity (color code blue, 4 cards). On the Story Cards, the students find icons representing a certain sensor or actuator and a keyword ( Figure 1).
While some of the cards refer to build-in parts (e.g. buttons, compass, LED grid, light sensor), others represent additional accessories (e.g. dc motor, audio speaker, motion sensor, solenoid). For storage of accessories, we mostly used matchboxes with the icon printed on them using the respective color code (Figure 2).

Classroom use
When a teacher decides to use the Story Cards in an introductory course in computer science, the students have to tackle some challenges: gather first experiences in programming, learn how to tell stories and how to outline their ideas. The steps mentioned below lay out a possible approach helping students to manage these challenges, describing the learning process within the first semester and using examples from a test run with the Story Cards.
To foster the process of good story telling and to engage the students in collaborative work, we used different ideation methods [1,3]. The test run implies that concept maps worked well for outlining and structuring the idea behind a story. The concept map made it easy to enhance the story with new cards and to add information for the technical implementation.
Step 1: The students' first skills were how to display something on the LED display, and how to use the two buttons on the Calliope mini. The challenge was to invent something that facilitates living together with their siblings (or parents). After the students had finished their project, we discussed how they could have outlined their ideas using the Story Cards and we pointed out what makes a story fascinating.
Step 2: While the students still had only a small number of cards, the goal was to develop a new story using their cards as an ideation tool. Initially, the students were too focused on technical aspects; therefore, they were introduced to different ideation methods. After drawing a concept map, the students built a working prototype.
Step 3: During this step, the students had started with a story they wanted to tell, initiated by a given challenge. Figure 3 shows the story inspired by the challenge "something to attach to a bicycle". The students invented a crash avoidance system for bicycles. They already knew how to use an ultrasonic ranger and included it in a first prototype.
Step 4: This step is about facilitating collaboration. This can be arranged by the teacher but can also arise naturally. A group saw another group's prototype from step 3 and offered to contribute their already acquired concept of setting the transmit power of the Calliope mini's radio. This function could be used to detect other Calliope minis within a certain range. The two groups collaborated and extended the prototype. After that, the students from the initial group received the Story Card for the ultrasonic ranger.

Outlook
The Story Cards introduced in this article are one product of an ongoing research project seeking to develop and evaluate learning materials for computer science courses.
The first insights into working with the Story Cards are very promising. They provided the teacher with a variety of methods and gave the students differentiated learning opportunities. Further