Innovative Software Tools for Learning and Teaching Computer Programming Concepts

A special issue of Algorithms (ISSN 1999-4893).

Deadline for manuscript submissions: closed (28 February 2010) | Viewed by 28921

Special Issue Editor


E-Mail Website
Guest Editor
Dep. Ingeniería del Software e Inteligencia Artificial, Facultad de Informática, Universidad Complutense de Madrid, 28040 Madrid, Spain
Interests: virtual learning environments; game-based instructional tools; user-adaptive technology-enhanced learning; personalized recommendation techniques; case-based reasoning and case-based teaching
Special Issues, Collections and Topics in MDPI journals

Special Issue Information

Dear Colleagues,

Most Computer Science instructors agree that learning to program is a fundamental part of degree-level education in computing and a difficult task regardless of the programming paradigm used. Therefore, in the last years, much effort has focused on developing and introducing innovative pedagogical tools that help to alleviate the teaching and learning of Computer Programming. Along these years, many different approaches have been followed: from tools that include a simple and reduced development environment to example-based systems; tools based on visualization and animation; simulation and game-based environments, etc. Besides, the tools face, in very different ways, aspects such as the user interaction, the collaborative work and the personalization facilities. This special issue is open to researchers interested in the use of technology in supporting Computer Programming teaching and learning. Papers describing innovative software tools and environments and/or experience reports about their use are welcome.

Main topics:

  • Design, development and evaluation of educational software for Computer Programming learning
  • Innovative ICT (Information and Communication Technology) experiences in education and training in the Computer Programming area
  • User-adaptive educational approaches and software tools for Computer Programming learning
  • Interactive visualization tools for learning Computer Programming
  • Collaborative environments used in Computer Programming learning
  • Virtual-learning environments for supporting Computer Programming teaching
  • Game-liked tools for education and training in Computer Programming tasks

Prof. Dr. Mercedes Gómez-Albarrán
Guest Editor

Keywords

  • virtual-learning environments
  • game-based tools
  • user-adaptive tools
  • collaborative environments

Published Papers (3 papers)

Order results
Result details
Select all
Export citation of selected articles as:

Research

570 KiB  
Article
Integrating New Technologies and Existing Tools to Promote Programming Learning
by Álvaro Santos, Anabela Gomes and António José Mendes
Algorithms 2010, 3(2), 183-196; https://doi.org/10.3390/a3020183 - 20 Apr 2010
Cited by 31 | Viewed by 8910
Abstract
In recent years, many tools have been proposed to reduce programming learning difficulties felt by many students. Our group has contributed to this effort through the development of several tools, such as VIP, SICAS, OOP-Anim, SICAS-COL and H-SICAS. Even though we had some [...] Read more.
In recent years, many tools have been proposed to reduce programming learning difficulties felt by many students. Our group has contributed to this effort through the development of several tools, such as VIP, SICAS, OOP-Anim, SICAS-COL and H-SICAS. Even though we had some positive results, the utilization of these tools doesn’t seem to significantly reduce weaker student’s difficulties. These students need stronger support to motivate them to get engaged in learning activities, inside and outside classroom. Nowadays, many technologies are available to create contexts that may help to accomplish this goal. We consider that a promising path goes through the integration of solutions. In this paper we analyze the features, strengths and weaknesses of the tools developed by our group. Based on these considerations we present a new environment, integrating different types of pedagogical approaches, resources, tools and technologies for programming learning support. With this environment, currently under development, it will be possible to review contents and lessons, based on video and screen captures. The support for collaborative tasks is another key point to improve and stimulate different models of teamwork. The platform will also allow the creation of various alternative models (learning objects) for the same subject, enabling personalized learning paths adapted to each student knowledge level, needs and preferential learning styles. The learning sequences will work as a study organizer, following a suitable taxonomy, according to student’s cognitive skills. Although the main goal of this environment is to support students with more difficulties, it will provide a set of resources supporting the learning of more advanced topics. Software engineering techniques and representations, object orientation and event programming are features that will be available in order to promote the learning progress of students. Full article
Show Figures

Figure 1

508 KiB  
Article
A Family of Tools for Supporting the Learning of Programming
by Guido Rößling
Algorithms 2010, 3(2), 168-182; https://doi.org/10.3390/a3020168 - 15 Apr 2010
Cited by 15 | Viewed by 9467
Abstract
Both learning how to program and understanding algorithms or data structures are often difficult. This paper presents three complementary approaches that we employ to help our students in learning to program, especially during the first term of their study. We use a web-based [...] Read more.
Both learning how to program and understanding algorithms or data structures are often difficult. This paper presents three complementary approaches that we employ to help our students in learning to program, especially during the first term of their study. We use a web-based programming task database as an easy and risk-free environment for taking the first steps in programming Java. The Animal algorithm visualization system is used to visualize the dynamic behavior of algorithms and data structures. We complement both approaches with tutorial videos on using the Eclipse IDE. We also report on the experiences with this combined approach. Full article
Show Figures

Graphical abstract

320 KiB  
Article
InfoVis Interaction Techniques in Animation of Recursive Programs
by J. Ángel Velázquez-Iturbide and Antonio Pérez-Carrasco
Algorithms 2010, 3(1), 76-91; https://doi.org/10.3390/a3010076 - 10 Feb 2010
Cited by 16 | Viewed by 10031
Abstract
Algorithm animations typically assist in educational tasks aimed simply at achieving understanding. Potentially, animations could assist in higher levels of cognition, such as the analysis level, but they usually fail in providing this support because they are not flexible or comprehensive enough. In [...] Read more.
Algorithm animations typically assist in educational tasks aimed simply at achieving understanding. Potentially, animations could assist in higher levels of cognition, such as the analysis level, but they usually fail in providing this support because they are not flexible or comprehensive enough. In particular, animations of recursion provided by educational systems hardly support the analysis of recursive algorithms. Here we show how to provide full support to the analysis of recursive algorithms. From a technical point of view, animations are enriched with interaction techniques inspired by the information visualization (InfoVis) field. Interaction tasks are presented in seven categories, and deal with both static visualizations and dynamic animations. All of these features are implemented in the SRec system, and visualizations generated by SRec are used to illustrate the article. Full article
Show Figures

Graphical abstract

Back to TopTop