Keywords

1 Introduction

Learning programming languages and logic in introductory disciplines of undergraduate courses are challenging for part of the students. The difficulty is attributed to several factors involving both the teaching and learning methods [4]. According to  [4], learning programming languages is still tedious and difficult because lectures are usually based on an expository approach (e.g. slide presentations, diagrams, and texts) whilst studies indicate that other methods as problem solving are more effective [2, 4, 13].

Different approaches and artifacts were proposed aiming at attenuating the difficulty in teaching and learning programming languages and logic; among other artifacts, graphic or script-based languages and robotic applications (e.g. CALLY [12], N-Bot [1], and Lego MindstormFootnote 1). Tools that use graphic languages as Scratch [11] assist students to think systematically and are available on the internet. On the other hand, according to [2], applications that have tangible results typically stimulate students’ interests. Considering this demand, there are other teaching approaches that use concrete artifacts. One example is laboratory experiences and, in the case of computing students, experiences involving robots [2]. And a closer look in the use of robotics, [13] proposed a short course to introduce the practice of robotics in schools to provide students with a real and continuous technological experience. Zanetti et al. [13] applied Problem Based Learning (PBL) methodology, which suggests students to learn while solving problems and, consequently, performing an active role in the learning process. Furthermore, students are encouraged to study autonomously, therefore, teachers play the role of facilitators for the resolution of the problem and act as a subject consultant [7].

The application of robotics in teaching is not recent since there are well-known tools. However, acquisition cost of these tools is not always affordable. An approach that has been widely used in robotics is the replacement of the microcontroller as the main processor unity by a smartphone [3]. The direct benefits of this measure are the cost reduction and the ease to develop software extensions. Examples of projects that explore this approach are Cally [12] and N-Bot [1].

Usually, graphical languages and robotics are not applied together. In cases they are, there are few low-cost and flexible platforms available [1]. This project consists in assisting the development of the computational thinking (i.e. the ability to solve problems logically and sequentially). The project also assesses the level of motivation on students attending introductory computing classes, by presenting an extensible platform called Coffee, which articulates graphical languages and robotic platforms, controlled by a smartphone.

The evaluation of the Coffee Platform was conducted in an introductory discipline to computing in which were enrolled students from different undergraduate courses as Chemistry, Mechanical Engineering, and Electrical Engineering. We adopted PBL as our learning process and provided a series of problems that involved movement and use of sensors available in the robot. To further analyse the effects from the platform usage we considered the motivation components proposed by [9], which are: attention, relevance, confidence and satisfaction.

This paper is organized as follows: Sect. 1 presents the context of the investigation. Section 2 reviews similar studies and products. Section 3 describes the development of the Coffee Platform. Section 4 reports the field study and Sect. 5 discusses the main findings from the experiment. Finally, Sect. 6 concludes.

2 Related Work

In this section, we review projects similar to the Coffee Platform. Table 1 presents a general overview of works related to this project regarding aspects considered relevant. Table 2 compares the robots used in the approaches.

Table 1. General comparison between related work
Table 2. Comparison of robots between related work

The review indicates that there are similar works regarding education and the use of mobile devices in robotics. However, there is not a platform that enables the use of a robot and the publication and sharing of projects simultaneously.

3 Coffee Platform

This section is organized in two parts: the project’s architecture which describes the development of each computational system’s component, and the aspects related to the users’ interaction

3.1 Architecture

The Coffee Platform consists of a smartphone, a Web programming environment and an audio-serial adapter (as illustrated in the Fig. 1). There is also an external component to the project but necessary to its complete execution: the robotic platform, which is commanded by a smartphone.

Fig. 1.
figure 1figure 1

The employed robotic platform and the Coffee Platform’s general diagram.

The Web programming environment illustrated in the Fig. 2 is composed of three blocks including: communication, a visual programming environment based on BlocklyFootnote 2, and an account and projects manager that also provides resources for users to share and publish projects. A project involves a visual programming environment which enables users to program dragging blocks. The Blockly library converts the graphical program to Javascript and the communication sends this translation to the smartphone when requested.

Fig. 2.
figure 2figure 2

Left: Web application’s diagram. Right: Smartphone application’s diagram.

The Web environment was assessed using the Web usability heuristics set proposed by Rutter [10]. This assessment was held by the writers themselves, and it indicated that the website is consistent in its content and is aesthetically pleasing. Furthermore, this evaluation has shown possible problems regarding the page’s compatibility for different browsers, contact information, copyright related to Blockly and the webpage’s meta tags.

The smartphone presented in the Fig. 2 has its processing partitioned into five blocks, as follows: audio output, encoder, main processing, sensors, and communication with the Web environment. The communication block receives a program from the Web environment and loads it on the main processing unit, which receives data from sensors. The main processing also determines the robot’s action, encodes and send them to the robot’s microcontroller through the audio-serial adapter as described in Fig. 1.

The smartphone application was developed using the Cordova frameworkFootnote 3. This framework is an expandable system because it enables a project’s compilation without using the developer’s native programming language.

The presence of a microcontroller can be observed in the Fig. 1. This microcontroller is attached in the robotic basis, and it was added to execute lower-level routines, such as generate the DC motor’s control signal, control the wheel speed and read the sensors from the robotic basis.

It was necessary to develop a plug-in for carrying the audio-serial communication. The other plug-ins, such as the one for accessing sensors, used the default Cordova framework. The audio-serial adapter provides the communication between the robotic basis and the smartphone. Moreover, it uses the smartphone’s P2 audio output which is the standard for current smartphones.

3.2 Users’ Interaction

The Coffee Platform provides the following features: (a) user account, (b) user profile and project list, (c) create, edit, delete, share, and publish projects, (d) download project list to the smartphone, (e) attach smartphone to the robotic basis and (f) execute projects.

The need for some of the platform features were identified based on systems such as Scratch [8] for project sharing, Cally [12], N-Bot [3], RomoFootnote 4 and SmartBotFootnote 5 for the use of a smartphone attached to a robot. Other features, as the project publication in the main page, were proposed by the writers themselves.

The user interaction works as follows: initially, the user creates an account and then access his or her projects through the page shown in the Fig. 3. In that page the user can save or load other projects.

Fig. 3.
figure 3figure 3

Environment for block-based programming and list of projects.

In addition, in the Fig. 3 it is possible to observe a program based on the Blockly library. That program makes the robot move forward until it finds an obstacle fifteen centimetres ahead. If the robot finds it, the robot turns ninety degrees to the right. As shown in the rectangle indicated by the letter “A”, there is a panel where the user can access groups of blocks, such as mathematical, conditional, and robot movements. The user can drag and fit blocks creating a top-down execution logic for the program. Another feature is the project sharing with other users or its publication in the main page through the menu indicated by the rectangle containing the letter “B”.

Immediately after the user has saved a project, he/she is able to access his/her account on the smartphone and load the Javascript code on the device. Then the user can attach the smartphone to the robotic basis, connects the audio-serial adapter and executes the selected program.

4 Case Study

This section presents the case study of the Coffee Platform’s and is organized as follows: the platform’s presentation, an example of use, the questionnaires application, the problem solving by students and the discussion about the platform.

4.1 Dynamics

The Coffee Platform was applied in an introductory computer programming course, at the end of the semester. The students were from different graduation courses as Electrical Engineering and Physics, which implied in a variety of previous experiences with programming and interests.

The activity included the participation of seven students, and it was conducted on two different days with a interval of one week between them. Each day presented a distinct scenario and, thus, each day revealed a different behaviour on the students. On both days just one robot, located in front of the classroom, was available for testing projects created by the students.

In the first day, classroom activities lasted two hours, and concurrently there was a project delivery assigned by the professor of the course. This last activity was not related to the use of Coffee. This fact divided the class among those who had not delivered the project and those who were available to experiment the platform.

The activity started with the presentation of the Coffee Platform’s goals and features to the students. Moreover, a simple problem was exposed and solved in class, making it possible to present the application’s features and the block-based programming. The problem involved a simple route that the robot should perform. The researchers presented an image of the route and the step-by-step solution on the platform.

Right after the example, the students were informed that the participation would be voluntary, and there would not be any kind of reward for that. Furthermore, those who participated were invited to sign an informed consent form. After that, students filled the pre-course questionnaire. Subsequently, other problems were presented so that they tried to solve them individually or in groups. During the first day’s activities, there were some technical issues with the robot that may have affected students’ impressions.

In the second day, the students were able to be fully dedicated to the platform. The students who had little contact to the tool during the first day were able to solve the initial problems. The resolution of complex problems such as making the robot follow a black line or avoid obstacles was proposed for those who had solved the basic challenges during the first day course.

After one hour of activities, the students were invited to answer the post-course questionnaire and thereafter discuss about the tool. The discussion in the classroom was important to gather information that would not be collected with the questionnaires. These data aided to obtain more details of the students impressions. In the second day, there were no significant technical issues.

In both days, the Coffee Platform development team sought to act as facilitators, and they instigated the students to develop their thinking skills without giving immediate solutions to the students’ questions. The researchers sought to focus on students’ learning and on their computational thinking development.

The Coffee platforms also provided a tutorial that was recommended when students had some query regarding programming structures or operation of blocks. This procedure characterizes the self-taught learning encouragement. However, some students experimented a trial and error approach. After comprehending the new knowledge, they applied it to solve the problem and finally presented the solution to the facilitator in order to reflect about the steps taken.

One of the students’ knowledge deficiency noticed by the facilitators was related to sequential thinking in a block program. For example, a student had chosen all the blocks and the structures separately to solve a problem, however he was not able to integrate them to solve it. In other situation, there was a confusion about a boolean condition and the movement that the robot should do whether that condition was activated. For these situations, the facilitators identified the deficiencies and tried to correct the wrong concepts.

4.2 Questionnaires

A questionnaire inquiring about the motivational level of the students was developed based on the work of [9]. The applied questionnaire consists of two parts, one applied before and another after the course.

The first part aims to outline the students’ profile, collect information about their mobile devices and analyse some motivational components when the teaching platform was introduced in the classroom.

The second part of the questionnaire captures some students’ motivational components after the application of the teaching tool. The questions used the Likert’s scale and covered motivational components i.e. Attention, Satisfaction, Confidence, and Relevance. The students were also asked about their future expectations involving programming and robotics courses.

4.3 Proposed Problems

For the elaboration of the problems, the features described by [7] were used. In addition, tutorial guides were also made available.

The proposed problems involved computational thinking structures, such as: sequenced instructions, control structures, and variables. The elaboration of a list of exercises in the classroom was based in other experiments held by Robô Fun!Footnote 6 and [9].

The problems presented different levels of difficulty, and the most advanced was challenging and complex because it involved several programming structures. Some of them had multiple ways of solution. One of the examples used was the problem in which the robot should follow a black line on the floor for which it was found three distinct solutions before its application in the classroom.

5 Results and Discussion

This section presents the results obtained by the questionnaires the research findings and the final discussion.

5.1 Questionnaire Results

The students’ responses regarding the motivational components in the pre and post course are summarized in Table 3. In addition to the issues presented in the table there were other questions that aimed to identify the students’ profile (i.e. age, course in which they were enrolled at the university, and their smartphone characteristics). Next, it is presented some of the findings regarding each motivational component.

Table 3. Results of the questionnaires involving motivational components. E1: Strongly disagree. E2 Disagree. E3: Neutral. E4: Agree. E5: Strongly agree.

Attention. In the pre-course questionnaire 14 % did not show indication of attention to the use of robots in the classroom while others varied from neutral to positive; on the other hand, in the post-course questionnaire, all questions related to attention tended to neutral and positive answers.

Relevance. In the pre-course questionnaire, there was neutrality and disagreement in the question: “I find Coffee useful in learning how to program”. However, in the post-course, students answered only positively when asked about the platform aid in testing the taught concepts.

Confidence. There was dispersion regarding the confidence of students, especially when asked about the use of robots in the pre-course and the level of difficulty of the presented problems. Another relevant point is that 86 % agreed that the use of blocks in programming made the solution of the problems easier.

Attitude. Initially, the platform did not captivate all students: 43 % of the students showed indifference in relation to its use.

Satisfaction. In general, there were positive answers since 86 % did not feel bored or discouraged to use the tool, and only 14 % shown to be indifferent.

Future Expectations. As indicated, the students have divergent answers regarding their expectations of taking other robotics and programming courses.

5.2 Research Findings and Discussion

The answers regarding the motivational components, in the pre-course questionnaire, indicate that the Physics and Chemistry students showed greater indifference and even negativity when asked about the use of robots and of the Coffee Platform. However, this negativity has changed after the activity.

The Chemistry student changed his opinion about the platform between the beginning and the ending of the course. Initially, he strongly disagreed that using robots to learn how to program caught his attention. In the post course questionnaire, he turned neutral in this point. This indicates that it is possible that the Coffee Platform aids in the motivational component “Attention”.

There was an overall improvement between the pre and post course for the motivational component “Relevance”. That indicates that even those that shown more resistance to use the tool, could find some relevant use for it.

Initially, some students did not feel confident in using robots to learn how to program. This lack of confidence could be related to the absence of a cover for the robotic platform to omit the electronic components. This possibility was raised during the final discussion in class, and it would not be contemplated only with the questionnaires and observations of the researchers.

The lack of confidence in the pre-course was not reflected in the post-course. Some possibilities raised by the facilitators’ observation and the final discussion are: the use of the PBL and the students’ experience in the use of the robot.

When asked about the anxiety of using the Coffee Platform, three out of seven students remained neutral. This demonstrates that the use of robots and programming blocks do not imply curiosity and anxiety of all students. However, it is worth mentioning that despite this indifference, none of them declared to feel discouraged or disinterested while using the tool. Only one student remained neutral in both answers.

The future expectations of the students were distinct and probably not related to the use of the Coffee Platform. We hypothesize that there are two factors for that: (a) the application in the classroom was not ideal. It would be interesting that students could use the platform throughout the semester, therefore, consolidating their knowledge in programming with the aid of the platform. This observation was also raised by a student in the classroom, strengthening this hypothesis; (b) those who are indifferent to the use of the robots might not always change their perspective regarding the subject. It should be noted that the goal is not to get everyone to program professionally, given the diversity of courses, but enhance the learning through a more motivating approach.

One of the most relevant comments in the discussion was the request that platforms like Coffee to be used throughout similar courses. Students even claimed that the tool was interesting to reduce the bias against programming, and it could also aid in the comprehension of various course contents.

Another point in the evaluation of the platform is that the students did not have any doubt concerning the Web page mechanisms, in other words, they created accounts and projects prior to the presentation of these features.

The discussion held in the classroom allowed students to express their impressions of the platform. It was clear the demand for an integrated simulator in the Web page, so students could test the code before sending it to the robot. Another request was the support of other textual programming languages

Statements of enthusiasms and the general class interest indicate that the Coffee Platform has potential, and it should be applied and studied for an extended period for the verification of the reported findings.

6 Conclusion

This paper presented the Coffee Platform, an education tool which relies in block programming and robotics. The platform was applied in a classroom, and through an evaluation based on students’ motivation and opinion, the platform proved to be viable to classroom activities.

The Coffee Platform, in the way it was developed, allows its components to be expanded. In the smartphone, it is possible to use other operating systems by adding specific plug-ins. Furthermore, it is possible to replace the robotic platform because of its loose coupling with the rest of the system.

In a future research, the ideal environment for the adoption of this project would be computer classes throughout the course, allowing computational thinking and, specifically, programming knowledge to be built gradually and assimilated to other programming languages. It could also be added to the platform features highlighted by the students in order to turn it more attractive.

For long-term applications, it would be interesting to analyse: the implications of the sharing and publishing of projects resources, adding periodical monitoring, collecting logs, and including teacher’s evaluation since he/she has great influence in the classroom environment.