Block-Based Development of Mobile Learning Experiences for the Internet of Things
Abstract
:1. Introduction
2. Background & Related Works
2.1. Initiatives for Learning and Developing IoT Solutions
2.2. End-User Development Tools for IoT
3. Creating IoT Mobile Apps with VEDILS
3.1. Ingesting IoT Data Streams
3.2. Processing IoT Data Streams
- Filter block: removes the elements that do not meet a specific condition from an input stream. For example, in a stream containing a set of numbers, developers could filter the odd numbers obtaining a new stream with only the even ones.
- Map block: applies an operation to each element of an input stream. For example, transforming a stream of lowercase words into a stream of uppercase words.
- Reduce (a) block: combines the elements contained in the input stream by applying the binary operator specified as a parameter. The combiner function must combine two numbers to return a new one, such as the maximum or minimum value.
- Reduce (b) block: combines the elements contained in the input stream, by applying one of the built-in mathematical operations. For example, computing the average or standard deviation of a 50-item stream.
- Sort (a) block: produces a new stream with the elements of the input stream according to the order induced by the comparator specified as a parameter. The comparator must be a function that returns a negative number if item1 is less than item2; a positive one if item1 is higher than item2; or zero if both items are equal.
- Sort (b) block: produces a new stream with the elements of the input stream according to its natural order, i.e., numerically or alphabetically. The block has a field to specify whether to apply an ascending or descending sorting.
- Limit block: shortens the stream size to the specified length. For example, collecting the first 10 items in the stream.
3.3. Visualising IoT Data Streams
4. Evaluating IoT Mobile App Development with Students
4.1. Study Design
4.2. The Sample App
4.2.1. User Interface Design
4.2.2. Programming with App Inventor
4.2.3. Programming with VEDILS
4.3. Data Compilation
4.4. Analysis and Findings
5. Evaluating VEDILS Data Processing Blocks with Academics
5.1. Study Design
5.2. Data Compilation
5.3. Analysis and Findings
6. Discussion and Conclusions
Supplementary Materials
Author Contributions
Funding
Conflicts of Interest
Abbreviations
BLE | Bluetooth Low Energy |
EEG | electroencephalography |
EHSE | Earth & Health Sciences and Engineering |
EUD | end-user development |
EUP | end-user programming |
FFT | fast Fourier transform |
GPS | global positioning system |
HMI | Human Machine Interface |
IoT | Internet of Things |
MIT | Massachusetts Institute of Technology |
PL | pocket lab |
SSH | Social Sciences and Humanities |
TAP | trigger-action programming |
VEDILS | Visual Environment for Designing Interactive Learning Scenarios |
YAIL | Young Android Intermediate Language |
References
- Hassan, Q.F.; Madani, S.A. Internet of Things: Challenges, Advances, and Applications; CRC Press: Boca Raton, FL, USA; Francis Group, LLC: Abingdon, UK, 2017. [Google Scholar]
- Zhong, N.; Ma, J.; Huang, R.; Liu, J.; Yao, Y.; Zhang, Y.; Chen, J. Research Challenges and Perspectives on Wisdom Web of Things (W2T). In Wisdom Web of Things; Springer International Publishing: Cham, Switzerland, 2016; pp. 3–26. [Google Scholar] [CrossRef]
- Guo, B.; Zhang, D.; Wang, Z.; Yu, Z.; Zhou, X. Opportunistic IoT: Exploring the harmonious interaction between human and the internet of things. J. Netw. Comput. Appl. 2013, 36, 1531–1539. [Google Scholar] [CrossRef]
- Näätänen, R.; Tervaniemi, M.; Sussman, E.; Paavilainen, P.; Winkler, I. ‘Primitive intelligence’ in the auditory cortex. Trends Neurosci. 2001, 24, 283–288. [Google Scholar] [CrossRef]
- Ardito, C.; Desolda, G.; Lanzilotti, R.; Malizia, A.; Matera, M. Analysing trade-offs in frameworks for the design of smart environments. Behav. Inf. Technol. 2019, 1–25. [Google Scholar] [CrossRef]
- Stefik, A.; Siebert, S. An Empirical Investigation into Programming Language Syntax. ACM Trans. Comput. Educ. 2013, 13. [Google Scholar] [CrossRef]
- Grover, S.; Pea, R.; Cooper, S. Designing for deeper learning in a blended computer science course for middle school students. Comput. Sci. Educ. 2015, 25, 199–237. [Google Scholar] [CrossRef]
- Weintrop, D.; Wilensky, U. Comparing Block-Based and Text-Based Programming in High School Computer Science Classrooms. ACM Trans. Comput. Educ. 2017, 18. [Google Scholar] [CrossRef]
- Weintrop, D.; Wilensky, U. Transitioning from introductory block-based and text-based environments to professional programming languages in high school computer science classrooms. Comput. Educ. 2019, 142. [Google Scholar] [CrossRef]
- Paternò, F. End user development: Survey of an emerging field for empowering people. ISRN Softw. Eng. 2013, 2013, 532659. [Google Scholar] [CrossRef] [Green Version]
- Franklin, D.; Hill, C.; Dwyer, H.; Hansen, A.; Iveland, A.; Harlow, D. Initialization in Scratch: Seeking Knowledge Transfer. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education, Memphis, TN, USA, 2–5 March 2016; pp. 217–222. [Google Scholar] [CrossRef] [Green Version]
- Bogaerts, S. Hands-On Exploration of Parallelism for Absolute Beginners with Scratch. In Proceedings of the 2013 IEEE International Symposium on Parallel Distributed Processing, Workshops and Phd Forum, Cambridge, MA, USA, 20–24 May 2013; pp. 1263–1268. [Google Scholar] [CrossRef]
- Harvey, B.; Mönig, J. Lambda in blocks languages: Lessons learned. In Proceedings of the 2015 IEEE Blocks and Beyond Workshop (Blocks and Beyond), Atlanta, GA, USA, 22 October 2015; pp. 35–38. [Google Scholar]
- Kim, S.; Turbak, F. Adapting higher-order list operators for blocks programming. In Proceedings of the 2015 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), Atlanta, GA, USA, 18–22 October 2015; pp. 213–217. [Google Scholar]
- Guth, J.; Breitenbücher, U.; Falkenthal, M.; Leymann, F.; Reinfurt, L. Comparison of IoT platform architectures: A field study based on a reference architecture. In Proceedings of the 2016 Cloudification of the Internet of Things (CIoT), Paris, France, 23–25 November 2016; pp. 1–6. [Google Scholar]
- Ngu, A.H.; Gutierrez, M.; Metsis, V.; Nepal, S.; Sheng, Q.Z. IoT middleware: A survey on issues and enabling technologies. IEEE Internet Things J. 2016, 4, 1–20. [Google Scholar] [CrossRef]
- Lee, I.; Lee, K. The Internet of Things (IoT): Applications, investments, and challenges for enterprises. Bus. Horizons 2015, 58, 431–440. [Google Scholar] [CrossRef]
- McEwen, A.; Cassimally, H. Designing the Internet of Things; John Wiley & Sons: Indianapolis, IN, USA, 2013. [Google Scholar]
- Singh, K.J.; Kapoor, D.S. Create Your Own Internet of Things: A survey of IoT platforms. IEEE Consum. Electron. Mag. 2017, 6, 57–68. [Google Scholar] [CrossRef]
- Ali, F. Teaching the internet of things concepts. In Proceedings of the WESE’15: Workshop on Embedded and Cyber-Physical Systems Education, Amsterdam, The Netherlands, 4–9 October 2015; p. 10. [Google Scholar]
- Raikar, M.M.; Desai, P.; Vijayalakshmi, M.; Narayankar, P. Upsurge of IoT (Internet of Things) in engineering education: A case study. In Proceedings of the 2018 International Conference on Advances in Computing, Communications and Informatics (ICACCI), Bangalore, India, 19–22 September 2018; pp. 191–197. [Google Scholar]
- Zhong, X.; Liang, Y. Raspberry Pi: An effective vehicle in teaching the internet of things in computer science and engineering. Electronics 2016, 5, 56. [Google Scholar] [CrossRef]
- He, N.; Bukralia, R.; Huang, H.W. Teaching wireless networking technologies in the internet-of-things using ARM based microcontrollers. In Proceedings of the 2017 IEEE Frontiers in Education Conference (FIE), Indianapolis, IN, USA, 18–21 October 2017; pp. 1–4. [Google Scholar]
- Mäenpää, H.; Varjonen, S.; Hellas, A.; Tarkoma, S.; Männistö, T. Assessing IoT projects in university education: A framework for problem-based learning. In Proceedings of the 39th International Conference on Software Engineering: Software Engineering and Education Track, Buenos Aires, Argentina, 20–28 May 2017; pp. 37–46. [Google Scholar]
- Cvjetkovic, V. Pocket labs supported IoT teaching. Int. J. Eng. Pedagog. 2018, 8, 32–48. [Google Scholar] [CrossRef] [Green Version]
- He, J.; Lo, D.C.T.; Xie, Y.; Lartigue, J. Integrating Internet of Things (IoT) into STEM undergraduate education: Case study of a modern technology infused courseware for embedded system course. In Proceedings of the 2016 IEEE Frontiers in Education Conference (FIE), Erie, PA, USA, 12–15 October 2016; pp. 1–9. [Google Scholar]
- Tanganelli, G.; Vallati, C.; Mingozzi, E. CoAPthon: Easy development of CoAP-based IoT applications with Python. In Proceedings of the 2015 IEEE 2nd World Forum on Internet of Things (WF-IoT), Milan, Italy, 14–16 December 2015; pp. 63–68. [Google Scholar]
- Udoh, I.S.; Kotonya, G. Developing IoT applications: Challenges and frameworks. IET Cyber-Phys. Syst. Theory Appl. 2018, 3, 65–72. [Google Scholar] [CrossRef]
- Pantelimon, S.G.; Rogojanu, T.; Braileanu, A.; Stanciu, V.D.; Dobre, C. Towards a Seamless Integration of IoT Devices with IoT Platforms Using a Low-Code Approach. In Proceedings of the IEEE 5th World Forum on Internet of Things, Limerick, Ireland, 15–18 April 2019. [Google Scholar] [CrossRef]
- Chang, Y.H.; Ko, C.B. A Study on the Design of Low-Code and No Code Platform for Mobile Application Development. Int. J. Adv. Smart Converg. 2017, 6, 50–55. [Google Scholar] [CrossRef]
- Barricelli, B.R.; Cassano, F.; Fogli, D.; Piccinno, A. End-user development, end-user programming and end-user software engineering: A systematic mapping study. J. Syst. Softw. 2019, 149, 101–137. [Google Scholar] [CrossRef]
- Paternò, F.; Santoro, C. End-User Development for Personalizing Applications, Things, and Robots. Int. J. Hum. Comput. Stud. 2019. [Google Scholar] [CrossRef]
- Bau, D.; Gray, J.; Kelleher, C.; Sheldon, J.; Turbak, F. Learnable Programming: Blocks and Beyond. Commun. ACM 2017, 60, 72–80. [Google Scholar] [CrossRef]
- Lifelong Kindergarten Group. Scratch - Imagine, Program, Share, 2019. Available online: https://scratch.mit.edu/ (accessed on 16 October 2019).
- Armoni, M.; Meerbaum-Salant, O.; Ben-Ari, M. From scratch to “real” programming. ACM Trans. Comput. Educ. (TOCE) 2015, 14, 25. [Google Scholar] [CrossRef]
- Laval, J. End user live programming environment for robotics. Robot. Autom. Eng. J. 2018, 3. [Google Scholar] [CrossRef] [Green Version]
- Massachusetts Institute of Technology. MIT App Inventor, 2019. Available online: https://appinventor.mit.edu/ (accessed on 16 October 2019).
- David, W.; Abelson, H.; Spertus, E.; Looney, L. App Inventor: Create Your Own Android Apps; O’Reilly Media, Inc.: Sebastopol, CA, USA, 2015. [Google Scholar]
- Leonardi, N.; Manca, M.; Paternò, F.; Santoro, C. Trigger-Action Programming for Personalising Humanoid Robot Behaviour. In Proceedings of the ACM CHI Conference on Human Factors in Computing Systems, Scotland Uk, 4–9 May 2019; pp. 445:1–445:13. [Google Scholar]
- Ur, B.; McManus, E.; Yong Ho, M.P.; Littman, M.L. Practical trigger-action programming in the smart home. In Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems, Toronto, ON, Canada, 26 April–1 May 2014; pp. 803–812. [Google Scholar]
- Lifelong Kindergarten Group. Scratchx, 2019. Available online: https://scratchx.org/ (accessed on 16 October 2019).
- Massachusetts Institute of Technology. MIT App Inventor + Internet of Things, 2019. Available online: http://iot.appinventor.mit.edu/ (accessed on 16 October 2019).
- Rizzo, A.; Burresi, G.; Montefoschi, F.; Caporali, M.; Giorgi, R. Making IoT with UDOO. Interact. Des. Archit. J. 2016, 30, 95–112. [Google Scholar]
- Lu, C.H.; Hwang, T.; Hwang, I.S. IoT Inventor: A web-enabled composer for building IoT-enabled reconfigurable agentized services. In Proceedings of the 2016 IEEE International Conference on Consumer Electronics-Taiwan (ICCE-TW), Nantou, Taiwan, 27–29 May 2016; pp. 1–2. [Google Scholar]
- Mota, J.M.; Ruiz-Rube, I.; Dodero, J.M.; Arnedillo-Sánchez, I. Augmented reality mobile app development for all. Comput. Electr. Eng. 2018, 65, 250–260. [Google Scholar] [CrossRef]
- Corral, J.M.R.; Ruíz-Rube, I.; Balcells, A.C.; Mota-Macías, J.M.; Morgado-Estévez, A.; Dodero, J.M. A Study on the Suitability of Visual Languages for Non-Expert Robot Programmers. IEEE Access 2019, 7, 17535–17550. [Google Scholar] [CrossRef]
- Rubin, J.; Chisnell, D. Handbook of Usability Testing: How to Plan, Design and Conduct Effective Tests; John Wiley & Sons.: Indianapolis, IN, USA, 2008. [Google Scholar]
- Krishnamurthi, S.; Fisler, K. Programming Paradigms and Beyond. In The Cambridge Handbook of Computing Education Research; Cambridge University Press: Cambridge, UK, 2019. [Google Scholar]
- O’Grady, M.J.; Muldoon, C.; Carr, D.; Wan, J.; Kroon, B.; O’Hare, G.M.P. Intelligent Sensing for Citizen Science. Mob. Netw. Appl. 2016, 21, 375–385. [Google Scholar] [CrossRef]
User Profile | Loop Blocks | Stream Blocks | Average | Chi-Squared |
---|---|---|---|---|
Gender | ||||
Man | 3.71 | 3.69 | 3.71 | 0.72 |
Woman | 3.73 | 4.40 | 3.94 | 0.55 |
Chi-squared | 0.61 | 0.41 | ||
Academic degree | ||||
Non-doctorate | 3.77 | 4.00 | 3.88 | 0.09 |
Doctorate | 3.68 | 3.82 | 3.75 | 0.24 |
Chi-squared | 0.46 | 0.04 | ||
Knowledge area | ||||
EHSE | 4.00 | 3.64 | 4.00 | 0.48 |
SSH | 3.22 | 4.75 | 3.22 | 0.29 |
Chi-squared | 0.46 | 0.17 | ||
Experience with visual programming languages | ||||
Non-experienced | 3.89 | 4.00 | 3.67 | 0.31 |
Experienced | 4.57 | 3.60 | 4.17 | 0.02 |
Chi-squared | 0.19 | 0.01 | ||
Experience with textual programming languages | ||||
Non-experienced | 3.21 | 3.83 | 3.54 | 0.58 |
Experienced | 4.36 | 4.00 | 4.24 | 0.46 |
Chi-squared | 0.17 | 0.32 | ||
All academics | ||||
Academics | 3.72 | 3.89 | 3.80 | 0.83 |
User Profile | Loop-Based | Stream-Based | Average | Chi-Squared |
---|---|---|---|---|
Gender | ||||
Man | 3.07 | 4.08 | 3.57 | 0.17 |
Woman | 2.81 | 3.33 | 3.00 | 0.37 |
Chi-squared | 0.48 | 0.05 | ||
Academic degree | ||||
Non-doctorate | 2.88 | 4.25 | 3.53 | 0.31 |
Doctorate | 3.00 | 3.54 | 3.25 | 0.60 |
Chi-squared | 0.23 | 0.32 | ||
Knowledge area | ||||
EHSE | 3.37 | 3.93 | 3.65 | 0.63 |
SSH | 2.22 | 3.60 | 2.71 | 0.18 |
Chi-squared | 0.23 | 0.29 | ||
Experience with visual programming languages | ||||
Non-experienced | 2.55 | 3.71 | 3.09 | 0.05 |
Experienced | 4.00 | 4.20 | 4.08 | 0.48 |
Chi-squared | 0.06 | 0.52 | ||
Experience with textual programming languages | ||||
Non-experienced | 2.07 | 3.54 | 2.82 | 0.01 |
Experienced | 4.09 | 4.50 | 4.24 | 0.54 |
Chi-squared | 0.00 | 0.11 | ||
All academics | ||||
Academics | 2.96 | 3.84 | 3.36 | 0.13 |
% Completion | Minutes Spent | Number of Debugs + Builds | ||
---|---|---|---|---|
Loop-based | 72% | 180.71 | 13.25 | |
Stream-based | 100% | 111.97 | 9.74 | |
Average | 86.66% | 140.17 | 11.18 | |
Mann-Whitney U Test | 0.024 | 0.16 |
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Ruiz-Rube, I.; Mota, J.M.; Person, T.; Corral, J.M.R.; Dodero, J.M. Block-Based Development of Mobile Learning Experiences for the Internet of Things. Sensors 2019, 19, 5467. https://doi.org/10.3390/s19245467
Ruiz-Rube I, Mota JM, Person T, Corral JMR, Dodero JM. Block-Based Development of Mobile Learning Experiences for the Internet of Things. Sensors. 2019; 19(24):5467. https://doi.org/10.3390/s19245467
Chicago/Turabian StyleRuiz-Rube, Iván, José Miguel Mota, Tatiana Person, José María Rodríguez Corral, and Juan Manuel Dodero. 2019. "Block-Based Development of Mobile Learning Experiences for the Internet of Things" Sensors 19, no. 24: 5467. https://doi.org/10.3390/s19245467
APA StyleRuiz-Rube, I., Mota, J. M., Person, T., Corral, J. M. R., & Dodero, J. M. (2019). Block-Based Development of Mobile Learning Experiences for the Internet of Things. Sensors, 19(24), 5467. https://doi.org/10.3390/s19245467