1,662 research outputs found

    Automata Tutor v3

    Full text link
    Computer science class enrollments have rapidly risen in the past decade. With current class sizes, standard approaches to grading and providing personalized feedback are no longer possible and new techniques become both feasible and necessary. In this paper, we present the third version of Automata Tutor, a tool for helping teachers and students in large courses on automata and formal languages. The second version of Automata Tutor supported automatic grading and feedback for finite-automata constructions and has already been used by thousands of users in dozens of countries. This new version of Automata Tutor supports automated grading and feedback generation for a greatly extended variety of new problems, including problems that ask students to create regular expressions, context-free grammars, pushdown automata and Turing machines corresponding to a given description, and problems about converting between equivalent models - e.g., from regular expressions to nondeterministic finite automata. Moreover, for several problems, this new version also enables teachers and students to automatically generate new problem instances. We also present the results of a survey run on a class of 950 students, which shows very positive results about the usability and usefulness of the tool

    pseuCo Book: An Interactive Learning Experience

    Get PDF
    Software tools and apps are pervading educational technology in many areas, not least in the field of computer science education. However, many of these tools have a very narrow scope and lack context, or only work as add-ons to textbooks and other course materials. This paper advocates an alternative: a truly interactive textbook experience where interactive demonstrations and exercises are interwoven with more classical textual elements. We present a framework that provides authors with the infrastructure for writing such books, and present pseuCo Book, an interactive book for teaching concurrent programming. The effectiveness of this approach is demonstrated by a user study encompassing a detailed empirical evaluation

    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

    OCaml-Flat on the Ocsigen framework

    Get PDF
    Formal Languages and Automata Theory are important and fundamental topics in Computer Science. Due to their rigorous and formal characteristics, learning these becomes demanding. An important support for the assimilation of concepts is the possibility of interactively visualizing concrete examples of these computational models, thus facilitating their understanding. There are many tools available, but most are not complete or do not fully support the interactive aspect. This project aims at the development of an interactive web tool in Portuguese to help understand, in an assisted and intuitive way, the concepts and algorithms in question, watching them work step-by-step, through typical examples pre-loaded or built by the user (an original aspect of our platform). The tool should therefore enable the creation and edition of an automaton or a regular expression, as well as execute the relevant classical algorithms such as word acceptance, model conversions, etc. Another important feature is that the tool has a clean design, in which everything is well organized and it is also extensible so that new features can be easily added later. This tool uses the Ocsigen Framework because it provides the development of complete and interactive web tools written in OCaml, a functional language with a strong type checking system and therefore perfectly suitable for a web page without errors. Ocsigen was also chosen because it allows the creation of dynamic pages with a singular clientserver system. This document introduces the development of the tool, its design aspects that enable showing different conversions and processes as well as the development of the several functionalities related to the mechanisms already presented

    To Heck With Ethics: Thinking About Public Issues With a Framework for CS Students

    Get PDF
    This paper proposes that the ethics class in the CS curriculum incorporate the Lawrence Lessig model of regulation as an analytical tool for social issues. Lessig’s use of the notion of architecture, the rules and boundaries of the sometimes artificial world within which social issues play out, is particularly resonant with computing professionals. The CS curriculum guidelines include only ethical frameworks as the tool for our students to engage with societal issues. The regulation framework shows how the market, law, social norms, and architecture can all be applied toward understanding social issues

    To Heck With Ethics: Thinking About Public Issues With a Framework for CS Students

    Get PDF
    This paper proposes that the ethics class in the CS curriculum incorporate the Lawrence Lessig model of regulation as an analytical tool for social issues. Lessig’s use of the notion of architecture, the rules and boundaries of the sometimes artificial world within which social issues play out, is particularly resonant with computing professionals. The CS curriculum guidelines include only ethical frameworks as the tool for our students to engage with societal issues. The regulation framework shows how the market, law, social norms, and architecture can all be applied toward understanding social issues

    Desarrollo de entorno online de programación para computación natural

    Full text link
    Máster en Investigación e Innovación en Tecnologías de la Información y las Comunicaciones (i2- TIC).This work proposes a natural computer programming (for CA and NEPs) environment platform using Blockly. The platform is a web-based tool that provides simulators for two well-known natural computing systems: Cellular Automata (CA) and Network of Evolutionary Processors (NEPs). CA programming blocks presented in this work provide the ability to design and implement several types of CA including Elementary cellular automata, 2D cellular automata, and nD cellular automata. The tool also provides a graphical representation of CA’s grid through projection for any CA that has 3 or more dimensions. A NEPs Blockly programming environment is presented in this work. It provides the ability to design and simulate NEPs. Blocks are used as flexible user interface to enter NEPs specifications. The blocks automatically generate a standard XML configurations code which can be sent to the server side of the simulator for implementation. The tool also provides a graphical representation for the static topology of the system. Both CA and NEPs Blockly programming environments have been tested in several rather academic examples. The work presents an online simulation platform for natural computing algorithm using visual programing tool, namely Blockly. The proposed platform provides software engineering tools for setting up algorithms and also ease of use especially for teaching of these algorithm. The software engineering tools has been implemented on the NEPs as there is much more software tools already presented for cellular automata. The software designed for NEPs are a set of blocks to implement several types of connections between nodes. These blocks reduce time and complexity in setting up NEPs with fully connected nodes, for instance. In the other hand, cellular automata algorithm has been chosen to test the ease of the process of teaching and learning natural computing algorithms as they are much better-known model. The test has been conducted with students, teachers and researchers. Results of the experiment showed that the CA Blockly simulator outperforms traditional manual methods of implementing CA. It also showed that the proposed environment has desired features such as ease of use and decreases learning time. The NEPs part of the system has been tested against several applications. It showed that it provides a flexible designing tool for NEPs. It outperforms traditional XML coding methods in terms of ease of use and designing time. In addition we have designed specific high level constructs that automatize in some way the specific of complex NEPs’ topologies by hand. They could be considered as embryonic software engineering tools to program NEPs. Our tool is considered a generic platform for web-based implementation. It has desired features and wide range of properties that could attract the scientific community to adapt and develop in the future

    A Human-Centric System for Symbolic Reasoning About Code

    Get PDF
    While testing and tracing on specific input values are useful starting points for students to understand program behavior, ultimately students need to be able to reason rigorously and logically about the correctness of their code on all inputs without having to run the code. Symbolic reasoning is reasoning abstractly about code using arbitrary symbolic input values, as opposed to specific concrete inputs. The overarching goal of this research is to help students learn symbolic reasoning, beginning with code containing simple assertions as a foundation and proceeding to code involving data abstractions and loop invariants. Toward achieving this goal, this research has employed multiple experiments across five years at three institutions: a large, public university, an HBCU (Historically Black Colleges and Universities), and an HSI (Hispanic Serving Institution). A total of 862 students participated across all variations of the study. Interactive, online tools can enhance student learning because they can provide targeted help that would be prohibitively expensive without automation. The research experiments employ two such symbolic reasoning tools that had been developed earlier and a newly designed human-centric reasoning system (HCRS). The HCRS is a first step in building a generalized tutor that achieves a level of resolution necessary to identify difficulties and suggest appropriate interventions. The experiments show the value of tools in pinpointing and classifying difficulties in learning symbolic reasoning, as well as in learning design-by-contract assertions and applying them to develop loop invariants for code involving objects. Statistically significant results include the following. Students are able to learn symbolic reasoning with the aid of instruction and an online tool. Motivation improves student perception and attitude towards symbolic reasoning. Tool usage improves student performance on symbolic reasoning, their explanations of the larger purpose of code segments, and self-efficacy for all subpopulations

    Acta Cybernetica : Volume 19. Number 3.

    Get PDF

    Intelligent Tutoring System Authoring Tools for Non-Programmers

    Get PDF
    An intelligent tutoring system (ITS) is a software application that tries to replicate the performance of a human tutor by supporting the theory of learning by doing . ITSs have been shown to improve the performance of a student in wide range of domains. Despite their benefits, ITSs have not seen widespread use due to the complexity involved in their development. Developing an ITS from scratch requires expertise in several fields including computer science, cognitive psychology and artificial intelligence. In order to decrease the skill threshold required to build ITSs, several authoring tools have been developed. In this thesis, I document several contributions to the field of intelligent tutoring in the form of extensions to an existing ITS authoring tool, research studies on authoring tool paradigms and the design of authoring tools for non-programmers in two complex domains - natural language processing and 3D game environments. The Extensible Problem Specific Tutor (xPST) is an authoring tool that helps rapidly develop model-tracing like tutors on existing interfaces such as webpages. xPST\u27s language was made more expressive with the introduction of new checktypes required for answer checking in problems belonging to domains such as geometry and statistics. A web-based authoring (WAT) tool was developed for the purpose of tutor management and deployment and to promote non-programmer authoring of ITSs. The WAT was used in a comparison study between two authoring tool paradigms - GUI based and text based, in two different problem domains - statistics and geometry. User-programming of natural language processing (NLP) in ITSs is not common with authoring toolkits. Existing NLP techniques do not offer sufficient power to non-programmers and the NLP is left to expert developers or machine learning algorithms. We attempted to address this challenge by developing a domain-independent authoring tool, ConceptGrid that is intended to help non-programmers develop ITSs that perform natural language processing. ConceptGrid has been integrated into xPST. When templates created using ConceptGrid were tested, they approached the accuracy of human instructors in scoring student responses. 3D game environments belong to another domain for which authoring tools are uncommon. Authoring game-based tutors is challenging due to the inherent domain complexity and dynamic nature of the environment. We attempt to address this challenge through the design of authoring tool that is intended to help non-programmers develop game-based ITSs
    corecore