1,458 research outputs found

    A Study on the Suitability of Visual Languages for Non-Expert Robot Programmers

    Get PDF
    A visual programming language allows users and developers to create programs by manipulating program elements graphically. Several studies have shown the bene ts of visual languages for learning purposes and their applicability to robot programming. However, at present, there are not enough comparative studies on the suitability of textual and visual languages for this purpose. In this paper, we study if, as with a textual language, the use of a visual language could also be suitable in the context of robot programming and, if so, what the main advantages of using a visual language would be. For our experiments, we selected a sample of 60 individuals among students with adequate knowledge of procedural programming, that was divided into three groups. For the rst group of 20 students, a learning scenario based on a textual objectoriented language was used for programming a speci c commercial robotic ball with sensing, wireless communication, and output capabilities, whereas for the second and the third group, two learning scenarios based on visual languages were used for programming the robot. After taking a course for programming the robot in the corresponding learning scenario, each group was evaluated by completing three programming exercises related to the robot features (i.e. motion, lighting, and collision detection). Our results show that the students that worked with visual languages perceived a higher clarity level in their understanding of the course exposition, and a higher enjoyment level in the use of the programming environment. Moreover, they also achieved an overall better mark

    Block-Based Development of Mobile Learning Experiences for the Internet of Things

    Get PDF
    The Internet of Things enables experts of given domains to create smart user experiences for interacting with the environment. However, development of such experiences requires strong programming skills, which are challenging to develop for non-technical users. This paper presents several extensions to the block-based programming language used in App Inventor to make the creation of mobile apps for smart learning experiences less challenging. Such apps are used to process and graphically represent data streams from sensors by applying map-reduce operations. A workshop with students without previous experience with Internet of Things (IoT) and mobile app programming was conducted to evaluate the propositions. As a result, students were able to create small IoT apps that ingest, process and visually represent data in a simpler form as using App Inventor's standard features. Besides, an experimental study was carried out in a mobile app development course with academics of diverse disciplines. Results showed it was faster and easier for novice programmers to develop the proposed app using new stream processing blocks.Spanish National Research Agency (AEI) - ERDF fund

    La aplicación de la robótica y programación por bloques en la enseñanza elemental

    Get PDF
    This study shows the relevance of introducing visual block programming and robotics in primary education. The study describes how robotics are effectively implemented in schools, based on computational concepts and the classroom activities. We describe, apply and present specific resources teachers, who may think of introducing programming and robotics in education must consider. These resources can be adapted to their students’ levels and education stages. It is essential to be aware of the resources available and adapt them to students’ needs. The analysis involves 107 fifth-grade students in primary education at three schools. The sample of the study was non-probabilistic and intentional. The study is bidimensional. The first dimension is a quasi-experimental design obtaining data from a test. Construct validity was tested by an exploratory factor analysis. The second dimension details the results for four scales previously described: active learning, computational concepts, perceived usefulness and enjoyment. This dimension examines the results of the aforementioned scale, which analyses the pedagogical interactions. Statistically significant improvements were achieved in the understanding of basic computational concepts such as sequences, loops, conditional statements, parallel execution, event handling and use of robotics. Improvements were also noted in didactic interaction, and in greater enjoyment, enthusiasm, efficiency and active participation of students. They also showed stronger motivation, commitment and interest in the process.Este estudio demuestra la importancia de un diseño para la educación que incorpore la programación de visual por bloques y la robótica en educación primaria. Este estudio describe cómo la robótica se implementa de manera efectiva en las escuelas, basándose en conceptos computacionales y las actividades del aula. Describimos, aplicamos y presentamos varios recursos, los docentes que deseen comenzar a trabajar con la programación y la robótica en la educación deben considerar los recursos requeridos y cómo se pueden adaptar a los niveles y etapas de la educación de sus alumnos. Es fundamental conocer los recursos disponibles y adaptarlos a las necesidades de los discentes. El análisis involucra a 107 estudiantes de quinto curso de educación primaria en tres centros escolares, la muestra fue no probabilística e intencional. La primera dimensión es un diseño cuasi-experimental que obtiene datos de una prueba, la validez de constructo se probó mediante análisis factorial exploratorio. La segunda dimensión detalla los resultados para las cuatro escalas descritas anteriormente: aprendizaje activo, conceptos computacionales, utilidad percibida y disfrute, esta dimensión examina los resultados de la escala antes mencionada que analiza las interacciones pedagógicas. Se lograron mejoras estadísticamente significativas en la comprensión de conceptos computacionales básicos: secuencias, bucles, declaraciones condicionales, ejecución paralela, manejo de eventos y uso de robótica. También se observaron mejoras en la interacción didáctica, y en un mayor disfrute, entusiasmo, eficiencia y participación activa, mostrando los estudiantes una mayor motivación, compromiso e interés en el proceso

    Teaching C/C ++ programming using a multimedia system with videos

    Get PDF
    The C programming language is widely used in computer and industrial engineering. Because of that, such programming language is also widely used as a language to teach programming to industrial engineering students. In Spain, many universities use this language compulsory in the first year, or even in higher courses. Our experience shows that learning computer programming in four months is an arduous task, but curricula require it. Such learning process is also tough by the fact that many students cannot attend classes regularly and, even if they attend, sometimes the class is no longer at the level they require. In this work we develop a series of files in "presentation" format (.ppsx) and videos that allow students to see several explanations about the most complicated programming C topics: functions, arrays, structures, strings, arrays with structures, etc. This multimedia material includes explanations (voice-over), and animations with examples. Students can watch and listen to the explanations whenever and wherever they want (tablet, PC, phone…). Surveys made to students reveal that it is also interesting for students who regularly attend classes, and they prefer to use this course material only at home, outside of regular classes.El lenguaje de programación C se utiliza mucho en informática e ingeniería industrial. Por tanto, dicho lenguaje de programación también se utiliza mucho como lenguaje para enseñar programación a estudiantes de ingeniería industrial. En España, muchas universidades usan este lenguaje de forma obligatoria durante el primer año, o incluso en cursos superiores. Nuestra experiencia indica que aprender programación de computadoras en cuatro meses es una tarea ardua, pero los currículos lo requieren. Tal proceso de aprendizaje también es difícil por el hecho de que muchos estudiantes no pueden asistir a clases regularmente e, incluso si asisten, a veces la clase ya no está en el nivel que requieren. En este trabajo desarrollamos una serie de archivos en formato de "presentación" (.ppsx) y videos que permiten a los estudiantes ver varias explicaciones sobre los temas de programación C más complicados: funciones, matrices, estructuras, cadenas, matrices con estructuras, etc. El material multimedia incluye explicaciones (voz en off) y animaciones con ejemplos. Los estudiantes pueden ver y escuchar las explicaciones cuando y donde quieran (tableta, PC, teléfono, etc.). Las encuestas realizadas revelan que también es interesante para los estudiantes que asisten regularmente a clases, y que prefieren usar este material del curso solo en casa, fuera de las clases regulares

    Creacion visual de aplicaciones educativas para robótica e internet de las cosas basadas en dispositivos móviles

    Get PDF
    Este artículo presenta los principales aportes de dos investigaciones relacionadas con la autoría visual de escenarios educativos basados en dispositivos móviles, cuyos resultados fueron publicados en 2019 en revistas de impacto clasificadas en el primer cuartil del índice JCR. Se estudia la extensión de lenguajes visuales para incorporar soporte para robótica e Internet de las cosas como un mecanismo para facilitar el desarrollo de aplicaciones educativas que utilizan dispositivos móviles. Se realizaron varios talleres para crear actividades utilizando lenguajes textuales y visuales. Los resultados muestran como la aplicación de lenguajes visuales facilita y mejora el desarrollo de aplicaciones para participantes sin conocimientos previos de programación, así como para nuevos programadores.Trabajos financiados por la Agencia Estatal de Investigación del Ministerio de Ciencia e Innovación de España en el contexto del proyecto VISAIGLE (TIN2017-85797-R)

    Heuristic Evaluation for Novice Programming Systems

    Get PDF
    The past few years has seen a proliferation of novice programming tools. The availability of a large number of systems has made it difficult for many users to choose among them. Even for education researchers, comparing the relative quality of these tools, or judging their respective suitability for a given context, is hard in many instances. For designers of such systems, assessing the respective quality of competing design decisions can be equally difficult. Heuristic evaluation provides a practical method of assessing the quality of alternatives in these situations and of identifying potential problems with existing systems for a given target group or context. Existing sets of heuristics, however, are not specific to the domain of novice programming and thus do not evaluate all aspects of interest to us in this specialised application domain. In this article, we propose a set of heuristics to be used in heuristic evaluations of novice programming systems. These heuristics have the potential to allow a useful assessment of the quality of a given system with lower cost than full formal user studies and greater precision than the use of existing sets of heuristics. The heuristics are described and discussed in detail. We present an evaluation of the effectiveness of the heuristics that suggests that the new set of heuristics provides additional useful information to designers not obtained with existing heuristics sets

    I scratch and sense but can I program? An investigation of learning with a block based programming language

    Get PDF
    This paper reports an investigation into undergraduate student experiences and views of a visual or ‘blocks’ based programming language and its environment. An additional and central aspect of this enquiry is to substantiate the perceived degree of transferability of programming skills learnt within the visual environment to a typical mainstream textual language. Undergraduate students were given programming activities and examples covering four basic programming concepts based on the Sense programming language which is intended to simplify programming. Sense programming statements are represented by blocks which only fit together in ways that produce a meaningful syntactic outcome, which may lower the cognitive barrier to learning. Students were also presented with concepts represented using an equivalent textual construct and asked to consider their understanding of these based on the graphical cases. They were finally asked to complete a short online survey. This paper presents the programming activities, the survey and an analysis of the results

    Customizing smart environments: a tabletop approach

    Full text link
    Smart environments are becoming a reality in our society and the number of intelligent devices integrated in these spaces is in-creasing very rapidly. As the combination of intelligent elements will open a wide range of new opportunities to make our lives easier, final users should be provided with a simplified method of handling complex intelligent features. Specifying behavior in these environments can be difficult for non-experts, so that more efforts should be directed towards easing the customization tasks. This work presents an entirely visual rule editor based on dataflow expressions for interactive tabletops which allows be-havior to be specified in smart environments. An experiment was carried out aimed at evaluating the usability of the editor in terms of non-programmers understanding of the abstractions and concepts involved in the rule model, ease of use of the pro-posed visual interface and the suitability of the interaction mechanisms implemented in the editing tool. The study revealed that users with no previous programming experience were able to master the proposed rule model and editing tool for specifying be-havior in the context of a smart home, even though some minor usability issues were detected.We would like to thank all the volunteers that participated in the empirical study. Our thanks are also due to the ASIC/Polimedia team for their computer hardware support. This work was partially funded by the Spanish Ministry of Science and Innovation under the National R&D&I Program within the project CreateWorlds (TIN2010-20488). It also received support from a postdoctoral fellowship within the VALi+d Program of the Conselleria d'Educacio, Cultura I Esport (Generalitat Valenciana) awarded to Alejandro Catala (APOSTD/2013/013). The work of Patricia Pons has been supported by the Universitat Politecnica de Valencia under the "Beca de Excelencia" program, and currently by an FPU fellowship from the Spanish Ministry of Education, Culture and Sports (FPU13/03831).Pons Tomás, P.; Catalá Bolós, A.; Jaén Martínez, FJ. (2015). Customizing smart environments: a tabletop approach. Journal of Ambient Intelligence and Smart Environments. 7(4):511-533. https://doi.org/10.3233/AIS-150328S51153374[1]C. Becker, M. Handte, G. Schiele and K. Rothermel, PCOM – a component system for pervasive computing, in: Proc. of the Second IEEE International Conference on Pervasive Computing and Communications (PerCom’04), IEEE Computer Society, Washington, DC, USA, 2004, pp. 67–76.Bhatti, Z. W., Naqvi, N. Z., Ramakrishnan, A., Preuveneers, D., & Berbers, Y. (2014). Learning distributed deployment and configuration trade-offs for context-aware applications in Intelligent Environments. Journal of Ambient Intelligence and Smart Environments, 6(5), 541-559. doi:10.3233/ais-140274Bonino, D., & Corno, F. (2011). What would you ask to your home if it were intelligent? Exploring user expectations about next-generation homes. Journal of Ambient Intelligence and Smart Environments, 3(2), 111-126. doi:10.3233/ais-2011-0099[4]D. Bonino, F. Corno and L. Russis, A user-friendly interface for rules composition in intelligent environments, in: Ambient Intelligence – Software and Applications, Advances in Intelligent and Soft Computing, Vol. 92, Springer, Berlin, Heidelberg, 2011, pp. 213–217.[5]X. Carandang and J. Campbell, The design of a tangible user interface for a real-time strategy game, in: Proc. of the 34th International Conference on Information Systems (ICIS 2013), Association for Information Systems (AIS), 2013, pp. 3781–3790.Catalá, A., Garcia-Sanjuan, F., Jaen, J., & Mocholi, J. A. (2012). TangiWheel: A Widget for Manipulating Collections on Tabletop Displays Supporting Hybrid Input Modality. Journal of Computer Science and Technology, 27(4), 811-829. doi:10.1007/s11390-012-1266-4Catala, A., Pons, P., Jaen, J., Mocholi, J. A., & Navarro, E. (2013). A meta-model for dataflow-based rules in smart environments: Evaluating user comprehension and performance. Science of Computer Programming, 78(10), 1930-1950. doi:10.1016/j.scico.2012.06.010[8]C. Chen, Y. Xu, K. Li and S. Helal, Reactive programming optimizations in pervasive computing, in: Proc. of the 2010 10th IEEE/IPSJ International Symposium on Applications and the Internet (SAINT’10), IEEE Computer Society, Washington, DC, USA, 2010, pp. 96–104.Cook, D. J., Augusto, J. C., & Jakkula, V. R. (2009). Ambient intelligence: Technologies, applications, and opportunities. Pervasive and Mobile Computing, 5(4), 277-298. doi:10.1016/j.pmcj.2009.04.001Dey, A. K. (2009). Modeling and intelligibility in ambient environments. Journal of Ambient Intelligence and Smart Environments, 1(1), 57-62. doi:10.3233/ais-2009-0008[11]A.K. Dey, T. Sohn, S. Streng and J. Kodama, iCAP: Interactive prototyping of context-aware applications, in: Proc. of Pervasive Computing, Lecture Notes in Computer Science, Vol. 3968, Springer-Verlag, Berlin, Heidelberg, 2006, pp. 254–271.[12]N. Díaz, J. Lilius, M. Pegalajar and M. Delgado, Rapid prototyping of semantic applications in smart spaces with a visual rule language, in: Proc. of the 2013 ACM Conference on Pervasive and Ubiquitous Computing Adjunct Publication, ACM, New York, NY, USA, 2013, pp. 1335–1338.Gámez, N., & Fuentes, L. (2011). FamiWare: a family of event-based middleware for ambient intelligence. Personal and Ubiquitous Computing, 15(4), 329-339. doi:10.1007/s00779-010-0354-0García-Herranz, M., Alamán, X., & Haya, P. A. (2010). Easing the Smart Home: A rule-based language and multi-agent structure for end user development in Intelligent Environments. Journal of Ambient Intelligence and Smart Environments, 2(4), 437-438. doi:10.3233/ais-2010-0085[17]J. Good, K. Howland and K. Nicholson, Young people’s descriptions of computational rules in role-playing games: An empirical study, in: Proc. of the 2010 IEEE Symposium on Visual Languages and Human-Centric Computing, IEEE, 2010, pp. 67–74.Gouin-Vallerand, C., Abdulrazak, B., Giroux, S., & Dey, A. K. (2013). A context-aware service provision system for smart environments based on the user interaction modalities. Journal of Ambient Intelligence and Smart Environments, 5(1), 47-64. doi:10.3233/ais-120190[19]S. Holloway and C. Julien, The case for end-user programming of ubiquitous computing environments, in: Proc. of the FSE/SDP Workshop on Future of Software Engineering Research (FoSER’10), ACM, New York, NY, USA, 2010, pp. 167–172.Horn, M. S., Crouser, R. J., & Bers, M. U. (2011). Tangible interaction and learning: the case for a hybrid approach. Personal and Ubiquitous Computing, 16(4), 379-389. doi:10.1007/s00779-011-0404-2[21]M.S. Horn, E.T. Solovey, R.J. Crouser and R.J.K. Jacob, Comparing the use of tangible and graphical programming languages for informal science education, in: Proc. of the SIGCHI Conference on Human Factors in Computing Systems (CHI’09), ACM, New York, NY, USA, 2009, pp. 975–984.Kelleher, C., & Pausch, R. (2005). Lowering the barriers to programming. ACM Computing Surveys, 37(2), 83-137. doi:10.1145/1089733.1089734[23]J. Lee, L. Garduño, E. Walker and W. Burleson, A tangible programming tool for creation of context-aware applications, in: Proc. of the 2013 ACM International Joint Conference on Pervasive and Ubiquitous Computing (UbiComp’13), ACM, New York, NY, USA, 2013, pp. 391–400.Lézoray, J.-B., Segarra, M.-T., Phung-Khac, A., Thépaut, A., Gilliot, J.-M., & Beugnard, A. (2011). A design process enabling adaptation in pervasive heterogeneous contexts. Personal and Ubiquitous Computing, 15(4), 353-363. doi:10.1007/s00779-010-0356-y[25]B.Y. Lim and A.K. Dey, Assessing demand for intelligibility in context-aware applications, in: Proc. of the 11th International Conference on Ubiquitous Computing (Ubicomp’09), ACM, New York, NY, USA, 2009, pp. 195–204.[26]B.Y. Lim and A.K. Dey, Evaluating Intelligibility usage and usefulness in a context-aware application, in: Proc. of the 15th International Conference on Human-Computer, Lecture Notes in Computer Science, Vol. 8008, Springer, Berlin, Heidelberg, 2013, pp. 92–101.[28]P. Marshall, Do tangible interfaces enhance learning? in: Proc. of the 1st International Conference on Tangible and Embedded Interaction (TEI’07), ACM, New York, NY, USA, 2007, pp. 163–170.[30]C. Maternaghan and K.J. Turner, A configurable telecare system, in: Proc. of the 4th International Conference on Pervasive Technologies Related to Assistive Environments (PETRA’11), ACM, New York, NY, USA, 2011, pp. 14:1–14:8.[31]D.A. Norman, The Invisible Computer, MITT Press, Cambridge, MA, USA, 1998.PANE, J. F., RATANAMAHATANA, C. «ANN», & MYERS, B. A. (2001). Studying the language and structure in non-programmers’ solutions to programming problems. International Journal of Human-Computer Studies, 54(2), 237-264. doi:10.1006/ijhc.2000.0410[33]P. Pons, A. Catala, J. Jaen and J.A. Mocholi, DafRule: Un modelo de reglas enriquecido mediante flujos de datos para la definición visual de comportamiento reactivo de entidades virtuales, in: Actas de las Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2011), 2011, 989–1002.Rasch, K. (2014). An unsupervised recommender system for smart homes. Journal of Ambient Intelligence and Smart Environments, 6(1), 21-37. doi:10.3233/ais-130242[35]K. Ryall, C. Forlines, C. Shen and M.R. Morris, Exploring the effects of group size and table size on interactions with tabletop shared-display groupware, in: Proc. of the 2004 ACM Conference on Computer Supported Cooperative Work, ACM, New York, NY, USA, 2004, pp. 284–293.Schmidt, A. (2000). Implicit human computer interaction through context. Personal Technologies, 4(2-3), 191-199. doi:10.1007/bf01324126[37]S.D. Scott, M. Sheelagh, T. Carpendale and K.M. Inkpen, Territoriality in collaborative tabletop workspaces, in: Proc. of the 2004 ACM Conference on Computer Supported Cooperative Work, ACM, New York, NY, USA, 2004, pp. 294–303.Sapounidis, T., & Demetriadis, S. (2013). Tangible versus graphical user interfaces for robot programming: exploring cross-age children’s preferences. Personal and Ubiquitous Computing, 17(8), 1775-1786. doi:10.1007/s00779-013-0641-7Shadbolt, N. (2003). Brain power. IEEE Intelligent Systems, 18(3), 2-3. doi:10.1109/mis.2003.1200718Shafti, L. S., Haya, P. A., García-Herranz, M., & Pérez, E. (2013). Inferring ECA-based rules for ambient intelligence using evolutionary feature extraction. Journal of Ambient Intelligence and Smart Environments, 5(6), 563-587. doi:10.3233/ais-130232[41]A. Strawhacker, A. Sullivan and M.U. Bers, TUI, GUI, HUI: Is a bimodal interface truly worth the sum of its parts? in: Proc. of the 12th International Conference on Interaction Design and Children, ACM, New York, NY, USA, 2013, pp. 309–312.Sylla, C., Branco, P., Coutinho, C., & Coquet, E. (2011). TUIs vs. GUIs: comparing the learning potential with preschoolers. Personal and Ubiquitous Computing, 16(4), 421-432. doi:10.1007/s00779-011-0407-zTeruel, M. A., Navarro, E., López-Jaquero, V., Montero, F., Jaen, J., & González, P. (2012). Analyzing the understandability of Requirements Engineering languages for CSCW systems: A family of experiments. Information and Software Technology, 54(11), 1215-1228. doi:10.1016/j.infsof.2012.06.001[44]E. Tse, J. Histon, S.D. Scott and S. Greenberg, Avoiding interference: How people use spatial separation and partitioning in SDG workspaces, in: Proc. of the 2004 ACM Conference on Computer Supported Cooperative Work, ACM, New York, NY, USA, 2004, pp. 252–261.[45]P. Tuddenham, D. Kirk and S. Izadi, Graspables revisited: Multi-touch vs. tangible input for tabletop displays in acquisition and manipulation tasks, in: Proc. of the SIGCHI Conference on Human Factors in Computing Systems (CHI’10), ACM, New York, NY, USA, 2010, pp. 2223–2232.[46]A. Uribarren, J. Parra, R. Iglesias, J.P. Uribe and D. López de Ipiña, A middleware platform for application configuration, adaptation and interoperability, in: Proc. of the 2008 Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops, IEEE Computer Society, Washington, DC, USA, 2008, pp. 162–167.Weiser, M. (1991). The Computer for the 21st Century. Scientific American, 265(3), 94-104. doi:10.1038/scientificamerican0991-94[48]C. Wohlin, P. Runeson, M. Höst, M.C. Ohlsson, B. Regnell and A. Wesslén, Experimentation in Software Engineering: An Introduction, 1st edn, Kluwer Academic Publishers, Norwell, MA, USA, 2000.Zuckerman, O., & Gal-Oz, A. (2013). To TUI or not to TUI: Evaluating performance and preference in tangible vs. graphical user interfaces. International Journal of Human-Computer Studies, 71(7-8), 803-820. doi:10.1016/j.ijhcs.2013.04.00

    Measuring the Overall Complexity of Graphical and Textual IEC 61131-3 Control Software

    Full text link
    Software implements a significant proportion of functionality in factory automation. Thus, efficient development and the reuse of software parts, so-called units, enhance competitiveness. Thereby, complex control software units are more difficult to understand, leading to increased development, testing and maintenance costs. However, measuring complexity is challenging due to many different, subjective views on the topic. This paper compares different complexity definitions from literature and considers with a qualitative questionnaire study the complexity perception of domain experts, who confirm the importance of objective measures to compare complexity. The paper proposes a set of metrics that measure various classes of software complexity to identify the most complex software units as a prerequisite for refactoring. The metrics include complexity caused by size, data structure, control flow, information flow and lexical structure. Unlike most literature approaches, the metrics are compliant with graphical and textual languages from the IEC 61131-3 standard. Further, a concept for interpreting the metric results is presented. A comprehensive evaluation with industrial software from two German plant manufacturers validates the metrics' suitability to measure complexity.Comment: 8 pages, https://ieeexplore.ieee.org/abstract/document/9444196

    Introductory programming: a systematic literature review

    Get PDF
    As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming. This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research
    corecore