1,662 research outputs found
Automata Tutor v3
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
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
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
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
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
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
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
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
Intelligent Tutoring System Authoring Tools for Non-Programmers
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
- …