Using App Inventor and LEGO mindstorm NXT in a ...

2 downloads 0 Views 232KB Size Report
Keywords— Summer Camp; Attracting High School Girls; App. Inventor; Android .... environment that aimed to build students' confidence and trust using this ...
Using App Inventor and LEGO mindstorm NXT in a Summer Camp to attract High School Girls to Computing Fields Sarah AlHumoud Computer Science Department College of Information and Computer Science Al-Imam Mohammad Bin Saud University Riyadh, Saudi Arabia [email protected] Abstract—With the ever-increasing role played by technological innovations in countries’ development and economic growth, governments and educational institutes are keen to encourage and promote computing and engineering education among its young generations. In a developing country such as Saudi Arabia, we observed a certain knowledge gap in truly comprehending the true essence of computing as a science field. High school computing curriculum mainly tackles training students to use various applications and shallow programming instructions. Consequently, we observed that many college freshmen students chose the computing field (or avoid it) based on the misconception that it is mainly about dealing with Office applications or ‘fixing computers’. To change this misconception and attract students who are in a critical phase of choosing their future path and inform them off why they should consider computing as an option, we organized a two weeks summer camp. The summer camp focused on two interesting topics among teenagers, namely: mobile technologies and robotics. Accordingly, this paper presents an experience report describing our approach and evaluation from teaching a summer camp for high school girls using App Inventor and LEGO Mindstorm NXT. Keywords— Summer Camp; Attracting High School Girls; App Inventor; Android; LEGO mindstorm NXT; Outreach; Engineering Education

I.

INTRODUCTION

Computing field as a chosen university degree is declining due to the lack of awareness of the discipline and its available job prospects in the market [1] [2]. Hence, there has been growing concern in the computing discipline that lies in providing high school students with motivating computing experience before choosing the field as their major degree. Summer workshop as one or two week’s short programs, has been widely offered, e.g. [3][4][5][6][7], to introduce basic programming skills to students and help increase their awareness, interests and confidence about the computing discipline. As part of community service, the women section of the Saudi computer society (http://www.computer.org.sa/) has organized a two week summer camp for high school students.

Hend S. Al-Khalifa1, Muna Al-Razgan2, Auhood Alfaries3 Information Technology Department College of Computer and Information Sciences King Saud University Riyadh, Saudi Arabia {1hendk|2malrazgan|3aalfaries}@ksu.edu.sa The main goals of the camp were: (1) to bridge the educational gap between academia and high school students in the field of computing. (2) To change the misconception about the computing field. (3) To attract students who are in a critical phase of choosing their future path and (4) to introduce them to the basic idea of programming. In this paper, we will provide details on how we planned, organized and run the camp. We will also discuss the challenges we faced during the preparation and running of the camp along with some reflections. Finally, the paper will analyze our evaluation of the camp, which includes observations of student projects as well as analysis of post questionnaires. II.

PREVIOUS WORK

Many universities worldwide run summer computing camps for high school students to provide them with a motivating computing experience that is different from their school experience and raise their awareness about the discipline. One of the early works on summer camps for CS was held in 1982 [8] with a focus on computer programming. Afterwards, the culture of computing summer camps has spread tackling different topics such as: introductory programming, computational thinking, robot programming and mobile applications development. Teaching introductory programming by means of animations and drag-drop programming environments are found to reduce syntax errors and reduce student’s frustration and introduce programming concepts in a fun and engaging way. For instance, Adams [9] conducted Imaginary Worlds Camps – a summer program in which he used Carnegie Mellon’s Alice software to change the image girls have about the computing discipline (i.e. computing is a “geeky” and “for nerds") before they reach high school. The preliminary results were quite encouraging. A number of programming environments designed to serve that purpose such as LEGO Mindstorms NXT and App Inventor for Android (AIA) are typically used to introduce programming concepts to novice users through short summer camps as in [10][9][11][12].

App Inventor for Android is a recent visual programming environment designed to create mobile applications by fitting together building blocks. [13][12] offered a summer camp to introduce high school students to programming through mobile applications using App inventor for android. Lego mindstorm NXT is designed to teach Robotics programming and is offered as a summer program in [14][15][11] to introduce programming to high school students through playing. Summer programs have actually proved the effectiveness of these kinds of fun and engaging computing environments given during summer camps, which can have a positive impact in changing student’s perception about computer-programming [16][6][17]. Building on previous summer camps' ideas, our camp will focus on two topics that interest teenagers, namely: mobile technologies and robotics. The next section describes our camp organization and its evaluation. III.

ORGANIZATION OF THE CAMP

To prepare for the summer camp three committees were formed: (1) organizing committee (2) scientific committee and (3) recruiting committee. The responsibility of the organizing committee was to setup the location of the summer camp and arrange for the food and camp materials. Students volunteering at the women section of the Saudi computer society were recruited to handle this task under the supervision of the women section. The responsibility of the scientific committee was to prepare the content of the summer camp, propose the camp activities and produce the handouts and schedule. A team of PhDs were formed from the IT department at King Saud University and CS department at Al-Imam University. The responsibility of the recruiting committee was to find suitable trainers for the camp. The trainers were attracted by announcing the need for trainers on Twitter social media. More than 50 candidates were interested in this position. Then, the recruiting committee conduced a screening session to choose the best candidates for this camp. Two trainers for the robot camp and three for the mobile camp were chosen. All trainers were senior undergraduate students from different universities. After preparing the previous committees, the organizing committee started announcing the summer camp through spreading flyers in high schools and tweeting about the camp. The advertisement has attracted 15 students (5 for the robot camp and 10 for the mobile development camp). The enrolled girls had an average age of 15 years old. The camp was held in the National Center for E-learning and distance Learning (NCEL), female section, from Saturday June 16, 2013 through Wednesday June 26, 2013. A. Robot Week This part of the camp was organized in a period of five days, 4 hours per day including breaks. The aim was to help the

students learn basic robot programming and to build their own functioning robot at the end of the camp; i.e. the final project (fp). During the robot camp, some activities were scheduled for the students. Those activities aim to associate the students with computer science personnel from different universities in an open discussion manner. In addition, they aim to show the students some basic project management and presentation skills in order to deliver a successful project. The students (5 of them) were divided into two groups each having one LEGO Mindstorm NXT kit and a trainer. The robot camp timetable is depicted in Table 1. A more detailed breakdown is explained next. Day 1. In the first day and before starting up, the students were provided with a short survey to test their tendency towards certain professions and to test their perception about computer science and robots. Then, the camp started with writing the camp agreement by the students then an icebreaker activity was performed using robot parts. Subsequently, the trainers went through an introduction to computer science and robotics. The NXT application programming interface was setup on students’ laptops. The students had the chance to experiment with different robot sensors trying NXT built-in functions and mini-programs. Day 2. In the second day, students were guided to build a robot from scratch using the companion user manual. Building a robot for the first time is an interesting process to the students yet a challenging one. Day 3. On the third day, the students started to discuss the final project ideas and try to build robots prototypes in relation to the project. Throughout the day, they were able to build at least two different robot models. At the end of the third day, students were required to disassemble the robot as usual. With the repetitive assembly and disassembly of robots, students get more competent, creative and fast. Day 4. On the fourth day, students were asked to build the final project robot. The final robot is required to perform three different acts using two sensors at least. Day 5. On the fifth and last day, students finished building the robot and presented it to the judges in order to select the wining robot. At the end of each day a fast wrap-up session is held including a feedback survey on the things students liked/disliked about that day. In addition, the students disassemble the robots and return each part to its right place in the kit box. B. Mobile Programing During the second week of the summer camp we presented mobile programing using App Inventor for Android (AIA), in a period of five days, 4 hours per day including breaks (see Table 2 for full schedule). The camp started by introducing the students to AIA environment that aimed to build students’ confidence and trust using this software and eventually develop their own projects.

The best part of the AIA environment is based on block language which allows non-programmers to use the drag and drop emulator to build small programming language without actual coding [13]. To make the camp more interesting and exciting to the students, we had decided to divide the learning material into various blocks, however by the end of the week; it was presented as one whole project. We decided on games collection that consists of five main screens: Home, User Profile, Mole Mash game, Intelligence Test and Arithmetic game. Each day, a part of the project is introduced to the students to include into their code. A more detailed breakdown of the mobile programing camp is explained next, where we were following some examples from Wolber’s textbook [18]. Day 1. We introduced the AIA software which comes bundled with a Java based Android smartphone emulator that needs to be installed before students begun to program. In order to keep students motivated and engaged with the software, we asked the students to use their own laptop devices. However, this idea required us to prepare and install the software on each student’s laptop. We helped the students in downloading and installing the software in their own laptops. We then illustrated the AIA environment and its components (Buttons, labels, sound, event handler, and image) to build the HelloPurr App. Day 2. Was rather a traditional lecturing, we adapted learning by doing. We introduced the user's profile screen which aimed at saving user's information to provide personal messages to the user. The CS concepts learnt by the students were: how to write user input and store the date persistently and retrieve it, which consist of simple database concepts. In addition, we presented real examples of applications designed by AIA such as: no text while driving, and encouraged the students to think about their own project to present it in the final day of the camp.

behind their application, and explained in general terms part of the code such as if-else statements, loops, etc. At the end we asked the students to present their project to the other groups and fill the post-survey questions. The students’ projects were interesting giving the fact that most of them had no programming experience and being able to learn AIA in a week and develop their own projects. Fig.1 shows examples of the final project.

Fig. 1. Two examples of the students' final project

IV.

CAMP REFLECTION AND EVALUATION

A. Robot Week Pre- and post-surveys were given at the beginning and at the end of the robot camp. The survey tested the students' tendency toward computer science (CS) in general. Moreover, it tested the students’ perception about CS and their knowledge on some concepts related to CS and robots. The survey results show positive shift in students’ general perception on studying CS, as shown in Figure 2.

Day 3. We presented the Mole Mash Game. A mole pops up at random positions on a playing field, and the player scores points by hitting the mole before it jumps away. The CS concepts learnt in this day were: methods identification and event handlers. We felt that the students got more familiar with the AIA application and we introduced Intelligence Test screen to them, by asking them general questions about their hoppy, interest, dreams, and present three choices to select one of them. The CS concepts taught in this part were: variables, lists, and conditional branching. Day 4. We presented an Arithmetic game. This game provided random numbers and asked the user to solve this operation and prevent the user to move to another question unless she enters the correct answer. Also there was a timer to record session duration. The CS concepts taught in this part were: loops and arithmetic operations. Day 5. We implemented a reverse engineering technique, by presenting some examples to the students and asking them to link to one of CS concepts introduced in the previous days. In addition, we showed the students how to move their application from the emulator to Android phones and ask them to test each other application. To show the students the code they had written by the AIA application, we opened the Java code

Fig. 2. Students perception towards CS.

Some of the things that worked well in the robot camp were as follows: Firstly, the group size, by assigning one kit and trainer per group enabled each student to participate adequately in building a robot. Secondly, hands-on training activities with minimal lecturing speeded the learning process and worked well in motivating the students. Moreover, asking the students to repetitively assemble and disassemble the robot aided in building student competence in a short period. Thirdly, the students were asked to share positive knowledge about the camp by tweeting. This did not only engage the students and enrich their experience, it also fuels the competition to

concentrate and reflect on the information they receive. Lastly, daily challenging contests between groups motivated students to invest more time and energy in the robot building. On the other hand, one of the things that did not work well in the robot camp was the first break timing, as the students and trainers felt that the second break alone is sufficient for a light snack and prayer together. B. Mobile Week Conducting the AIA camp was interesting and students were so happy after installing the application on their mobile phones. The students not only touched but also felt their created projects. During this camp we had introduced some computer science concepts and asked the students to apply it into the AIA emulator. The students by the end of the camp had two projects running on their android mobile phone: Intelligence Games Collection and their own developed projects. These projects achieved the main objective of the camp which was: to apply and design CS concepts using mobile application development, these concepts include: loops, lists, decision statement, animation, and generating GUIs. Some of the comments provided by the students were about giving them more time to learn more about programming, thus one week is not enough to make them capture the material and apply it on the final project. We noticed at the beginning that students have the misconception of being able to learn programming quickly; however, they discovered the contrary while developing their own projects, since they required extra help from the trainers. The main problem we faced during this camp was with AI, since as it needs to be connected to the internet while students are programming. This caused delay as the internet connection happens to be slow or down sometimes. It was more useful if we used a programming environment that installed on students’ computers and does not require Internet connection. V.

learn mobile programing and robot programming in a week and develop their own projects. By analyzing the camp results and observing participants projects, we found that hands-on training activities with minimal lecturing helped to speed the learning process. Although robotics assembling seemed hard at the beginning, repetitive assembling and disassembling of the robot aided in building students' competency in a short period. On the other hand, daily competitions between groups motivated students to invest more energy in robot building. When planning future camps we should aim to attract a wider number of participants through advertising the camp well in advance and distributing camp announcements to schools. One week for each camp seemed not sufficient to expose participants to the required concepts and skills, however, running the camp over several weeks could be more appropriate. Also having two breaks during the daily sessions were unnecessary, the second break alone was sufficient for a light snack and prayer. This experience report demonstrates that summer camps can have a positive inspiration on students’ when designed to teach basic programming concepts and knowledge of computing. The analysis and results presented in this research can be used to inform school programs as well as future workshops. It also illustrates the importance of a positive initial computing experience and the need for professional role models. The remaining components of our proposed camp, beyond the impact of this program on teachers’, counselors and students’ beliefs, attitudes and knowledge of computing, require confirmation through future research. ACKNOWLEDGMENT The Authors would like to thank the Female Branch of the Saudi Computer Society for organizing this summer camp and National Center for E-Learning and Distance Learning (NCEL) for hosting it. REFERENCES

CONLCUSION AND FUTURE REMARKS

A two week summer camp for high school students was organized by the Saudi computer society to bridge the educational gap between academia and high school students. Concerning the computing field the camp introduced basic programming concepts in an interesting way. The camp was designed to improve student’s attitude and belief towards the computing field. This camp offered two choices of programming environments: (1) mobile programing, one week camp and (2) introduction to robots, one week camp. The paper provided details on how the two camps were planned, organized and ran. Pre- and post-surveys were given at the beginning and at the end of the robot camp. The survey tested the students' tendency and perception about CS and their knowledge on some concepts related to CS and robotics. The survey results show positive shift in students’ perception on CS. By analyzing the number of participants in the two camps, students seemed to be more interested in mobile applications. At the end of each week students were asked to present their project to other groups and fill the post-survey questions. The students’ projects were interesting giving the fact that most of them had no programming experience and being able to

[1]

[2]

[3]

[4]

[5]

[6]

[7] [8]

P. Cantrell and J. Ewing-Taylor, “Exploring STEM Career Options through Collaborative High School Seminars,” J. Eng. Educ., vol. 98, no. 3, pp. 295–303, 2009. M. Papastergiou, “Are Computer Science and Information Technology still masculine fields? High school students’ perceptions and career choices,” Comput. Educ., vol. 51, no. 2, pp. 594–608, Sep. 2008. W. Duplantis, E. MacGregor, M. Klawe, and M. Ng, “‘Virtual family’: an approach to introducing java programming,” SIGCSE Bull, vol. 34, no. 2, pp. 40–43, Jun. 2002. J. A. Rursch, A. Luse, and D. Jacobson, “IT-Adventures: A Program to Spark IT Interest in High School Students Using Inquiry-Based Learning With Cyber Defense, Game Design, and Robotics,” IEEE Trans. Educ., vol. 53, no. 1, pp. 71–79, 2010. B. Tangney, E. Oldham, C. Conneely, S. Barrett, and J. Lawlor, “Pedagogy and Processes for a Computer Programming Outreach Workshop #x2014;The Bridge to College Model,” IEEE Trans. Educ., vol. 53, no. 1, pp. 53–60, 2010. A. Munson, B. Moskal, A. Harriger, T. Lauriski-Karriker, and D. Heersink, “Computing at the high school level: Changing what teachers and students know and believe,” Comput. Educ., vol. 57, no. 2, pp. 1836–1849, Sep. 2011. A. Harriger, “Could Alice Equalize Student Learning?,” in Proceedings of the 2009 Alice Symposium, New York, NY, USA, 2009, pp. 8:1–8:4. G. A. Jones, “Summer high school computer workshop,” SIGCSE Bull, vol. 14, no. 1, pp. 23–27, Feb. 1982.

[13]

TABLE I.

Day 1 2 3 4 5

4:00-5:30 Pre survey Building a robot from user manual Work on final project (fp) prototype Work on fp Work on fp

INTRODUCITON TO ROBOTS TIMETABLE

5:40-6:30 Introduction Continue robot building Continue fp prototype Continue fp Continue fp

TABLE II.

6:30-7:00 Software setup External activity External activity

Break

[12]

[14] J. S. Kay and J. G. Moss, “Using Robots to Teach Programming to K-12 Teachers,” in 2012 Frontiers in Education Conference Proceedings, 2012, pp. 1–6. [15] S. Uludag, M. Karakus, and S. W. Turner, “Implementing IT0/CS0 with scratch, app inventor forandroid, and lego mindstorms,” in Proceedings of the 2011 conference on Information technology education, New York, NY, USA, 2011, pp. 183–190. [16] M. Papastergiou, “Digital Game-Based Learning in high school Computer Science education: Impact on educational effectiveness and student motivation,” Comput. Educ., vol. 52, no. 1, pp. 1–12, Jan. 2009. [17] S. Cooper, W. Dann, and J. Harrison, “A K-12 College Partnership,” in Proceedings of the 41st ACM Technical Symposium on Computer Science Education, New York, NY, USA, 2010, pp. 320–324. [18] D. Wolber, App inventor create your own Android apps. Sebastopol, Calif.: O’Reilly, 2011.

External activity Fp presentation

7:20-7:50 Sensors test Introduction to final project Continue fp prototype Continue fp Closing ceremony

7:50-8:00 Wrap up Wrap up Wrap up Wrap up Post survey

MOBILE APPLICATIONS DEVELOPMENT TIMETABLE

Day 1

4:00-5:30 Pre survey

5:40-6:30 Introduction to App Inventor App

6:30-7:00 Introduce AIA parts from the website such as (Buttons, labels, sound, event handler, image)

7:20-7:50 Real example of Hello Purr using the component in the website. Introducing Intelligence Games Collection

7:50-8:00 Wrap up

2

Explain the concept of prototype

Distribute paper prototype for students to fill

Use CS- unplugged to explain methods Introduce Animation (Canvas + image sprite + clock) Explain and write the code Arithmetic game

Explain: profile screen present real example of AI Explain and write the code Intelligence Test

Think about final project

3

Apply the first screen of the prototype in the AIA emulator External activity

4

5

Review concepts by reserve engineering technique

Introduce and apply Mole Mash Game

Prayer Break

[11]

Break

[10]

J. C. Adams, “Alice, Middle Schoolers & the Imaginary Worlds Camps,” in Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education, New York, NY, USA, 2007, pp. 307–311. K. Treu and A. Skinner, “Ten suggestions for a gender-equitable CS classroom,” SIGCSE Bull, vol. 34, no. 2, pp. 165–167, Jun. 2002. M. Anderson and C. Gavan, “Engaging undergraduate programming students: experiences using lego mindstorms NXT,” in Proceedings of the 13th annual conference on Information technology education, New York, NY, USA, 2012, pp. 139–144. J. Liu, C.-H. Lin, E. P. Hasson, and Z. D. Barnett, “Computer science learning made interactive — A one-week alice summer computing workshop for K-12 teachers,” in 2012 Frontiers in Education Conference Proceedings, Los Alamitos, CA, USA, 2012, vol. 0, pp. 1–6. A. Wagner, J. Gray, J. Corley, and D. Wolber, “Using app inventor in a K-12 summer camp,” in Proceeding of the 44th ACM technical symposium on Computer science education, New York, NY, USA, 2013, pp. 621–626.

Break

[9]

Discuss students projects & Wrap up

Use CS-unplugged to explain List Explain loops and arithmetic concepts

External activity

Explain and write the code Arithmetic game

Discuss students projects & Wrap up

Open Java line of codes for the parts written before

Future trends and application with AI

Closing ceremony

Post survey