ED590377
ED590377
ABSTRACT
Dynamic program visualization tools helps to reduce the cognitive load of students in learning programming. However,
to authors’ understanding there is no dynamic program visualization tool that can be used in a widely available
smartphones. In this study, we design a Dynamic visualization engine for java programs that is integrated to java code
interpreter that runs on android smartphones. This tool will be valuable to students who don’t have access to computers.
It can also increase productivity in smartphone usage among lower secondary schools students.
KEYWORDS
M-learning, E-learning, Program Visualization, Java Programming
1. INTRODUCTION
We are surrounded by digital technology everywhere we are than ever before. Computer science literacy is
now the needed basic skill as mathematics. Computer science is now being integrated in primary and
secondary schools curriculum to equip students with the basic skills needed in this digital society. The
computer science curriculum now puts emphasis in computation skills than previous. Visual approach to
teaching computational skills through program visualization has seen as an effective way to motivate students
to learn programming and reduce the cognitive load of understanding programming. Despite higher
ownership of smartphones compared to personal computers there is no program visualization tool for
learning programming using smartphones known to authors. Time spend by individual in using smartphones
is higher than time spent in using PCs. Students are always accompanied with smartphones when commuting
to school and on the way back home. More than 70% of their time is spend in social, entertainment and
gaming activities while only 4% is spent on productivity (Jesse G.R., 2015). This paper presents a design of
Dynamic program visualization on android smartphones for novice java programmers. The tool is expected
to be a great aid to lower secondary schools students in schools where there is no computer laboratories but
also to help students in schools with computer laboratories to use their smartphones in a productive way.
2. BACKGROUND
Nowadays computer science literacy is important skill for every career. Many countries are introducing
compulsory computer science subjects in all levels of education. In 1997, the Ministry of Education of China
emphasized importance of computing in college education regardless of discipline (Pan T.Y., 2017). In 1996
the Government of Tanzania launched computer science curriculum for secondary schools. These early
initiatives were focused on skills to use computer tools. However needed computer literacy skill is shifting
from learning computer tools towards equipping students with computation skills.
Every country is thriving to empower its youth in computer science and computational thinking skills. In
2016, the then President of United States America started a new initiative to empower a generation of
American students with the computer science skills they need to thrive in a digital economy. The focus of
computer science for all is students from kindergarten through high school to learn computer science and be
173
ISBN: 978-989-8533-76-0 © 2018
equipped with the computational thinking skills they need to be creators in the digital economy, not just
consumers, and to be active citizens in our technology-driven world (Megan 2016). Basic computer skills for
college students (CS0) reform happening in China that shifts the focus of the course from computer tools and
skills to computational thinking (Pan T.Y., 2017). There are also different campaigns like coder dojo and
hour of code that are motivating students all over the world to learn computer science skills.
174
14th International Conference Mobile Learning 2018
3. RELEVANT WORK
This work involves two aspects the first is programming using smartphones and the second is providing
dynamic program visualization.
175
ISBN: 978-989-8533-76-0 © 2018
176
14th International Conference Mobile Learning 2018
Note that visualization designed does not support Object oriented programming concept. Hence
input.nextInt() is not related to a method nextInt() in Scanner class of the java.util package but it is defined as
the instruction to get input from the user so that user can input data during visualization. Same case applies to
System.out.println().
Expression Evaluation is visualized by a pop up TextView which appears to the right of variables
declaration. This region is used also for data input and output message. Instruction number 8 is expression
evaluation, a TextView pops up to the right of the variable declaration visualization and shows the values of
variables instead of variables names of the expression, the expression result is stored to the variable.
Expression evaluation is shown in blue color to distinguish it from data input which is shown in red color and
message output which is show in yellow.
Finally message output instruction number 9, message output is acting like a console in standard
compilers and IDE. The message is shown with yellow background TextView to the right of the variable
declaration.
5. CONCLUSION
Currently, program visualization for Selection, Loop and Functions are under development. Due to small
screen size it is challenging to visualize classes and objects therefore the visualization of these programing
concepts will not be provided. However it is expected that the tool will be useful for novice programming
learners in learning basic programming concepts. It is also expected that the tools can enable a large number
of students in resource challenged environments to learn computation skills as it can be accessed on widely
available smartphones. The process of evaluating this tool in learning environment is under way.
REFERENCES
Alsaggaf, W., 2012. Enhancement of learning programming experience by novices using mobile learning: mobile
learning in introductory programming lectures. Proceedings of the ninth annual international conference on
International computing education research, ACM , pp. 151-152.
Athreya, B. et al, (2012). End-user programmers on the loose: A study of programming on the phone for the phone.
In Visual Languages and Human-Centric Computing (VL/HCC), 2012 IEEE Symposium, pp. 75-82.
Bhattacharya, P. et al, 2011. A Collaborative Interactive Cyber-learning Platform for Anywhere Anytime Java
Programming Learning. In Advanced Learning Technologies (ICALT), 11th EEE International Conference, pp. 14-16.
Čisar, S. et al, 2011. Effectiveness of program visualization in learning java: a case study with jeliot 3. International
Journal of Computers Communications & Control, pp. 668-680.
Hashim, A., 2007. Mobile Technology for Learning Java Programming-Design and Implementation of a Programming
Tool for VISCOS Mobile. Unpublished Master’s thesis, University of Joensuu, Finland.
Holz, J. et al, 2011. Using smartphones to motivate secondary school students for informatics. In Proceedings of the 11th
Koli Calling International Conference on Computing Education Research , ACM, pp. 89-94.
Jesse, G. R., 2015. Smartphone and App Usage Among College Students: Using Smartphones Effectively for Social and
Educational Needs. In Proceedings of the EDSIG Conference, pp. 3424.
John, M. S. and Rani, M. S., 2015. Teaching Java Programming on Smartphone-pedagogy and Innovation; Proposal of its
Ontology Oriented Implementation. Procedia-Social and Behavioral Sciences, 176, 787-794.
Moreno, A. et al, 2005. Jeliot 3, an extensible tool for program visualization. In 5th Annual Finnish/Baltic Sea
Conference on Computer Science Education.
Pan TY., 2017. Reenergizing CS0 in China. In: Rich P., Hodges C. (eds) Emerging Research, Practice, and Policy on
Computational Thinking. Educational Communications and Technology: Issues and Innovations. Springer, Cham
Pears, A. and Rogalli, M., 2011. mJeliot: ICT support for interactive teaching of programming. In Frontiers in Education
Conference (FIE), IEEE, pp. T1J-1.
Smith M., 2016. Computer Science For All, https://obamawhitehouse.archives.gov/blog/2016/01/30/computer-science-all,
accessed Nov 2017.
Tillmann, N. et al, (2012). The future of teaching programming is on mobile devices. Proceedings of the 17th ACM
annual conference on Innovation and technology in computer science education, ACM, pp. 156-161.
United Nations Data., 2017. http://data.un.org , accessed December 2017
177