2,866 research outputs found

    Improving the viability of mental models held by novice programmers

    Get PDF
    Recent research has found that many novice programmers often hold non-viable mental models of basic programming concepts such as assignment and object reference. This paper proposes a constructivist-based teaching model, integrating a cognitive conflict strategy with program visualization, with the aim of improving novice programmers’ mental models. The results of a preliminary empirical study suggest that, for the relatively straightforward concept of assignment, tight integration of program visualization with a cognitive conflict event that highlights a student’s inappropriate understanding can help improve students’ non-viable mental models. 14 out of 18 participants who held non-viable mental models of the assignment process successfully changed their model to be viable as a result of the proposed teaching model

    A Framework for Active Learning: Revisited

    Get PDF
    Over the past decade, algorithm visualization tools have been researched and developed to be used by Computer Science instructors to ease students’ learning curve for new concepts. However, limitations such as rigid animation frameworks, lack of user interaction with the visualization created, and learning a new language and environment, have severely reduced instructors’ desire to use such a tool. The purpose of this project is to create a tool that overcomes these limitations. Instructors do not have to get familiar with a new framework and learn another language. The API used to create algorithm animation for this project is through Java, a programming language familiar to many instructors. Moreover, not only do the instructors have control over planning the animation, students using the animation will also have the ability to interact with it

    Markerless Motion Capture in the Crowd

    Full text link
    This work uses crowdsourcing to obtain motion capture data from video recordings. The data is obtained by information workers who click repeatedly to indicate body configurations in the frames of a video, resulting in a model of 2D structure over time. We discuss techniques to optimize the tracking task and strategies for maximizing accuracy and efficiency. We show visualizations of a variety of motions captured with our pipeline then apply reconstruction techniques to derive 3D structure.Comment: Presented at Collective Intelligence conference, 2012 (arXiv:1204.2991

    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

    Dynamic Multilevel Graph Visualization

    Full text link
    We adapt multilevel, force-directed graph layout techniques to visualizing dynamic graphs in which vertices and edges are added and removed in an online fashion (i.e., unpredictably). We maintain multiple levels of coarseness using a dynamic, randomized coarsening algorithm. To ensure the vertices follow smooth trajectories, we employ dynamics simulation techniques, treating the vertices as point particles. We simulate fine and coarse levels of the graph simultaneously, coupling the dynamics of adjacent levels. Projection from coarser to finer levels is adaptive, with the projection determined by an affine transformation that evolves alongside the graph layouts. The result is a dynamic graph visualizer that quickly and smoothly adapts to changes in a graph.Comment: 21 page

    Program Visualization: An exploration of graph based visualizations to assist in student learning and programmatic evaluation

    Get PDF
    As computer science students develop more complex programs at the end of their first year of course work, comprehending the complex and varied interactions of program execution, potential control flow and data relationships become more and more difficult. Additionally, for instructors when evaluating student\u27s programs, a simplified view of more complex (longer) programs is desirable. This thesis explores algorithms to create a tool for students that provides a simplified view of these concepts via visualization. The tool created for this thesis provides interactive visual representations of student programs. This allows for a simplified representation of the entire program along with depth exploration options to examine potential control flow and data access/mutations. The following is an exploration of program visualization, with a focus on usability in an educational setting. Two main approaches will be discussed. The first attempts to visualize the call graph of a running program by showing what methods call what other methods, and the frequency in which they are invoked. The second shows all potential paths through a non-running program, by viewing the program on a per-method level. This approach also includes information about how methods interact with data. As a test case this thesis focuses on a spell check program which builds a binary search tree dictionary then searches it for input strings and provides correction suggestions if the input is not found in the dictionary. We present an evaluation of our tool via creating visualizations of four different student implementations of this program. These visualizations are then analyzed by computer science faculty to identify common threads throughout all submissions, as well as areas where individual students struggled or excelled. Additionally visualizations are used as a tool in a lecture instructing students about binary search trees. The students provide feedback as to the effectiveness of the visualizations and their comprehension of the material. We conclude that program visualization is a difficult task, especially when students are unused to visualizing control flow. Results indicate potential for use as both a student and instructor tool, though further research is required to identify optimal usage

    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

    Project Elements: A computational entity-component-system in a scene-graph pythonic framework, for a neural, geometric computer graphics curriculum

    Full text link
    We present the Elements project, a computational science and computer graphics (CG) framework, that offers for the first time the advantages of an Entity-Component-System (ECS) along with the rapid prototyping convenience of a Scenegraph-based pythonic framework. This novelty allows advances in the teaching of CG: from heterogeneous directed acyclic graphs and depth-first traversals, to animation, skinning, geometric algebra and shader-based components rendered via unique systems all the way to their representation as graph neural networks for 3D scientific visualization. Taking advantage of the unique ECS in a a Scenegraph underlying system, this project aims to bridge CG curricula and modern game engines, that are based on the same approach but often present these notions in a black-box approach. It is designed to actively utilize software design patterns, under an extensible open-source approach. Although Elements provides a modern, simple to program pythonic approach with Jupyter notebooks and unit-tests, its CG pipeline is not black-box, exposing for teaching for the first time unique challenging scientific, visual and neural computing concepts.Comment: 8 pages, 8 figures, 2 listings, submitted to EuroGraphics 2023 education trac

    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

    Social Worked-Examples Technique to Enhance Student Engagement in Program Visualization

    Get PDF
    يعد تعلم البرمجة من بين أهم التحديات في تعليم علوم الكمبيوتر. حاليا، يتم استخدام تصوير البرامج ) PV ( كأداة للتغلب علىمعدلات الفشل والتسرب العالية في مادة اساسيات البرمجة. ومع ذلك، هناك مخاوف متزايدة بشأن فعالية أدوات تصوير البرامج الحالية استناداالى النتائج المختلطة المستمدة من الدراسات المختلفة. تعتبر مشاركة الطلاب أيضًا عاملاً حيويًا في بناء PV ناجحًا، كما تعد أيضًا جزءًا مهمًامن عملية التعلم بشكل عام. تم إدخال العديد من التقنيات لتعزيز المشاركة في أدوات تصوير البرامج؛ ومع ذلك، فإن مشاركة الطلاب في PVلا يزال يمثل تحديًا كبيراً. استخدمت هذه الورقة ثلاث نظريات مختلفة: البنيوية، والبناء الاجتماعي، والحمل المعرفي لاقتراح تقنية لتعزيزمشاركة الطلاب في استخدام أدوات تصوير البرامج. تعمل تقنية الأمثلة المكتملة الاجتماعية ) SWE ( على تحويل المثال المكتمل التقليدي إلىنشاط اجتماعي ، حيث يتم التركيز بشكل أكبر على دور التعاون في بناء معرفة الطلاب. حددت هذه الدراسة ثلاثة مبادئ يمكن أن تعززمشاركة الطلاب من خلال تقنية SWE : التعلم النشط والتعاون الاجتماعي والأنشطة ذاتس التحميل المنخفض.Learning programming is among the top challenges in computer science education. A part of that, program visualization (PV) is used as a tool to overcome the high failure and drop-out rates in an introductory programming course. Nevertheless, there are rising concerns about the effectiveness of the existing PV tools following the mixed results derived from various studies. Student engagement is also considered a vital factor in building a successful PV, while it is also an important part of the learning process in general. Several techniques have been introduced to enhance PV engagement; however, student engagement with PV is still challenging. This paper employed three theories—constructivism, social constructivism and cognitive load to propose a technique for enhancing student engagement with program visualisation. The social worked-examples (SWE) technique transforms the traditional worked-example into a social activity, whereby a greater focus is placed on the collaboration role in constructing students’ knowledge. This study identified three principles that could enhance student engagement through the SWE technique: active learning, social collaboration and low-load activity
    corecore