Keywords

1 Introduction

We have been developing a card-type programming tool called “Pro-Tan” which uses a tangible user interface (TUI) [1]. Since operating Pro-Tan involves attaching cards onto a panel, Pro-Tan is a user-friendly tool for creating a program. Some programming tools exist which use a TUI [3,4,5]. It is easy for multiple people at the same time to handle tools using TUI. We consider TUI tools to have the merit of collaborative learning, although this has not been verified.

We attempted an experiment which records the time required for the programming training, and test scores which assess the depth of understanding of a program structure. The framework of this paper is as follows. Section 2 presents Pro-tan. Consideration of collaborative learning evaluation is described in Sect. 3. Section 4 presents a discussion and conclusion.

2 Pro-Tan

Pro-Tan is a card-type programming tool which consists of a program panel, programming cards, and a PC for data transfer. Users can create programs simply by placing RFID tag-equipped programming cards on the program panel.

2.1 System Configuration

Figure 2 shows the concept of Pro-Tan. A user can create a program for controlling a controlled object by attaching programming cards onto the program panel. There are four types of programming cards: Motion, Timer, IF, and LOOP. Figure 1 shows programming card types. Each type of card corresponds to various programming elements, such as the controlled object’s system behavior, a while loop, or a sequential branch of the sensors. Pro-Tan is intended to help users learn the fundamental programming structures (sequences, branches, and loops).

Programming Cards. There are four types of programming cards: Motion, Timer, IF, and LOOP1. Information indicating the card type is incorporated into the surface of the card, and a stainless-steel sheet and an RFID tag are set into the back surface.

Motion cards have one RFID tag on the face and instruct the controlled object to light upor to sound a buzzer. A timer card sets the movement duration of the controlled object on a scale of one to four. Users have to set timer blocks next to motion blocks. IF cards correspond to the IF functions of a touch sensor and a light sensor on the controlled object. Loop cards correspond to the LOOP functions, which repeat the program operation indefinitely. Using these control cards, the user can create conditional branch programs.

Fig. 1.
figure 1

Card types.

Program Panel. The program panel has 10 RFID readers under each cell. The information of the programming card type is obtained from the RFID tags of the programming cards and is transmitted by the PC. A magnetic sheet is attached by magnetic force to the surface or the panel for holding program cards.

Fig. 2.
figure 2

Overview of the system.

2.2 Controlled Object

We produced a prototype controlled object for the evaluation experiment. Figure 3 shows the controlled object. This system consists of seven components: an Arduino Ethernet, an LED, a buzzer, a motor, a microphone, a light sensor, and a touch sensor. Users can control an LED, a buzzer sound, and the turning of a propeller by creating a program using Pro-Tan.

Fig. 3.
figure 3

Controlled object.

3 Collaborative Learning Experiment

We conducted an experiment to analyze the programming process when two users shared the programming tool. In the experiment, we prepared three programming tools, Pro-Tan, Studuino software [7], and Arduino IDE [8]. Subjects were shown how to create a program using Pro-Tan or Studuino. After the instruction, subjects were told to try one programming task using Arduino IDE. Figure 4 shows Studuino software and Arduino IDE.

Fig. 4.
figure 4

Studuino software & Arduino IDE.

Fig. 5.
figure 5

Layout of the experiment.

3.1 Flow of the Experiment

We set 10 programming tasks in the experiment. The first term is the collaborative learning term, which contains Tasks 1–5. Pairs of subjects were instructed to learn the operation and program structures using Pro-Tan or Studuino. The second term is the personal learning term, which contains Tasks 6–11. In Tasks 6–10, subjects were instructed to solve programming tasks by themselves using the same programming tools from Tasks 1–5. In Task 11, they were instructed to solve a programming task by themselves using Arduino IDE. Subjects were divided into two groups by the type of a programming tool used during Tasks 1–10 (Figs. 5 and 6).

Fig. 6.
figure 6

Flow of experiment

Tasks The contents of Tasks 1–11 are as follows.

  • Task 1 Light up the LED for a defined period of time.

  • Task 2 Light up the LED for a defined period of time. Then, buzz the buzzer for a defined period of time.

  • Task 3 Repeat the sequence of Task 2 indefinitely.

  • Task 4 Buzz the buzzer if a sound is heard; otherwise, light up the LED.

  • Task 5 Light up the LED if a touch sensor is pushed; otherwise, buzz the buzzer.

  • Task 6 Light up the LED for two seconds. Then, buzz the buzzer for one second. Then, turn the propeller for four seconds.

  • Task 7 Turn the propeller for three seconds. Then, light up the LED for one second. Then, buzz the buzzer for two seconds. Repeat the sequence.

  • Task 8 Light up the LED if a sound is heard.

  • Task 9 Light up the LED if a room is dark; otherwise, buzz the buzzer.

  • Task 10 Turn the propeller if a button is pushed; otherwise, light up the LED.

  • Task 11 The contents of this task are the same as those of Task 10. Subjects are instructed to use Arduino IDE [8], which is a code-type programming application.

Fig. 7.
figure 7

Example of an exercise - Test 1.

Fig. 8.
figure 8

Example of an exercise - Test 2.

Paper Tests. All subjects were instructed to take paper Test 1 after Task 5, and paper Test 2 after Task 11. The number of exercises in Test 1 is 19. Subjects were checked for comprehension of a program, such as imagining an operation flow or a structure of a program. The number of exercises in Test 2 is 20. Figure 7 shows an example of an exercise in Test 1. Figure 8 shows an example of an exercise in Test 2 (Table 1).

Table 1. Subject

3.2 Subjects

Sixteen subjects inexperienced in programming who were between 19 and 24 years old participated in the experiment. They were separated into a P group (using Pro-Tan at Tasks 1–10) and an S group (using Scratch at Tasks 1–10). They were instructed to form pairs and to share the programming tools.

3.3 Results

Required Time for Tasks. We recorded the required time for programming tasks during the experiment. All required times are shown in Tables 2 and 3. The averages of the required times for Tasks 1–5 of the P group were shorter than those of the S group. There were significant differences (\(p<0.05\)) for Tasks 2 and 5 between the P group and the S group. The averages of the required times for Tasks 6–10 of the P group were shorter than those of the S group. There were significant differences (\(p<0.05\)) for Tasks 6, 7, and 10 between the P group and the S group. The averages of the required times for Task 11 of the P group were shorter than those of the S group. There was a significant difference (\(p<0.05\)) between the P group and the S group.

Table 2. Completion times of Tasks 1–5
Table 3. Completion times of Tasks 6–11

Test Scores. We recorded the number of right answers to Test 1 and Test 2 as the test score. All test scores for subjects are shown in Tables 4 and 5. There were no significant differences (\(p<0.05\)) for Test 1 and Test 2 between the P group and the S group.

Table 4. Scores for paper Test 1
Table 5. Scores for paper Test 2
Table 6. Operation time ratio

3.4 Discussion

We recorded the operation duration for subjects handling the programming tool using motion capture (OptiTrack V120:Trio). Table 6 shows the operation time ratio between members of the pair. The average ratio of the subjects who handled Pro-Tan the least of the subjects in the pair, \(P_{i2}\), was 14.5%, and that of the subjects who handled Studuino the least of the subjects in the pair, \(S_{i2}\), was 5.0%. These results show that the user who is not the main operator of the tool has more opportunities to handle Pro-Tan than Studuino.

Subjects using Pro-Tan completed Tasks 2, 5, 6, 7, and 10 More quickly than subjects using Studuino. Furthermore, subjects using Pro-Tan for the collaborative learning term were able to complete Task 11 more quickly than subjects using Studuino. We consider these results to indicate that Pro-Tan created less difference in operation duration in the collaborative learning process than did Studuino, and suggest that Pro-Tan is suitable for collaborative learning.

4 Discussion and Conclusion

We developed a prototype of a card-type programming tool called “Pro-Tan” which uses a tangible user interface (TUI) [1]. We conducted an experiment to analyze the programming process when two users shared the programming tool. In the experiment, we prepared two programming tools, Pro-Tan and Studuino software, as training tools for subjects, and instructed all subjects to use Arduino IDE as the final task. Subjects using Pro-Tan completed Tasks 2, 5, 6, 7, 10, and 11 more quickly than subjects using Studuino. Furthermore, we recorded the operation duration for subjects handling the programming tool, and compared the possession times of subjects in the operating process. The results show that the user who is not the main operator of the tool has more opportunities to handle Pro-Tan than Studuino. We consider that these results show that Pro-Tan created less difference in the operation duration than did Studuino in the collaborative learning process, and suggest that Pro-Tan is suitable for collaborative learning.

In future work, we will compare the test scores and required times for tests for the subjects who are the main users of the programming tool in the pair. We will analyze the association the inconvenience in the process of copying and the learning effectiveness from the point of view of Fuben-eki.