55 research outputs found

    The Impact of Computer Augmented Online Learning and Assessment

    Get PDF
    The purpose of the study was to investigate the impact of an experimental online learning tool on student performance. By applying cognitive load theory to online learning, the experimental tool used was designed to minimize cognitive load during the instructional and learning process. This tool enabled students to work with programming code that was supplemented with instructor descriptions and feedback, embedded directly within the code while maintaining the original integrity of the coding environment. A sample of 24 online graduate students at a southeastern university were randomly assigned to four groups: Group 1 (Control group), Group 2 (Assessment group: the tool was used to provide feedback on student work), Group 3 (Lecture group: the tool was used to describe examples of code provided in lectures), and Group 4 (Total tool group: the tool was used to provide feedback on student work as well as describe examples of code in lectures). Student learning was measured via analysis of six online quizzes. While provision of tool-facilitated feedback alone did not appear to enhance student learning, the results indicate that students performed best when they had the opportunity to view examples of code facilitated by the tool during the learning process of new material. This implies a carefully designed online learning environment, especially while controlling for and minimizing cognitive load when presenting new information, can enhance that student learning

    Teaching and learning introductory programming : a model-based approach

    Get PDF
    The dissertation identifies and discusses impact of a model-based approach to teaching and learning introductory object-oriented programming both for practitioners and for computer science education research.Learning to program is notoriously difficult. This dissertation investigates ways to teach introductory object-oriented programming at the university level. It focuses on a model-based approach, describes and argues for this approach and investigates several of its aspects. It gives an overview of the research in teaching introductory programming in an objects-first way. The dissertation also investigates ways for university teachers to share and document best practices in teaching introductory object-oriented programming through pedagogical patterns. The dissertation addresses both traditional young full-time students and experienced programmers (although not in object-orientation) participating in part-time education. It examines whether the same success factors for learning programming apply to a model-based approach as to introductory programming courses in general for full-time students and gives a general overview of research in success factors for introductory programming. Some factors are the same, because students‘ math competence is positively correlated with their success. The dissertation examines how experienced programmers link a model-based programming course to their professional practices. The general answer is that the part-time students do not need to have a direct link to their specific work-practice, they expect to create the link themselves; but the teacher must be aware of the conditions facing the part-time students in industry. Furthermore, the dissertation addresses interaction patterns for part-time students learning model-based introductory programming in a net-based environment. A previously prepared solution to an exercise is found to mediate the interaction in three different ways. Design patterns have had a major impact on the quality of object-oriented software. Inspired by this, researchers have suggested pedagogical patterns for sharing best practices in teaching introductory object-oriented programming. It was expected that university teachers‘ knowledge of pedagogical patterns was limited, but this research proved that to be wrong; about half of the teachers know pedagogical patterns. One of the problems this dissertation identifies is the lack of a structuring principle for pedagogical patterns; potential users have problems identifying the correct patterns to apply. An alternative structuring principle based on a constructivist learning theory is suggested and analysed

    Promoting Programming Learning. Engagement, Automatic Assessment with Immediate Feedback in Visualizations

    Get PDF
    The skill of programming is a key asset for every computer science student. Many studies have shown that this is a hard skill to learn and the outcomes of programming courses have often been substandard. Thus, a range of methods and tools have been developed to assist students’ learning processes. One of the biggest fields in computer science education is the use of visualizations as a learning aid and many visualization based tools have been developed to aid the learning process during last few decades. Studies conducted in this thesis focus on two different visualizationbased tools TRAKLA2 and ViLLE. This thesis includes results from multiple empirical studies about what kind of effects the introduction and usage of these tools have on students’ opinions and performance, and what kind of implications there are from a teacher’s point of view. The results from studies in this thesis show that students preferred to do web-based exercises, and felt that those exercises contributed to their learning. The usage of the tool motivated students to work harder during their course, which was shown in overall course performance and drop-out statistics. We have also shown that visualization-based tools can be used to enhance the learning process, and one of the key factors is the higher and active level of engagement (see. Engagement Taxonomy by Naps et al., 2002). The automatic grading accompanied with immediate feedback helps students to overcome obstacles during the learning process, and to grasp the key element in the learning task. These kinds of tools can help us to cope with the fact that many programming courses are overcrowded with limited teaching resources. These tools allows us to tackle this problem by utilizing automatic assessment in exercises that are most suitable to be done in the web (like tracing and simulation) since its supports students’ independent learning regardless of time and place. In summary, we can use our course’s resources more efficiently to increase the quality of the learning experience of the students and the teaching experience of the teacher, and even increase performance of the students. There are also methodological results from this thesis which contribute to developing insight into the conduct of empirical evaluations of new tools or techniques. When we evaluate a new tool, especially one accompanied with visualization, we need to give a proper introduction to it and to the graphical notation used by tool. The standard procedure should also include capturing the screen with audio to confirm that the participants of the experiment are doing what they are supposed to do. By taken such measures in the study of the learning impact of visualization support for learning, we can avoid drawing false conclusion from our experiments. As computer science educators, we face two important challenges. Firstly, we need to start to deliver the message in our own institution and all over the world about the new – scientifically proven – innovations in teaching like TRAKLA2 and ViLLE. Secondly, we have the relevant experience of conducting teaching related experiment, and thus we can support our colleagues to learn essential know-how of the research based improvement of their teaching. This change can transform academic teaching into publications and by utilizing this approach we can significantly increase the adoption of the new tools and techniques, and overall increase the knowledge of best-practices. In future, we need to combine our forces and tackle these universal and common problems together by creating multi-national and multiinstitutional research projects. We need to create a community and a platform in which we can share these best practices and at the same time conduct multi-national research projects easily.Siirretty Doriast

    Facilitating algorithm visualization creation and adoption in education

    Get PDF
    The research question of this thesis is: How can we develop algorithm animations (AA) and AA systems further to better facilitate the creation and adoption of AA in education? The motivation for tackling this issue is that algorithm animation has not been widely used in teaching computer science. One of the main reasons for not taking full advantage of AA in teaching is the lack of time on behalf of the instructors. Furthermore, there is a shortage of ready-made, good quality algorithm visualizations. The main contributions are as follows: Effortless Creation of Algorithm Animation. We define a Taxonomy of Effortless Creation of Algorithm Animations. In addition, we introduce a new approach for teachers to create animations by allowing effortless on-the-fly creation of algorithm animations by applying visual algorithm simulation through a simple user interface. Proposed Standard for Algorithm Animation language. We define a Taxonomy of Algorithm Animation Languages to help comparing the different AA languages. The taxonomy and work by an international working group is used to define a new algorithm animation language, eXtensible Algorithm Animation Language, XAAL. Applications of XAAL in education. We provide two different processing approaches for using and producing XAAL animations with existing algorithm animation systems. In addition, we have a framework aiding in this integration as well as prototype implementations of the processes. Furthermore, we provide a novel solution to the problem of seamlessly integrating algorithm animations with hypertext. In our approach, the algorithm animation viewer is implemented purely with JavaScript and HTML. Finally, we introduce a processing model to easily produce lecture slides for a common presentation tool of XAAL animations

    From Alice to BlueJ: a transition to Java.

    Get PDF
    The teaching of introductory courses in computing has seen several changes over the last decade. These changes not only affected the curricula when the emphasis was shifted from Imperative (also Procedural) to Object-Oriented Programming (OOP) but also reignited debates regarding which is the better programming language. Furthermore, the shift in emphasis also has encountered challenges with the object-oriented pedagogy. More recently, the assessment procedure for how students are learning object-oriented concepts has been given attention. When the programming language Java was adopted to teach object-oriented programming, it was not without difficulties. Various studies cited the development environment for Java, which was designed for professional programmers and its complex syntax structures as the main source of Javas difficulties (Kolling & Rosenberg 2001). The studies were not only limited to identifying the problems of teaching and learning Java but they also identified solutions. One of these included the creation of programming tools and environment to help novice programmers learn object-oriented concepts effectively. Among the integrated development environments created for teaching object-oriented programming using Java is BlueJ. Another programming tool for teaching object-oriented programming is Alice. The technology of animated program visualization keeps the focus on objects while teaching about behaviour and state (Dann et al 2003). The study concerns how the different programming tools help students in learning object-oriented concepts. One is classified as a text-based tool, BlueJ, and the other is graphical-based tool, Alice. There are three main questions for this study: 1. Does the process of learning object-oriented concepts using graphical-based tools differ from using text-based tools? 2. Do graphical-based tools support text-based tools in learning object-oriented concepts? 3. Do graphical-based tools offer more help in understanding object-oriented concepts than text-based tools? To answer the questions, the researcher conducted a survey whereby two sets of questionnaires were distributed to the students of Robert Gordon module entitled Object-Oriented Programming Techniques (CM1011). The student respondents found significant difference in the use of the graphical-based and text-based programming tools in understanding the following object-oriented concepts: Message Passing, Encapsulation and Polymorphism. The data gathered were also indicative that a graphical-based programming tool like Alice is helpful in learning object-oriented concepts with the use of a text-based programming tool like BlueJ. Whether graphical tools like Alice help more in understanding object-oriented concepts than text-based tools like BlueJ was inconclusive. The initial study suggests that there was no significant difference with students confidence in learning the various object-oriented concepts using the programming tools. The student respondents appeared to recognise that both programming tools are useful in learning various object-oriented concepts. However, it seems that they expected Alice to be a more sophisticated animation tool and that the animations produced would be of a cinematic calibre. The study aspires to contribute to the improvement of the object-oriented pedagogy. Specifically, it aims to contribute in the development of teaching methodologies for object-oriented programming and then create learning strategies for object-oriented programming and, not to forget, make the assessment of object-oriented programming more effective and suitable. Alongside the improvement of object-oriented programming pedagogy, the study also tries to make the computing course curricula more appropriate and flexible with the use of the various programming tools. Suggestions on how the study can be made more rigorous have been listed including use of additional data gathering instruments and methodology. Also, recommendations on how else the questions can be written were incorporated

    Proceedings of the Second Program Visualization Workshop, 2002

    Get PDF
    The Program Visualization Workshops aim to bring together researchers who design and construct program visualizations and, above all, educators who use and evaluate visualizations in their teaching. The first workshop took place in July 2000 at Porvoo, Finland. The second workshop was held in cooperation with ACM SIGCSE and took place at HornstrupCentret, Denmark in June 2002, immediately following the ITiCSE 2002 Conference in Aarhus, Denmark

    Classifying and recognizing students' sorting algorithm implementations in a data structures and algorithms course

    Get PDF
    We discuss an instrument for recognizing and classifying algorithms (Aari) in terms of whiteboxtesting. We examined freshmen students' sorting algorithm implementations in a datastructures and algorithms course in two rounds: at the beginning of the course before thestudents received any instruction on sorting algorithms, and after taking lectures on sortingalgorithms. We evaluated the performance of Aari with the implementations of each roundseparately. The results show that the sorting algorithms (in Java), which Aari has been trainedto recognize (Insertion sort, Selection sort, Bubble sort, Quicksort and Mergesort), arerecognized with an average accuracy of about 90%. When considering all the submitted sortingalgorithm implementations (including the variations of the standard algorithms), Aari achievedan overall accuracy being 71% and 81% for the first and second round, respectively. The manual analysis of the implementations revealed that students have manymisconceptions related to sorting algorithms. For example, they include unnecessary swaps intheir Insertion or Selection sort implementations. Based on the data, we present acategorization of these types of variations. We also discuss how these categories can be used toimprove education of sorting methods, and to further develop Aari as a white-box testing tool,which gives feedback to the students on their inappropriate solutions and asks them to correctthe problem; something black-box testing is not capable of doing
    • …
    corecore