Students* Experiences from the use of MIT App Inventor

advertisement
Students’ Experiences from the use of MIT
App Inventor in classroom
Katerina Perdikuri
2nd Senior High School of Salamina, Greece
Introduction - research work objectives
 This research work investigates whether MIT App Inventor :
 could be used for teaching programming
 could be used as a facility to develop computing skills and
computational thinking to senior high school students
 The paper reports advantages and disadvantages of its use in
classroom through students’ and teacher’s experiences
 A comparative study among other Android Application
Development Tools
Related research work
 Several research work has explored whether App Inventor could be a suitable
environment for bringing computational thinking to K-12 and a number of
projects have funded efforts to engage K-12 teachers interested in bringing
computational thinking into their classrooms in USA.
 During school year 2013-2014 a teaching hour was devoted in several schools in
Greece, named as “the coding hour”, to introduce programming to students from
different educational levels. A number of teachers used App Inventor as an easily
accessible platform to teach programming to their students.
 However, to better understand such possibilities, more data from actual
classroom implementation are needed. The research reported in this work is an
attempt to address this issue.
An Introduction to MIT App Inventor (i)
 Developed at Google Labs by
MIT’s Hal Abelson in 2009;
 It is now housed in the Center
for Mobile Learning (CML) of
MIT;
 Its current version is a cloud-based
tool;
 It does not demand any prior
programming experience – you do
not have to write code;
Designer’s
window
Blocks
Editor
An Introduction to MIT App Inventor (ii)
 Every application is stored in the
App Inventor server;
 Real-time compilation (test as
you build);
 Potential users:
students, teachers, developers, or
hobbyists, to develop apps for personal
use, recreation, learning, or social
good.
 Range of applications:
Business, entertainment, community
activism, etc
 Tested in emulator or exported
in apk format for distribution;
MIT App Inventor: technical characteristics
 The Blocks Editor has been
App Inventor provides 2 components
to facilitate db activity:
 TinyDB, to store data directly on
the Android device;
TinyWebDB, to store data in a web
database
Other high-level components include:
 GPS location and orientation
sensors,
 text-to speech recognition,
 scanning barcodes, etc.
written using the Blockly library, a
web-based graphical programming
editor comparable to Scratch
(http://scratch.mit.edu)
Android Application Development
Environments
Prior
programming
experience
Free platform
Open source
Apps
Android SDK
√
√
All
√ (mostly Java)
Android Studio
√
√
All
√ (mostly Java)
NDK
√
√
All (game
engines and
simulations)
Users with C,
C++
experience
HAC
No
No
All
None
MIT App
Inventor
√
√
Growing daily
None
The above table summarizes 4 characteristics of Android Application
Development Environments from an educational point of view and their ability
of using them in classroom.
Methodology followed
 The teaching intervention was conducted in 2 classes of the second grade of
Senior High School as part of an introductory programming course. For each
class 6 teaching hours were devoted during the second term of the school year
2013-2014.
 As part of the teaching intervention, students had to create (working in pairs) a
number of applications either following specified instructions and worksheets
given by the teacher or on their own initiative.
Lesson plans
“Getting Started”
Time
devoted
1 hour
“Hello Purr”
1 hour
Name
Goals to be achieved








Obtaining an App Inventor account
Getting familiar with the App Inventor interface
Setting up the computer and phone
Using the Pallete and learning to use the various components
Editing the properties of components
Using the viewer
Using the blocks editor
Packaging and testing an app
“Hello Purr” lesson plan
Lesson plans
“Getting Started”
Time
devoted
1 hour
“Hello Purr”
1 hour
“PainPot”
1 hour
Name
Goals to be achieved












Obtaining an App Inventor account
Getting familiar with the App Inventor interface
Setting up the computer and phone
Using the Pallete and learning to use the various components
Editing the properties of components
Using the viewer
Using the blocks editor
Packaging and testing an app
Using advanced components (such as camera and canvas)
Handling touch and drag events on the device surface.
Using event handlers that take arguments.
Introduction to variables
“Paint Pot” lesson plan
 On a historical note, PaintPot was one of the first programs developed to demonstrate
the potential of personal computers, as far back as the 1970s. In this version the user can
also take his own picture and draw on it.
Lesson plans
“Getting Started”
Time
devoted
1 hour
“Hello Purr”
1 hour
“PainPot”
1 hour
“Building my own
App”
2 hours
Name
Goals to be achieved














Obtaining an App Inventor account
Getting familiar with the App Inventor interface
Setting up the computer and phone
Using the Pallete and learning to use the various components
Editing the properties of components
Using the viewer
Using the blocks editor
Packaging and testing an app
Using advanced components (such as camera and canvas)
Handling touch and drag events on the device surface.
Using event handlers that take arguments.
Introduction to variables
Development of Computational skills in problem solving
Experimentation with new components and blocks
Apps developed by students
piano
Shooter game
Lesson plans
“Getting Started”
Time
devoted
1 hour
“Hello Purr”
1 hour
“PainPot”
1 hour
“Building my own
App”
2 hours
Evaluating
AppInventor
1 hour
Name
Goals to be achieved















Obtaining an App Inventor account
Getting familiar with the App Inventor interface
Setting up the computer and phone
Using the Pallete and learning to use the various components
Editing the properties of components
Using the viewer
Using the blocks editor
Packaging and testing an app
Using advanced components (such as camera and canvas)
Handling touch and drag events on the device surface.
Using event handlers that take arguments.
Introduction to variables
Development of Computational skills in problem solving
Experimentation with new components and blocks
Recording students’ experiences and views from the use of App
Inventor in classroom
Student’s evaluation (i)
 The questionnaire included a total of 10 questions of which 7 were
closed and 3 open-ended.
1.
2.
3.
The first question aimed to investigate students' previous experience on
programming languages and platforms.
The six subsequent questions were devoted to assessing App Inventor as
to the degree of difficulty and its characteristics, the future use of the
platform, etc.
The three final questions were open-ended, in which students were
asked what they liked and what they disliked using App Inventor.
Formation of the questionnaire was based on the Technology Acceptance Model
proposed by Davis (1989).
Student’s evaluation (ii)
 During our research work 40 questionnaires were collected from 2 classes and a
total of 42 students.
 Students’ prior experience to programming languages was nonexistent, while few
students were familiar with Pascal and Java.
10%
35%
Ease of use of App Inventor
Quite Easy
55%
Bit difficult
Very difficult
Student’s evaluation (iii)
 As far as the characteristics of App Inventor are concerned, students rated:
1.
"The making mobile application development easy and accessible to anyone"
2.
“The reuse of apps within a community of users",
3.
"Online testing of applications",
4.
“The syntax-free programming”, and “The web-based architecture of the platform”
5.
"Visual environment for the creation of an application’s user interface”
Students’ notes in open questions
 “I learned a program that I
could use for creating
something interesting for my
daily life”
“I could not believe that creating apps for
smartphones was so accessible and simple
to test”
Games and quiz
0%
Games
and quiz
Future
App0%Inventor
Inventor
Future use
use of
of App
with
upload
at
with upload at
26%
GooglePlay
26%
GooglePlay
84%
None
None
Advantages and Disadvantages of MIT App
Inventor from using it in classroom from a
teacher’s point of view
Advantages
Disadvantages
App Inventor provides an intuitive Requires a permanent Internet access (longprogramming metaphor, reducing the term responses) and a google account
frustration from text-based programming
environments
Direct applications to students’ interests and
lives (real-world motivation)
The emulator is quite slow.
Application development is introduced as 2
main activities: (1) components analysis and (2)
components coding => problem solving skills
The Blocks editor requires scrolling up or down
in the case of complex or big applications
Simple but also powerful tool (databases,
interactive maps, client-server communication,
etc)
It does not constitute a cross-platform solution
and it does not generate Java source code (the
source code cannot be exported to Eclipse or
other IDE to work on it further)
Conclusions
 The students’ successful experience – albeit a small sample- strengthens the
observation that App Inventor could successfully be used in introductory
programming courses, making programming an enjoyable and creative activity.
 Developing applications for smartphones or tablets, which is important in
students’ lives was an incredibly motivating and empowering process that led to
a student-driven learning process in which the students learn how to solve
problems.
 The ease with which students used App Inventor, along with the enthusiasm
they displayed was truly remarkable. Programming courses, promote the
development of computational skills in solving problems, such as abstraction and
algorithmic thinking.
Future work
During the coming school year plans to continue the use of App
Inventor in programming courses with more classes have been made
and some of the future plans include:
 The development of a community within the school to encourage students to
share applications and ideas;
Studying other students’ applications or adapting existing code could
promote resourcefulness, creativity, and self-initiative for students.
 Development of lessons plans to teach basic programming structures, such as:
if-condition, repeats, etc;
 Explore the cooperation with different schools in order to assess how learning
programming is achieved through mobile app development;
 A comparative study of App Inventor and other programming environments,
which are used to introduce high school students to programming;
Thank you for your attention
Any questions?
Katerina Perdikuri
Computer and Informatics Engineer (MSc., Phd)
E-mail: perdikur@ceid.upatras.gr
Download