10 research outputs found

    An Iconic Framework for Learning the Art of Programming

    Get PDF
    The integration of programming teachings, in all levels of education, highlights the need to acquire the art of programming for each individual student through versatile tools based on specific cognitive methods. Diversified linguistic metaphors have to be adopted by the developing frame, in order to highlight the qualities of each student. Therefore, a framework, oriented to learning the art of programming, must foster polychrome constructs representations, a number of data structures and an intuitive interfaces in order to make easier to understand the evolution of the algorithm that have to be developed. The following contribution will present a theoretical formalization of a framework for teaching and learning the art of programming and therefore its development will propose as a graph-based execution and iconic modular interfaces on the methodologies to be developed

    Complexitor: an Educational Tool for Learning Algorithm TIME Complexity in Practical Manner

    Full text link
    Based on the informal survey, learning algorithm time complexity in a theoretical manner can be rather difficult to understand. Therefore, this research proposed Complexitor, an educational tool for learning algorithm time complexity in a practical manner. Students could learn how to determine algorithm time complexity through the actual execution of algorithm implementation. They were only required to provide algorithm implementation (i.e. source code written on a particularprogramming language) and test cases to learn time complexity. After input was given, Complexitor generated execution sequence based on test cases and determine its time complexity through Pearson correlation. An algorithm time complexity with the highest correlation value toward execution sequence was assigned as its result. Based on the evaluation, it can be concluded this mechanism is quite effective for determining time complexity as long as the distribution of given input set is balanced

    Feedback Efectivo en Prácticas de Programación

    Full text link
    Las asignaturas de carácter práctico como la programación, presentan históricamente un alto índice de abandonos y unas tastas de aprobados bajas. Una característica de estas asignaturas es que el material que se aprende, necesita ser afianzado para aprender nuevos conceptos, por lo tanto, un feedback progresivo y continuo es esencial para la motivación de los alumnos. En este artículo, presentamos una experiencia docente que obtiene dicho feedback mediante el uso de la plataforma educativa. El impacto a diferentes niveles de esta experiencia es analizado en un grupo de alumnos.Alberola Oltra, JM.; García Fornes, AM. (2013). Feedback Efectivo en Prácticas de Programación. VAEP-RITA. Versión Abierta Español-Portugués. 1(2):88-96. http://hdl.handle.net/10251/60536S88961

    The Effectiveness of a Program Visualization Tool on Introductory Programming: A Case Study with PythonTutor

    Get PDF
    Program Visualization (PV) is an educational tool frequently used to assist users for understanding a program flow. However, despite its clear benefits, PV cannot be incorporated easily on Introductory Programming course. Several key properties such as student characteristics and behavior should be considered beforehand. This paper is intended to provide an empirical review about the impact of PV toward students of Introductory Programming course. For our case study, PythonTutor is selected as a sample of PVs due to its accessibility. It can be accessed anywhere and anytime through a web browser. Three conclusions are obtained based on our evaluation on data collected from a survey. Firstly, PV is quite effective to assist students for conducting several programming sub-tasks. Secondly, PV, at some extent, may help students to learn advanced topics on Introductory Programming course. Finally, despite the fact that several features should be incorporated to enhance understanding of students, PV is beneficial for learning Introductory Programming course, especially when it is frequently used

    An Information Technology Instrument to Enhance the Development of Abstract Thinking for Object-Oriented Programming

    Get PDF
    Published ThesisObject-oriented Programming (OOP) is a programming paradigm that offers a more natural and intuitive way to describe, for example, instances of variables by relating them to real world objects with attributes through the creation of classes and their associated instances, called objects. The creation of classes, instantiation of objects, inheritance of other classes and composition are significant abstract topics in OOP that distinguish it drastically from its counterpart, i.e. structured programming. OOP is very abstract in nature and requires abstract cognitive skills, similar to the skills needed to perform well in mathematics, for the proper comprehension of the theoretical constituents associated with OOP as well as the practical application thereof. Several programming languages that implement the OOP paradigm, for example Java, facilitate class creation via abstract data types (ADT), which further points to the abstract nature of this paradigm. The main objectives of this research were to: determine the theoretical concepts related to abstract thinking ability in the human brain and how it is stimulated; determine what evaluation instruments related to assessing abstract thinking ability exist currently and of what an IT software-tool aiming to develop abstract thinking ability should comprise; determine the development of a software tool that will stimulate and assist the development of abstract thinking abilities within the users thereof; provide evidence regarding the effects of such an intervention on the abstract thinking abilities of the users thereof and on that of the academic performance of the users thereof in OOP. To develop such an intervention, the researcher investigated available literature, employed a registered psychologist and incorporated available games, exercises, and questions to bring out the full potential of the working intervention. An experimental case-study research design was used for this project. The GSAT assessment tool formed part of the evaluation tools with the aim to evaluate both the non-verbal (abstract reasoning) as well as the verbal skills of a control and an experimental group. The mixed method methodology, consisting of both quantitative and qualitative research approaches, was used to conduct this research study. Furthermore, the resulting intervention that was developed and deployed as part of this study includes the functionality to data collection, which was analysed, deliberated upon and presented. The objective was to prove the hypothesis that: A custom software tool, designed, developed, introduced and deployed, specifically to stimulate certain cognitive processes in the human brain, has the ability to improve students’ abstract thinking ability and a direct effect on students’ performance in OOP when used for a determined period. The data of the pre and post-psychometric assessments indicated measurable improvement in the abstract thinking abilities of the experimental group when compared to that of the control group. Subsequently, the institutional assessment results regarding OOP supported this data and indicated improvement in the academic performance of the members of the experimental group in OOP as a subject, when compared to that of the members of the control group. The study concluded with the presentation of a set of guidelines for developers who aim to develop interactive Information Technology tools to stimulate abstract thinking abilities within the users thereof

    Catalyde: un entorno de iniciación a la programación con fines educativos

    Full text link
    [ES] el presente proyecto se ha diseñado e implementado una herramienta de apoyo al aprendizaje en asignaturas de introducción a la programación. Esta herramienta, denominada Catalyde, proporciona una interfaz de usuario accesible mediante un navegador web en el que los alumnos pueden acceder al boletín de prácticas, editar las soluciones a los ejercicios propuestos, compilarlos y ejecutarlos. Si bien ya existen entornos de desarrollo vía web, lo que hace novedoso este entorno para la enseñanza de la programación es la posibilidad de que el alumno pueda resolver las distintas partes de los ejercicios de manera incremental. Es decir, el alumno puede marcar qué partes del código han sido desarrolladas por él y la herramienta utiliza la solución propuesta por el profesor (que permanece oculta) para las partes que todavía no ha completado. De ese modo el alumno puede entender mejor lo que se pide (porque puede probar el programa desde el inicio) y la validez de lo que va realizando sin tener que esperar a completarlo todo al final. También permite evaluar de manera automática la corrección de algunos ejercicios por medio de tests.[EN] In this project, a novel tool called Catalyde has been designed and implemented. This tool is intended to guide students of first courses of Computer Science to develop their programming skills. By means of a web interface, users are able to edit the solutions of exercises proposed by their teacher, to compile and to execute them. One of the unique features of this environment is the possibility of developing solutions in an incremental way by marking and unmarking which parts of the solution are due to the students and which parts should made use of the hidden teacher¿s solution. In this way, students can test the program and can better understand what it is expected from them. They can also check parts of the code without waiting for the complete solution. The tool can also automatically check the validity of some exercises by means of tests.Stanciu, CC. (2013). Catalyde: un entorno de iniciación a la programación con fines educativos. http://hdl.handle.net/10251/27396.Archivo delegad

    B Learning em disciplinas introdutórias de programação

    Get PDF
    Tese de Doutoramento em Tecnologias e Sistemas de Informação (área do Conhecimento Sociedade de Informação

    Формування професійної компетентності майбутніх учителів інформатики у процесі вивчення фахових дисциплін: дис. ... канд. пед. наук: 13.00.04

    Get PDF
    У дисертації розроблено, обґрунтовано та експериментально перевірено педагогічну технологію формування професійної компетентності майбутніх учителів інформатики у процесі вивчення фахових дисциплін. Структура професійної компетентності майбутніх учителів інформатики складається з предметної, інформаційно-комунікаційної, комунікативної, особистісно-інтелектуальної, креативної, педагогічної, методичної, соціальної, науково-дослідницької компетенцій. Зміст фахових дисциплін охарактеризовано у контексті компетентнісного підходу: виділено основні компетенції, якими повинні володіти студенти по закінченні вивчення навчальної дисципліни. Визначено етапи проектування розробленої педагогічної технології (теоретично-організаційний, етап розробки, етап підготовки до впровадження); форми, методи, і засоби реалізації педагогічної технології формування професійної компетентності майбутніх учителів інформатики. Обґрунтовано критерії сформованості професійної компетентності майбутніх учителів інформатики. Доведено результативність запропонованої педагогічної технології

    An evaluation of programming assistance tools to support the learning of IT programming: a case study in South African secondary schools

    Get PDF
    Worldwide, there is a decline in interest in the computer science profession and in the subject at secondary school level. Novice programmers struggle to understand introductory programming concepts and this difficulty of learning to program is contributing to the lack of interest in the field of computer science. Information Technology (IT) learners in South African secondary schools are novice programmers, introduced to introductory programming concepts in the subject which also includes topics on hardware and system software, e-communication, social and ethical issues, spreadsheets and databases. The difficulties faced by IT learners are worsened by the lack of suitably qualified teachers, a saturated learning programme that allocates very little time to the understanding of complex programming concepts and limited class time where practical examples can be implemented with the support of the IT teacher. This research proposes that IT learners could be supported by a programming assistance tool (PAT). A PAT is a software program that can be used by novice programmers to learn how to program and/or improve their understanding of programming concepts. PATs use different techniques to assist novice programmers. The main objective of this research was to determine whether the use of a PAT impacted IT learners’ understanding of programming concepts and motivation towards programming. The literature study and feedback from IT learners and teachers were used to identify novice programming difficulties and IT learner programming difficulties, respectively. Selection criteria were derived from the programming difficulties identified. The selection criteria were grouped into three categories, namely, programming concepts, programming knowledge and programming skills. Existing PATs were evaluated using the selection criteria and three PATs, namely, RoboMind, Scratch and B#, were selected as suitable for use by IT learners. RoboMind was adapted in this research study, allowing it to support the Delphi programming language. The three PATs were evaluated by participating IT learners at four schools. The findings of this research provided no conclusive evidence that IT learners who used a PAT had a significantly better understanding of programming concepts and motivation towards programming than learners who did not use a PAT. IT learner feedback was used to identify the strengths and shortcomings of the three PATs and to provide recommendations for the development of PATs specifically to support IT learners. This research study has provided several theoretical and practical contributions, including the research design, selection criteria, adaptations to RoboMind and the evaluation of the three PATs. In addition, IT teachers and learners have been made aware of PATs and the support that can be provided by these PATs. IT teachers have also been provided with a means of selecting PATs applicable to the IT curriculum. All the research contributions have formed the basis for future work, such as improving and extending RoboMind’s functionality and support of programming concepts, the refinement of the selection criteria and, ultimately, the development of a new PAT, specifically designed to support IT learner understanding of programming concepts and motivation towards programming

    An evaluation of programming assistance tools to support the learning of IT programming: a case study in South African secondary schools

    Get PDF
    Worldwide, there is a decline in interest in the computer science profession and in the subject at secondary school level. Novice programmers struggle to understand introductory programming concepts and this difficulty of learning to program is contributing to the lack of interest in the field of computer science. Information Technology (IT) learners in South African secondary schools are novice programmers, introduced to introductory programming concepts in the subject which also includes topics on hardware and system software, e-communication, social and ethical issues, spreadsheets and databases. The difficulties faced by IT learners are worsened by the lack of suitably qualified teachers, a saturated learning programme that allocates very little time to the understanding of complex programming concepts and limited class time where practical examples can be implemented with the support of the IT teacher. This research proposes that IT learners could be supported by a programming assistance tool (PAT). A PAT is a software program that can be used by novice programmers to learn how to program and/or improve their understanding of programming concepts. PATs use different techniques to assist novice programmers. The main objective of this research was to determine whether the use of a PAT impacted IT learners’ understanding of programming concepts and motivation towards programming. The literature study and feedback from IT learners and teachers were used to identify novice programming difficulties and IT learner programming difficulties, respectively. Selection criteria were derived from the programming difficulties identified. The selection criteria were grouped into three categories, namely, programming concepts, programming knowledge and programming skills. Existing PATs were evaluated using the selection criteria and three PATs, namely, RoboMind, Scratch and B#, were selected as suitable for use by IT learners. RoboMind was adapted in this research study, allowing it to support the Delphi programming language. The three PATs were evaluated by participating IT learners at four schools. The findings of this research provided no conclusive evidence that IT learners who used a PAT had a significantly better understanding of programming concepts and motivation towards programming than learners who did not use a PAT. IT learner feedback was used to identify the strengths and shortcomings of the three PATs and to provide recommendations for the development of PATs specifically to support IT learners. This research study has provided several theoretical and practical contributions, including the research design, selection criteria, adaptations to RoboMind and the evaluation of the three PATs. In addition, IT teachers and learners have been made aware of PATs and the support that can be provided by these PATs. IT teachers have also been provided with a means of selecting PATs applicable to the IT curriculum. All the research contributions have formed the basis for future work, such as improving and extending RoboMind’s functionality and support of programming concepts, the refinement of the selection criteria and, ultimately, the development of a new PAT, specifically designed to support IT learner understanding of programming concepts and motivation towards programming
    corecore