Sei sulla pagina 1di 6

Using App Inventor 2 in A Summer Programming

Workshop: Improvements Over Previous Years


Sharefah A. A-Ghamdi1, Noha A. Al-Rajhi2, Nouf M. Al-Onaizy3 and Hend S. Al-Khalifa4
Information Technology Department
College of Computer and Information Sciences
King Saud University
Riyadh, Saudi Arabia
{1sharefah|4hendk@ksu.edu.sa}, {2noha.a.alrajhi| 3nouf.alonaizy@gmail.com}

Abstract—App Inventor (AI) for Android is a block- building mobile applications that can make the students more
based programming environment that enables nonprogrammers motivated about programming [7].
to create fully functional mobile applications for Android phones
by dragging and dropping code blocks. Since the launch of AI, In our workshop, which targeted high and middle school
many improvements were applied to it, which aimed to increase female students, we taught mobile programming using the
its effectiveness in promoting programming education for improved version of AI (AI2). Thus, in this paper, we will
beginners. In our workshop, which targeted high school female describe our experience in using AI2 in our workshop, how it
students, we taught mobile programming using the improved helped in our teaching method and discuss the improvements
version of AI2 (a free cloud-based tool). Thus, in this paper, we and limitations we observed of AI2 over its previous version.
will describe our experience in using AI2 in our workshop, how it We will also show the activities provided to the students and
helped in our teaching method and discuss the improvements and the ideas of mobile apps created using AI2. The final mobile
limitations we observed over the previous version of the tool. We apps as well as the survey results showed how effective was
will also show the activities provided to the students and the the workshop and how the improved version of AI has
mobile apps that were created using AI2. The final apps as well enhanced the teaching process.
as the survey results showed how effective was the workshop and
how the improved version of AI has enhanced the teaching Our contribution in this paper is in two-folds: (1) reporting
process. our experience in conducting a mobile applications
development workshop for young female students, and (2)
Keywords—App Inventor 2; Programming; Mobile App; providing insights into AI2 and its improvements and
summer workshop; Learning Improvement limitations over its previous version.
I. INTRODUCTION The rest of the paper is organized as follows: Section 2
Many of recent research have shown that teaching summarizes some previous work in using AI for programming
programming in simple methods and providing concepts in education. Section 3 presents our workshop logistics, design
progressive procedure motivate students to both programming and AI2 improvements. Section 4 discusses our evaluation and
and computer science fields. Using block-based programming lessons learned from using AI2 and the students' final projects
environments such as App Inventor (AI) for beginners, as well as the results of the pre and post workshop survey.
simplify the understanding of many programming concepts. Finally, section 5 concludes the paper with our future outlook.
Since AI relies on clicks, and drag and drop, it does not require II. RELATED WORK
writing code, which may cause students frustration with simple
errors such as forgetting a comma (,). In this section we will focus on previous workshops that
utilized AI as a medium for teaching programming. The reason
Lately, block-based programming was the approach for behind this approach is to understand the different ways such
many summer workshops e.g. [1] [2] as well as schools e.g. [3] workshops used AI in teaching. While searching popular
and universities e.g. [4]. All of these workshops and courses databases such as ACM, IEEE and Sciencedirect, we found
taught programming using AI. Such workshops were not only around 21 papers that are using AI for teaching programming.
limited to students, but were extended to include also teachers Table 1 summarizes these previous experiences which will help
either in the field of computer science or others e.g. [5]. us in shaping our workshop objectives.
In 2013, MIT released App Inventor 2 (AI2) and since then From table 1 we can observe diversity in previous
many changes and improvements happened to this version. experiences in terms of learning period lengths or in terms of
They made it attractive to a wide range of audiences like teaching methodologies. Learning periods ranged from two
educators, designers, researchers and hobbyists [6]. In semesters such as [9], up to 3 weeks e.g. [10] to one week or
comparison with other block-based environments like Scratch, several days e.g. [1] [11], or even one day e.g. [12]. This
App Inventor looks more powerful for beginners through diversity in workshop length affected the content of the
delivered curriculum. We found exploratory courses that

978-1-4673-8633-3/16/$31.00 ©2016 IEEE 10-13 April 2016, Abu Dhabi, UAE


2016 IEEE Global Engineering Education Conference (EDUCON)
Page 383
provided group discussion followed by exercises to develop From our previous survey, we observed two things: (1) the
mobile apps e.g. [12]. On the other hand, introductory courses recurring concepts that are usually taught in AI workshops and
to programming e.g. [1] [3] [10] have provided most of the (2) the lack of experience repots with AI2, therefore, in our
programming concepts in one week, while courses that workshop, we utilize AI2 as a medium for teaching
introduced more advanced topics were covered in one semester programming concepts and highlight its improvements which
or a complete year. We also observed that most of university or helped us in enhancing our workshop curriculum.
school courses have divided participates into groups. The way
of using AI in each workshop was effected by its objectives for III. WORKSHOP LOGISTICS
example: [11] aimed to reach early age students by introducing Our summer programming workshop was run by two
them to computing and mobile apps through developing AI Information technology graduates, supervised by an IT faculty
apps during the workshop. member. The workshop students were recruited through social
advertising to encourage female aged between fifteen and

TABLE 1. SUMMARY OF PREVIOUS EXPERIENCES IN USING AI FOR TEACHING PROGRAMMING

Target
Ref Context Period Workshop Content
Audience
- Event handlers.
- Functions
- Video and sound using high-level components.
Taught AI in One
[4] College student - Abstract thinking, logic and traditional programming skills, e.g., variables, list, etc.
college course semester
- Persistent data
- Accessing APIs,
- Multi-user apps.
Five video tutorials provided to introduce 10 programming Concepts, which are:
- Sequence
- Event-driven programming
- Boolean values
Summer camp - Random number
High school
[1] workshop One week - if-then-else
students
- Boolean conditions
- Variables
- Initialization and increment of variables
- Datatype conversion
- Procedures/methods

- Introduction to AI environment and how to to use its various components whether


simple such as buttons, labels and sounds, or advanced like canvas components for
Second grade of
High school drawing, event handlers that take arguments, arrangement components for controlling
[3] 6 hours senior high
course screen layout, etc.
school
- Introduction to Global variables and development of computational skills in problem
solving by giving students a chance to create mobile app of their own choice.

App inventor was one of many different tools used in this course. It was introduced as one of
High school 14 to 16-year-
[9] One year 12 topics and used to develop the following computational thinking concepts: sequence,
course old students
event, event handler, conditional, parallelism and loop.

The 3rd week of the camp taught the students how to develop an Android app and focused
on concepts such as:
- Objects
- Programming environments (Block Language and Java)
3 Weeks
- Events
Summer camp (3rd week High school
[10] - Decision statements
workshop focused on students
- Loops
AI)
- Methods
- Understand how to read documentation
- Create GUI and code its component
- Use phone sensor components and services (camera, text messaging)

978-1-4673-8633-3/16/$31.00 ©2016 IEEE 10-13 April 2016, Abu Dhabi, UAE


2016 IEEE Global Engineering Education Conference (EDUCON)
Page 384
- Variables
Workshop on - User input
incorporating - Conditional Branching, Boolean Expressions
K-12 Teachers
[11] mobile One week - Loops
technology into - Procedures (Methods and Functions)
classrooms - Advanced Boolean and Lists
- Components available with an Android device.

The workshop was provided through a group discussion and questions emerging from three
introductory AI collaborative programming exercises (android apps) which introduce
Exploratory Middle school
[12] One day students to simple programming concepts such as: counter, variables, conditional statements
workshop students
and if-then checks, image clicked using the phone camera as well as the use of the
TextToSpeech command.

eighteen to join our workshop. The workshop aimed to Each day started with an activity that leads students to
introduce some of the main programming concepts in an understand the concepts presented at that day. Then, the
interactive way using AI2. The programming concepts that concepts were briefly described to them by providing their
were presented are: Variables and methods, Lists, If statement, definition, types -if any - , and when to use them. After that, in
Loops and Databases. The concept of Database was presented each day there were a mobile application with an idea related to
in this year’s workshop as an improvement over our previous the concept, each student should implement it using AI2. Table
workshop [8] also most of the previously surveyed workshops 2 shows the discussed mobile applications' ideas.
have taught this concept e.g. [1][3][10], which encouraged us TABLE 2. MOBILE APPS BUILT FOR EACH PROGRAMMING CONCEPT
to offer it.
Concept Mobile Application
Next, we will discuss our workshop rationale and Variables and methods Screen Background Color.
objectives, its presented topics and activities and the new Lists Purchases List.
improvements of AI2. If statement Traffic Light.
Loops Odd Numbers.
A. Rationale Databases Value Guessing Game.
Three objectives drove our workshop design, namely:
1) Market demand for mobile applications' developers: In a nutshell the main activities and mobile apps covered in
according to 2015 statistics [13] the use of smart phones each day were as follows:
will be 32.63% higher than it was in 2014. Also, the First Day: we spent it describing AI2 interface.
usage of smartphones will become even higher in the
next few years. Second Day: we explained variables and methods by applying
active learning techniques. We used boxes and accessories as
2) Easiness of Block based programming environment: In an activity, each box accepts specific type of accessory where
order to make programming concepts easier to the boxes are “variables” and accessories are “values”, then the
understand, we decided to use block based programming final result should be to create a bunch after filling the boxes.
environments that helped attract students who might not After introducing the students to how to use AI2 to apply
otherwise be interested in a pure computing workshop. variables and methods in programming, each student developed
3) Apply active Learning: In our workshop, we wanted a a “Screen Background Color” app that contains a button when
comfortable workshop environment where students are clicked it changes the background of the screen.
free to move, talk to each other, and make some activity Third Day: we initially introduced the “lists” concept by
together, as cooperative learning. We also wanted to applying "Searching for The Treasure" activity. This activity
make the time, material, and tools suitable for students started with an initial hint that leads to another hint until the
from a variety of backgrounds and interests by including treasure was found. The mobile app that the students developed
events and activities to understand concepts rather than was “Purchases List app”, where a user enters his purchases list
theoretically explaining them. item by item, then displays the purchases as a list by clicking a
B. Topics and Activities display button. We also presented canvas and graphics topics
by the end of the day.
The workshop was a mixture of technical, informational
and social activities meant to deliver programming concepts in Fourth Day: we presented two concepts, (1) “IF statements”
an enjoyable way. At the beginning of the workshop, the and (2) “Loops”. The IF statement concept started with
students were divided into four groups; each contains four “Feather Colors” activity, where we gave each group three oil
students with different ages. The workshop started with some colors with written instructions to follow while color mixing.
ice-breaking activities, and then sessions commenced. Our The instructions were written using if statements to specify
sessions throughout the 6-days program followed this strategy: what color they will get if they mix two specific colors. Then
students built the “Traffic Light” mobile app, which change the

978-1-4673-8633-3/16/$31.00 ©2016 IEEE 10-13 April 2016, Abu Dhabi, UAE


2016 IEEE Global Engineering Education Conference (EDUCON)
Page 385
current traffic light color depending on the previous color when TABLE 3. DIFFERENCES BETWEEN APP INVENTOR VERSIONS 1 (AI)
a user clicks the button. On the other hand, the Loops concept AND 2 (AI2).
started with a discussion activity explaining the loop concept
AI1 AI2 Comments
via some real world examples such as water cycle and blood
cycle. After that “Searching for the odd numbers” mobile app Install the “Blocks No insallation, access
Using the cloud it
were created, which accepts an integer number as a user input became easier and
Editor”. it from the browser
faster to use AI2.
in the rang (1-10), then the app finds all the odd numbers less
than the user input, and display them on the screen. This gave AI2 more
Add additional
Add additional Screens flexibility to access
Fifth day: the session consisted of two parts, (1) “Databases” Screens in Blocks or
in Designer screen only. some functionalities
Designer screen mode.
concept presented initially by the “Memory Save” activity in a from different screens.
way that students ask questions to each other and hear the
This gave the users the
answers, then they have to memorize these answers. The Blokes are categorized All blocks are
ability to browse all
students developed the “Guessing Game” app which used the in: Built-In, My Blocks, available under one
their blocks from one
and Advanced drawers. category.
concept of databases. (2) The second part of the day taught side.
mathematical operations in programming using simple Surprisingly, the .aia
examples. file is just a regular .zip
File extinction “.ZIP”. File extinction “.aia”. file. Hence, it may be
Sixth Day: was dedicated for final Projects (mobile apps) possible that .aia is just
presentation and winners announcement. renamed zip.

C. AI2 Improvements IV. EVALUATION


Based on our experience in using AI2 in this workshop,
In order to measure the success of the workshop two types
many changes were made to AI2 to make it easier, and better.
of evaluations were applied: (1) students' projects and (2)
The major improvement made to AI2 is moving everything to
workshop post survey.
the cloud, which made it cross-platform. No need to install
anything on your own computer to access AI2 editor, the user A. Students' Projects
can access it directly from any web browser. This improvement By teaching sixteen students divided into four groups, the
eliminated the installation time; however, the students need to evaluation was done using AI2 where each group created a
download the AiStar.exe to use the emulator in case they do project with their own ideas. The projects should contain
not have an android mobile system. concepts taught during the workshop sessions to make sure that
On the other hand, AI2 made it easy to test apps using only our goals are accomplished.
a Wi-Fi connection via the MIT AI2 Companion app. This Using the concept of random numbers, the first developed
improvement lead to establishing one of the most important project was a guessing game. This mobile app introduced a
goals in our workshop, making the students engaged. So, in game that aims to activate the human mind where one player is
each day, after introducing a programming concept we asked needed to play. The lists concept was the theme of the second
each student to code a program that applies that concept and project. The developed app was about learning Arabic letters
view them in their own mobile phones, which does not taking and how to pronounce them for non-Arabic speakers. The third
long time to do so. The students were able to view their apps app used the database concept; it included some information
each day rather than just develop a final project that may or about mobile programming as well as Robotics world with an
may not include all the introduced concepts, which gave them interesting design and decorative pictures. The final project
enthusiasm and motivation for greater productivity. was a medicine reminder app for elderly people. The concepts
Also, AI is known as a block based programming applied in this project were loops and if-statements. Figure 1
environment, hence it has a group of defined blocks that aim to shows screenshots of the four projects.
do a certain operation. In the new version of AI, new blocks The four developed apps used several concepts taught
were introduced to enhance the features of the created apps and during the workshop such as methods, variables, lists,
give the user more space to use more functions. One of the new databases, and if statements. This resulted in improving the
functions which were added in AI2 is “evaluate but ignore students' skills and programming thinking, as well as giving
result”, the block linked to this function will run, but its them the ability to discover new features by self-learning.
returned result will be ignored. This can be useful if you define
a procedure that returns a result, but want to call it in a context
that does not accept a result. Another function was added in
AI2 is “Do then return” that minimizes the use of adding new
procedure where this block can do certain orders together and
return result. These new changes helped our students to use the
blocks easily and simply, and quickly understand their
functionalities due to their simple naming.
To recap the new improvements of AI2 over its predecessor
is summarized in Table 3.

978-1-4673-8633-3/16/$31.00 ©2016 IEEE 10-13 April 2016, Abu Dhabi, UAE


2016 IEEE Global Engineering Education Conference (EDUCON)
Page 386
38%
Pre 44%
18%

78%
Post 19%
3%

0% 20% 40% 60% 80%

Correct answers Wrong answers I Don't know answers


(1) (2)
FIGURE 2. PERCENTAGE OF STUDENTS’ CORRECT, WRONG AND I DON'T KNOW
ANSWERS

On the other hand, to measure students motivation and


tendency towards programming field, Figure 3 shows the
percentage of the total students who agreed with the following
statements: (1) mobile programming is hard, (2) programming
concepts are complicated and (3) programming field is
interesting. We can observe from the results that the students
have slightly changed their minds regarding the first two
statements; however, the last statement has witnessed a great
positive result.

44%
(3) (4)
Pre 56%
FIGURE 1. STUDENTS' PROJECTS: (1) GUESSING GAME, (2) LEARNING ARABIC
69%
LETTERS, (3) INFORMATION ABOUT MOBILE & ROBOTICS PROGRAMMING AND
(4) MEDICINE REMINDER.

40%
B. Post survey results
Post 53%
Two surveys were distributed at the beginning and at the 100%
end of the workshop. Each survey has two types of questions,
the first type measures the students' knowledge about some
0% 20% 40% 60% 80% 100%
concepts related to programming, the second type measures
their motivation and tendency towards the programming field. Mobile Programming is hard
As for measuring the knowledge gained by the students Programming Concepts Complicated
before and after the workshop, the pre and post survey I am interested in programming field
consisted of six questions that covered the programming
concepts taught in our workshop. Each concept was tested with
FIGURE 3. STUDENT’S KNOWLEDGE AND TENDENCY TOWARD PROGRAMMING
one question that could be answered by one of three possible
answers: (correct, wrong and I don’t know). The results in
V. LESSONS LEARNED
Figure 2 show an increase in students understanding of the
presented programming concepts. The figure also shows the Despite the new improvements of AI2, yet there were some
aggregated correct versus wrong and I don’t know answers for limitations that students and instructors faced while using it,
all questions. The results show that most students were having among these limitations are:
wrong information at the beginning of the workshop, however,
x MIT App inventor did not work on some students’
after the workshop, their knowledge has increased, this is
devices, and
shown in the decrease of wrong and I don’t know answers.
x In programming blocks, variables initializations
sometimes does not work with 0, they must be
initialized to an empty text (“ ”), and there is no known
reason for that.

978-1-4673-8633-3/16/$31.00 ©2016 IEEE 10-13 April 2016, Abu Dhabi, UAE


2016 IEEE Global Engineering Education Conference (EDUCON)
Page 387
These limitations came up with lessons learned to both teaching activities that apply kinetics for simplifying
students and trainers. Below are the lessons learned from AI2 programming concepts will be considered.
and the workshop in general:
REFERENCES
x Improve students' searching skills to solve any problem [1] Roy, Krishnendu. "App inventor for android: report from a summer
faced in AI2. camp." InProceedings of the 43rd ACM technical symposium on
Computer Science Education, pp. 283-288. ACM, 2012.
x Think about how to find an alternative solution to come
[2] AlHumoud, Sarah, Hend S. Al-Khalifa, Muna Al-Razgan, and Auhood
over the limitations of AI2, e.g. AI2 does not support Alfaries. "Using app inventor and lego mindstorm nxt in a summer camp
more than 10 screens in each project, an alternative to attract high school girls to computing fields." In Global Engineering
solution was to use the visibility property for the Education Conference (EDUCON), 2014 IEEE, pp. 173-177. IEEE,
components in the screen. 2014.
[3] Perdikuri, Katerina. "Students' Experiences from the use of MIT App
x Support active learning through daily programming Inventor in classroom." In Proceedings of the 18th Panhellenic
assignments and applying learned concepts on their Conference on Informatics, pp. 1-6. ACM, 2014.
mini programs. [4] Wolber, David. "App inventor and real-world motivation." In
Proceedings of the 42nd ACM technical symposium on Computer
x Support and encourage teamwork by rewarding daily science education, pp. 601-606. ACM, 2011.
bonuses to each active group. [5] Turbak, Franklyn, Shaileen Crawford Pokress, and Mark Sherman.
"Mobile computational thinking with APP inventor 2." Journal of
VI. CONCLUSION AND FUTURE WORK Computing Sciences in Colleges 29.6 (2014): 15-17.
[6] Pollard, John K., and Sara Magdi. "Building motivation by student-
A one week long mobile apps programming workshop teaching." In Frontiers in Education Conference (FIE), 2014 IEEE, pp.
using AI2 was provided to high and middle school female 1-5. IEEE, 2014.
students. The workshop introduced basic programming [7] Papadakis, Stamatios, Michail Kalogiannakis, Vasileios Orfanakis, and
concepts by developing different android mobile apps. Nicholas Zaranis. "Novice Programming Environments. Scratch & App
Inventor: a first comparison." In Proceedings of the 2014 Workshop on
AI block based environment was chosen for two reasons: Interaction Design in Educational Environments, p. 1. ACM, 2014.
(1) the success of many previous workshops and courses that [8] Reem AlAmer, Wejdan Al-Doweesh, Hend S. Al-Khalifa and Muna Al-
used AI to teach programming, and (2) the new improvements Razgan. "Programming Unplugged: Bridging CS Unplugged Activities
of AI2 over its previous version. Gap for Learning Key Programming Concepts” Fifth International
Conference on e-Learning: Cognitively Informed Technology. Manama,
This paper also provided details on how AI2 enhanced our Kingdom of Bahrain. 18th -20th. October 2015. IEEE.
teaching process and what we provided in our program for all [9] Giordano, Daniela, and Francesco Maiorana. "Use of cutting edge
six days including daily activities and final mobile apps ideas. educational tools for an initial programming course." In Global
We were also able to give students a chance to practice each Engineering Education Conference (EDUCON), 2014 IEEE, pp. 556-
563. IEEE, 2014.
programming concept by building a specific mobile app
[10] Wagner, Amber, Jeff Gray, Jonathan Corley, and David Wolber. "Using
individually; this ensured that each student is trained enough in app inventor in a K-12 summer camp." In Proceeding of the 44th ACM
all presented concepts. technical symposium on Computer science education, pp. 621-626.
ACM, 2013.
Moreover, students' knowledge and opinions were solicited
[11] Liu, Jiangjiang, Cheng-Hsien Lin, Phillip Potter, Ethan Philip Hasson,
by given pre and post surveys at the beginning and at the end Zebulun David Barnett, and Michael Singleton. "Going mobile with app
of the workshop. The survey tested the students' motivation and inventor for android: a one-week computing workshop for K-12
tendency towards programming field and their knowledge on teachers." In Proceeding of the 44th ACM technical symposium on
some concepts related to programming. The results show Computer science education, pp. 433-438. ACM, 2013.
positive shift in students’ understanding on programming [12] Grover, Shuchi, and Roy Pea. "Using a discourse-intensive pedagogy
concepts and on their motivation towards programming as a and android's app inventor for introducing computational concepts to
middle school students." In Proceeding of the 44th ACM technical
field. symposium on Computer science education, pp. 723-728. ACM, 2013.
As a future addition to our course, we are planning to test [13] Statisca. 2015. Smartphone users worldwide 2012-2018. Jan 14.
more block-based programming environments and compare Accessed 11 5, 2015. http://www.statista.com/statistics/330695/number-
of-smartphone-users-worldwide/.
between them to decide which environment will be best for
developing advanced mobile applications. Furthermore, new

978-1-4673-8633-3/16/$31.00 ©2016 IEEE 10-13 April 2016, Abu Dhabi, UAE


2016 IEEE Global Engineering Education Conference (EDUCON)
Page 388

Potrebbero piacerti anche