29 research outputs found

    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

    Exploring student perceptions about the use of visual programming environments, their relation to student learning styles and their impact on student motivation in undergraduate introductory programming modules

    Get PDF
    My research aims to explore how students perceive the usability and enjoyment of visual/block-based programming environments (VPEs), to what extent their learning styles relate to these perceptions and finally to what extent these tools facilitate student understanding of basic programming constructs and impact their motivation to learn programming

    Analysis of the learning object-oriented programming factors

    Get PDF
    Students often feel overwhelmed by object-oriented programming courses. They find it difficult and complex to learn, requiring a high cognitive load to use the concepts in coding. These issues lead to demotivation in learning programming. This research aims to identify and verify factors that contribute to learning object-oriented programming from two perspectives: interviews and surveys. A literature review was conducted to identify these factors, followed by interviews with five experts who have been teaching object-oriented programming for over ten years to confirm them. Based on the interview results, a questionnaire was developed and administered to 31 bachelor students and 19 lecturers with master’s or doctorate degrees in computer science. The responses indicated that the identified factors were acceptable, with scores ranging from 3.74 to 4.65. The outcomes of this study are a set of factors that should be considered in a programming environment to improve the teaching and learning of object-oriented programming and make it more accessible and engaging for students

    Toward Using Games to Teach Fundamental Computer Science Concepts

    Get PDF
    Video and computer games have become an important area of study in the field of education. Games have been designed to teach mathematics, physics, raise social awareness, teach history and geography, and train soldiers in the military. Recent work has created computer games for teaching computer programming and understanding basic algorithms. We present an investigation where computer games are used to teach two fundamental computer science concepts: boolean expressions and recursion. The games are intended to teach the concepts and not how to implement them in a programming language. For this investigation, two computer games were created. One is designed to teach basic boolean expressions and operators and the other to teach fundamental concepts of recursion. We describe the design and implementation of both games. We evaluate the effectiveness of these games using before and after surveys. The surveys were designed to ascertain basic understanding, attitudes and beliefs regarding the concepts. The boolean game was evaluated with local high school students and students in a college level introductory computer science course. The recursion game was evaluated with students in a college level introductory computer science course. We present the analysis of the collected survey information for both games. This analysis shows a significant positive change in student attitude towards recursion and modest gains in student learning outcomes for both topics

    Online tools to support novice programming: A systematic review

    Get PDF
    Novice programming is a challenging subject to both the students and the educators. A novice programmer is required to acquire new knowledge to solve a problem and propose a solution systematically. This is followed by constructing the solution in a development environment that they are unfamiliar with. This research looks at the challenges faced by a novice programmer and the online methods that are popular to assist the students. Online block programming is a popular option. One of the software that had been implemented in the various research project is Scratch. From the reviewed research, it shows that the trend is moving towards an intelligent tutoring system, where students can have personalized engagement for their learning experience. This paper presents a systematic review conducted using the keywords ”novice programming”, ”introductory”, ”CS1”, ”difficulties”, ”challenges”, and ”threshold concepts”. From the review conducted, it is observed that most of the work is carried out to ease the implementation of the solution through an integrated development environment, and block programming. On the support for instructors, the discussion on curriculum and challenges in CS1 tops the chart. This is followed by active learning through online tools

    Using an e-learning tool to overcome difficulties in learning object-oriented programming

    Get PDF
    This study was motivated by the need to overcome the pedagogical hindrances experienced by introductory object-oriented programming students in order to address the high attrition rate evident among novice programmers in distance education. The initial phase of the research process involved exploring a variety of alternative visual programming environments for novices. Thereafter the selection process detailed several requirements that would define the ideal choice of the most appropriate tool. An educational tool Raptor was selected. Lastly, the core focus of this mixed method research was to evaluate undergraduate UNISA students’ perceptions of the Raptor e-learning tools with respect to the perceived effectiveness in enhancing novices’ learning experience, in an attempt to lower the barriers to object-oriented programming. Students’ perceptions collectively of the Raptor visual tool were positive and despite the fact that the sample size was too small to achieve statistical significance, these quantitative and qualitative results provide the practical basis for implementing Raptor in future. Thus providing learning opportunities suited to learner interests and needs, can lead to an enormous potential to stimulate individuals’ motivation and development in creating a more positive learning experience to overcome barriers in programming and enhance concept understanding to address the diverse needs of students in distance education that could lead to a reduced dropout rate.ComputingM. Sc. (Computing

    La lúdica de juegos en el aprendizaje de la programación orientada a objetos : un prototipo en C#

    Get PDF
    1 CD-ROMEn el mundo de hoy el aprendizaje de los fundamentos de programación orientada a objetos (POO) para noveles estudiantes admite múltiples alternativas académicas. Este trabajo expone una de ellas, consistente en la aplicación de un método con cuatro fases (Identificación de requerimientos, Diseño del diagrama de clases, Especificación de responsabilidades de las clases y Escritura de seudocódigo), combinado con un software lúdico que presenta una serie de juegos en 2D. El método aporta los cimientos teóricos inherentes a la POO, mediante el estudio paulatino de los conceptos de clase, herencia, polimorfismo, sobrecarga de métodos y sentencias de control; el software motiva el aprendizaje por medio de una serie de juegos donde los participantes interactúan con los conceptos de una manera lúdica. Para demostrar la efectividad de ésta combinación, se presentan los resultados cognitivos alcanzados al exponer el juego ante dos grupos experimentales, contrastados con los obtenidos ante dos grupos de control donde se prescindió del software lúdico. Estas prácticas se llevaron a cabo en un colegio con educación media técnica y una institución de educación superior, localizados respectivamente en los municipios de Envigado y Medellín, departamento de Antioquia, Colombia.Abstract: In todays world, it is possible to support the learning of Object Oriented Programming (OOP), by new students, with multiple academic activities. In this work, one of them is presented. We applied a four-phase method (Requirements Elicitation, Class Diagram Design, Class-Responsibilities Identification, and Pseudo-Code Writing). The method is combined with software that presents the user with various 2D games. The theoretical principles underlying OOP are presented, through the study of the concepts of Classes, Inheritance, Polymorphism, Method Overloading and Control Sentences. The software aims at increasing the students' motivation by encouraging their learning through a number of games in which students learn while playing. In order to evaluate the pedagogical effectivity of this combination, we present the results of a series of user experiences comparing the learning of four groups of students: two experimental groups that used the software and two control groups that did not.1 Introducción -- 2 Formulación, objetivos y diseño de la investigación -- 2.1 Formulación del problema -- 2.2 Objetivo general -- 2.3 Objetivos específicos -- 2.4 Diseño de la investigación -- 3 Los juegos en el aprendizaje de la programación orientada a objetos -- 4 El juego CoquitoDobleO en el aprendizaje de la POO -- 4.1 Descripción general del juego -- 4.1.1 Nivel 1 – Jugando con clases -- 4.1.2 Nivel 2 – Herencia y polimorfismo -- 4.1.3 Nivel 3 – Resolviendo laberintos -- 4.1.4 Éxitos y fracasos en los juegos -- 4.2 Proceso de desarrollo del software CoquitoDobleO -- 4.2.1 Análisis -- 4.2.2 Diseño y desarrollo -- 5 Experiencias de usuario con el juego CoquitoDobleO -- 5.1 Descripción del experimento -- 5.2 Pruebas aplicadas en educación media técnica y superior -- 5.2.1 Rúbricas -- 5.2.2 Encuestas -- 5.3 Resultados y evaluación -- 6 Conclusiones -- Apéndices -- A Rúbrica para evaluar una exposición -- B Encuestas -- B.1 Encuesta grupo experimental -- B.2 Encuesta grupo de control -- Bibliografía – Lista de figuras – Lista de tabla

    Enhancing the learning of programming using Scratch: a recommender-systems-based approach in non WEIRD communities

    Get PDF
    In today’s world, there is a growing need for professionals with computer skills in general, and programming in particular. This is so, both in WEIRD contexts and in contexts that are not. WEIRD is an acronym from English (Western, Educated, Industrialized, Rich and Democratic Societies) and is used to refer to certain sectors of societies that are ”Western, educated, industrialized, rich and democratic. The Ecuadorian State makes a high investment in the training of engineering career professionals offered by public universities. In Ecuador, these careers are highly demanded. However, a high student dropout is verified because of basic courses such as Fundamentals of programming in the first levels, with the consequent deficiencies in the performance of the careers. Additionally, the low qualification of students in computer skills indicates that they have not developed their computational thinking skills. In general terms, this situation contributes to the loss of competitiveness of non-WEIRD countries. For this reason, a pedagogical tool was introduced in teaching that allowed motivating programming learning, reducing dropout and improving academic performance in introductory programming courses at the university level. We present empirical evidence of the positive impact of Scratch on the Fundamentals of Programming courses. The use of this pedagogical tool allowed students to develop the concepts of programming logic and the use of basic control structures. Students who used Scratch scored better, reduced the number of suspensions and dropouts, and students were encouraged to enjoy the subject. On the other hand, when developing the exercises with Scratch in combination with the CARAMBA recommendation system, students were motivated to autonomous learning. The use of CARAMBA showed a positive correlation with the chances of success in the course. Specifically, > 52% success, whose result is 8% higher than the use of Scratch alone (without recommendations) and 21% higher than traditional education (without Scratch). The Scratch + CARAMBA tools were scaled to a school environment in non-WEIR contexts for programming learning. The post-application evaluation of the instrument indicated increases in exam scores in all grades analyzed. It should be noted that there was an average increase of 32% in the afternoon sections compared to the morning sections. This work opens a line of future research by bringing a pedagogical tool to different educational environments. The results allow us to propose improvements in CARAMBA’s recommendations, especially regarding the variables of usability, interactivity, language and pedagogical aspects. CARAMBA functionality should incorporate educational data mining tools that allow learning models based on the profile of the students. Another aspect that we intend to address is the scalability of the system in order to adapt it to other study scenarios with more users and number of exercises.En el mundo actual, existe cada vez mayor necesidad de profesionales con conocimientos de computación en general, y programación en particular. Esto es así, tanto en contextos WEIRD como en contextos que no lo son. WEIRD es un acrónimo procedente del inglés (Western, Educated, Industri alized, Rich and Democratic Societies) y es utilizado para referirse a ciertos sectores de sociedades que son “occidentales, educadas, industrializadas, ricas y democráticas. El Estado ecuatoriano realiza una alta inversión en la formación de profesionales de carreras de ingeniería ofertadas por las universidades públicas. En el Ecuador estas carreras son altamente demandadas. Sin embargo, se verifica una alta deserción estudiantil a causa de cursos básicos como Fundamentos de programación en los primeros niveles, con las consecuentes deficiencias en el desempeño de las carreras. Adicionalmente, la baja calificación de los estudiantes en competencias de computación indica que no tengan desarrollo-ladas sus habilidades de pensamiento computacional. En términos generales, esta situación contribuye a la perdida de la competitividad de los países non WEIRD. Por esta razón se introdujo en la enseñanza una herramienta pedagógica que permitió motivar el aprendizaje de programación, disminuir la deserción´ y mejorar el rendimiento académico en los cursos introductorios de programación a nivel universitario. Presentamos evidencia empírica del impacto positivo de Catch en los cursos de Fundamentos de Programación. El uso de esta herramienta pedagógica permitió desarrollar en los estudiantes los conceptos de lógica de programación y el uso de estructuras básicas de control. Los estudiantes que es-aron Catch obtuvieron mejores notas, redujeron la cantidad de suspensos y de deserciones, y se alentaron a los estudiantes a disfrutar de la asignatura. Por otro lado, al desarrollar los ejercicios con Catch en combinación con el sistema de recomendaciones CARAMBA los estudiantes se vieron motivados al aprendizaje autónomo. El uso de CARAMBA mostro una correlación positiva con las posibilidades de éxito en el curso. Concretamente, ¿52% de éxito, cuyo resultado 8% superior al uso solo de Catch (sin recomendaciones) y 21% superior a la enseñanza tradicional (sin Catch). Las herramientas Scratch+CARAMBA fueron escaladas a un ambiente escolar en contextos non WEIR para el aprendizaje de programación. La evaluación posterior a la aplicación del instrumento indico incrementos en las notas de los exámenes en todos los grados analizados. Vale destacar, que hubo un incremento del promedio de las notas del 32% en las secciones de la tarde respecto a las secciones matutinas. Este trabajo abre una línea de investigación futura al llevar una herramienta pedagógica a diferentes entornos educativos. Se pretende plantear mejoras en las recomendaciones de CARAMBA, en especial respecto a las variables de usabilidad, interactividad, lenguaje y de aspectos pedagógicos. En la funcionalidad de CARAMBA se deben incorporar herramientas de minería de datos educacionales que permitan modelos de aprendizaje basados en el perfil de los estudiantes. Otro aspecto que pretendemos abordar es la escalabilidad del sistema a fin de adaptarlo a otros escenarios de estudio con mas usuarios cantidad de ejercicios

    Greenfoot evaluation as a tool for an introduction to game programming

    Get PDF
    Διπλωματική εργασία--Πανεπιστήμιο Μακεδονίας, Θεσσαλονίκη, 2018Τα τελευταία χρόνια, παρατηρούνται ολοένα και λιγότερες εγγραφές φοιτητών σε μαθήματα επιστήμης των υπολογιστών, λόγω της λανθασμένης αντίληψης ότι όσοι ασχολούνται με τον προγραμματισμό είναι μοναχικοί, απομονωμένοι άνθρωποι. Καλό είναι ο προγραμματισμός να διδάσκεται σε μικρότερες ηλικίες πριν σχηματιστεί αυτή η εικόνα, πράγμα το οποίο φέρνει άλλες δυσκολίες όπως είναι το χαμηλό ενδιαφέρον και κίνητρο των μαθητών. Ο προγραμματισμός έχει κάποια χαρακτηριστικά που μπορούν να βοηθήσουν πολύ τον μαθητή ή τον φοιτητή, όπως για παράδειγμα ότι επιτρέπει να αναπτυχθεί η δημιουργικότητα του, αναπτύσσει στοιχεία αλληλεπίδρασης, έχει άμεσα αποτελέσματα, ενώ παράλληλα ο τρόπος εκμάθησης του προγραμματισμού μπορεί να είναι συναρπαστικός. Μεταξύ των μεθοδολογιών που υπάρχουν για την αποτελεσματικότερη διδασκαλία των αρχών του προγραμματισμού είναι η χρήση εκπαιδευτικών μεθόδων, η χρήση κατάλληλων γλωσσών και εργαλείων που διευκολύνουν την αντιμετώπιση των δυσκολιών του προγραμματισμού και συντελούν στην αύξηση του κινήτρου των μαθητών. Ένα από τα εργαλεία που χρησιμοποιούνται για τη διαδικασία αυτή είναι το Greenfoot. Η παρούσα διπλωματική εργασία σχετίζεται με την παρουσίαση του εργαλείου αυτού τόσο από την εκπαιδευτική σκοπιά του προγραμματισμού, όσο και από την πλευρά της ανάπτυξης παιχνιδιών. Παρουσιάζονται έρευνες από τη σύγχρονη βιβλιογραφία, προκειμένου να παρουσιαστούν όλες οι πλευρές και οι μελέτες που έχουν γίνει με το εν λόγω εργαλείο. Παράλληλα, στην εργασία αυτή παρουσιάζονται και τα μέσα ανάπτυξης και οι στόχοι λειτουργίας του εργαλείου. Σκοπός της εργασίας είναι να γίνει μια πλήρης μελέτη των αναφορών που υπάρχουν και των πειραμάτων που έχουν γίνει. Παράλληλα, η εργασία παρουσιάζει και στηρίζει την ανάπτυξη μιας έρευνας η οποία έχει ως στόχο τη λήψη της γνώμης των χρηστών σχετικά με το εργαλείο Greenfoot, των επιλογών που έχει αυτό, των στοιχείων του, καθώς και της επισήμανσης των χαρακτηριστικών που του λείπουν ως εργαλείου ανάπτυξης παιχνιδιών. Μέσα από την έρευνα αυτή και την ανάλυση των αποτελεσμάτων, πάντα στο πλαίσιο της εργασίας, θα αναπτυχθούν δύο επεκτάσεις των δυνατότητων του περιβάλλοντος, των οποίων η παρουσίαση θα γίνει μέσα από ένα παιχνίδι σοβαρού σκοπού που αναπτύχθηκε στο Greenfoot
    corecore