About
144
Publications
9,614
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,959
Citations
Publications
Publications (144)
We describe the design and a trial run of an integrated course of instruction in reading, writing, and computer programming, in order to assess potential synergies of learning them together. Twelve pre-teen students diagnosed with dyslexia each took a sequence of lessons of approximately 90 minutes each over a 3-month period. In addition to compute...
When the classical theory of problem solving is put into practice, a sequence of operator applications must be found that transforms an initial problem state into a goal state. This is equivalent to finding a path through the graph of possible problem states from an initial node to a goal node. The search is usually conducted by an algorithm or by...
Blocks-based programming environments offer an alternative program representation to textual source code that simplifies the considerations of syntax for novices. This position paper raises the question of whether additional affordances related to transparency of data, transparency of semantics, and liveness of execution can be consistently added t...
There has been considerable interest in teaching "coding" to primary school aged students, and many creative "Initial Learning Environments" (ILEs) have been released to encourage this. Announcements and commentaries about such developments can polarise opinions, with some calling for widespread teaching of coding, while others see it as too soon t...
Liveness in programming environments generally refers to the ability to modify a running program. Liveness is one form of a more general class of behaviors by a programming environment that provide information to programmers about what they are constructing. This paper gives a brief historical perspective on liveness and proposes an extension of a...
The software engineering process for games has enough special structure that it can be formulated as a kind of game itself. This, in turn, permits the teaching of game construction in a unique way with new potential to motivate students. We present a new game design client program for an existing collaborative problem-solving website known as CoSol...
Many subjects such as languages, history, biology, geography, law, and medicine require the memorization of large numbers of unstructured facts and vocabulary. While there are many techniques and tools for memorizing such information, sustaining motivation remains a major barrier towards progress in these subjects. In order to help fill this gap, w...
The two-dimensional mesh computer architecture has proven to be an appropriate means to apply parallel computation to problems in image processing. However, this is most often done using local-neighbourhood operations to accomplish image filtering and morphological transformations. The discovery of structures in an image such as repetitions and sym...
A number of educational researchers have developed pedagogical approaches that involve the teacher in discovering and helping to correct misconceptions that students bring to their study of their subject matter. During the last decade, several computer systems have been developed to support teaching and learning using this kind of approach. A centr...
State-space search methods in problem solving have often been illustrated using tree diagrams.We explore a set of issues related to coordination in collaborative problem solving and design, and we present a variety of interactive features for state-space search trees intended to facilitate such activity.Issues include how to show provenance of deci...
As part of a larger solution to the problem of diagram assessment in online education, this paper explores how to allow students to "show their work" in the creation of a sketch, the same way they might show their work on, say, a math problem. We propose a Snapshot feature as an extension to our web-based Sketch Tool. This feature allows students t...
Many software engineering projects involve a significant design component in which an algorithm must be formulated as a sequence of processing steps that meets a solution criterion. As the problems tackled become more complex, it becomes increasingly important to create and use tools that help designers understand and manage the design process. We...
A formalism called sequential Input graphical model assessment (SIGMA) diagrams is introduced. It shares with conventional graphical models features for specifying probabilistic inferences. In addition, it provides facilities for describing temporal patterns of evidence. The formalism was motivated by a need for transparent representations of asses...
As tools for design get increasingly complex and powerful, it is increasingly important that their users have a solid grounding in what it is these tools do and how they do it. When these tools are software engineering tools, we can assume that their users have formal training in computing. However, when the tools are for designing art or multimedi...
We present in this paper a general-purpose approach for articulated object recognition. We split the recognition process in two distinct phases. In the former we use standard model-based techniques in order to recognize and localize in the input image the rigid components the articulated object is composed of. In the second phase the spatial config...
This paper presents a system for articulated object recognition. The system has been tested in the RoboCup domain (four-legged league), an international competition among autonomous doglike robots playing soccer. Nevertheless, the proposed method does not depend on any specific domain, but is thought to be applicable to generic objects composed of...
We present a visual interface for a variety of programs that employ state-space search methods. The interface displays a tree of the states visited so far, and it permits user interaction through manipulation of the tree. The interface is implemented in a domain-independent Python module. We give illustrations of its application in three domains: c...
We briefly introduce the online learning environment INFACT, and then we describe its textual feedback system. The system automatically provides written comments to students as they work through scripted activities related to image processing. The commenting takes place in the context of an online discussion group, to which students are posting ans...
Automatic classification of short textual answers by students to questions about topics in physics, computing, etc., is an attractive approach to diagnostic assessment of learning.
A transparent interface reveals some of the inner workings of a system. Transparency is important in computer systems that must engender trust, that teach, or that must rely on users to correct their mistakes. While glass-box transparency provides a view of internal com- ponents, generalized transparency encompasses exposing design criteria and ass...
The proposed approach to avoiding catastrophic failures in interconnected power systems uses a defensive system based on multiagent system technologies. Due to their dynamic environments, these agents need to automatically adjust their decision criteria. The method of reinforcement learning with temporal differences can provide a suitable basis for...
HCL is a hierarchical cellular logic, in which operations are applied to objects called bit-pyramids which themselves are functions on spaces called hierarchical domains. HCL provides an algebra for computations involving hierarchical, multiple-resolution representations of image data. PIPE is a newly-developed parallel architecture which supports...
The proposed approach to avoiding catastrophic failures in interconnected power systems uses a defeusive system based on multiagent system technologies. Because of their dynamic environments, these agents need to automatically adjust their decision criteria. The method of reinforcement learning with temporal differences can provide a suitable basis...
The analysis of scanned documents is important in the construction of digital libraries and paperless offices. One significant challenge is coping with artifacts of photocopying and scanning. We present a series of simple techniques for handling these difficulties. Using 125 images of the University of Washington scanned documents database, we demo...
Graphical communication by students can provide impor- tant clues to teachers about misconceptions in fields like mathematics and computing. We have built a facility called INFACT-SKETCH that permits conducting experiments in the elicitation and analysis of student- drawn diagrams. A goal of our project is to achieve the integration of a constructi...
Throughout the history of computer science education there has been debate on what should be the appropriate mathematics background for computer science majors. The first computer science instructors were mathematicians and the first curriculums were just modifications of mathematics curriculums. However, as the discipline has grown and matured the...
In this paper we address two key issues in image retrieval: (1) the use of rectangles in queries to express properties of regions in the desired target images; and (2) the use of over-segmentation to build the index of images in the database. In our method, the rectangles in the user's query are used to control a partial re-segmentation of each can...
We describe an approach to teaching that engages students in small-group discussions of conceptual material. Then we describe software that mediates the discussions with an online textual newsgroup-like system that has special features to support a pedagogical approach that deals explicitly with student preconceptions. Our system, called INFACT-FOR...
A set of guiding principles is stated for the development of standards for representing student educational assessment information. These principles support the learner, rather than the academic institution, as the focus of an information system architecture. Unlike traditional academic transcripts, the items in portfolios, subjective written evalu...
Image processing and computer vision form an increasingly relevant subject area not only for students of computer science, but for all citizens in the 21st century information society. This paper describes a freshman seminar that introduces image processing as an interdisciplinary subject connecting mathematics, computing, art, and experimental psy...
An image processing environment for students of information
technology is presented in which programming is an ultimate objective.
Our system offers a gentle entry into programming, and we argue that the
manner in which programming is introduced is more important for learners
than the speck syntax of the language. The environment and its student
ac...
Retrieval of images from databases using their visual features is a challenging and important problem. While the technical problem shares some aspects of image analysis with image understanding, the goal is not to obtain a correct interpretation of the image but to enhance the recall and precision of retrieval. The dominant visual features of an im...
The analysis of scanned documents is important in the construction
of digital libraries and paperless offices. One significant challenge is
coping with artifacts of photocopying and scanning. We present a series
of simple techniques for handling these difficulties. Using 125 images
of the University of Washington scanned documents database, we
demo...
Image retrieval systems have often used color and texture features successfully, but shape features have not been as successful, largely because of the difficulty of specifying them. Traditional image segmentation algorithms tend in many cases to produce results that users find unsatisfactory as either representations of the image or as components...
This paper presents a class of objects that facilitate building software for "close collaboration." A definition is given for "cooperatively controlled objects" and three example activities are described. Keywords Computer supported collaboration, multiple-user interface, Co-presence, cooperatively controlled objects, multimedia. INTRODUCTION This...
This paper presents Colt, a system designed to aid in the development of applications that support close collaboration between two or more users. The Colt system is comprised of three parts: a design methodology, a software toolkit, and visualization and analysis tools. The software toolkit includes computational objects that support simultaneous m...
Four computer applications are presented that encourage students to develop "mathematical coordination" --- the ability to manipulate numerical variables in cooperation with other students so as to achieve a definite goal. The programs enable a form of computer-supported cooperative learning (CSCL). In this paper we describe the rationale and desig...
We present an algorithm to segment and interpret technical journal pages. Our method has some advantages: it performs a fine segmentation and classification, after a preliminary step of page cleaning and lastly the analysis of the spatial disposition of the classified blocks in the page which are generally not included in other methods. Moreover, t...
The subject matter of computer vision and pattern recognition can play a useful role in the education of mathematics for students in middle school. New standards in education call for new content relevant to students' lives, and new pedagogical methods involving construction, group work, discovery, and the use of new technology. The project "Mathem...
A class of applications that support synchronous co-present activities is among the emerging forms of groupware. The designer of a collaborative activity may wish the users to communicate and cooperate in particular ways. We developed a system called Colt to facilitate the design and development of such software. This paper presents the results of...
A set of guiding principles is stated for the development of standards for representing student educational assessment information. Unlike traditional academic transcripts, the items in portfolios, subjective written evaluations, self-assessments, and computer-based records of activity are complex representations of student achievement, involvement...
Vedo-Vedi is an experimental visual language for multi-lingual
electronic communication by 10-year-old children using the Internet. In
this paper, we present a novel mechanism by which users can create new
vocabulary items for the language. One of the challenges of providing
such an extension mechanism for a visual language is making it easy to
def...
We present a combination of techniques which can improve recall in
image retrieval systems: a fast image segmentation algorithm suitable
for color images which enables one to describe images in a database
using multiple segmentations. A simple example shows that the use of a
“rich description” satisfies a broader range of
queries
One of the challenges of developing a visual language for human-to-human communication is coming up with a large enough visual vocabulary that users are not overly limited in the meanings they can express. If a language system can provide extension mechanisms directly to its end users, then the language, or various dialects of it, can grow with the...
Computer-based visual languages have been developed primarily in order to help people program and operate computers. Now that many people in the world have personal computers with good graphics and Internet connections, we are seeing a great deal of informal electronic visual communication via Web pages. More formal visual languages can be expected...
Search of discrete spaces is important in combinatorial
optimization. Such problems arise in artificial intelligence, computer
vision, operations research, and other areas. For realistic problems,
the search spaces to be processed are usually huge, necessitating long
computation times, pruning heuristics, or massively parallel processing.
We presen...
An interactive puzzle-solving program was implemented in two versions both permitting two players to cooperate in solving the puzzle. In one version, the users were permitted not only to individually pick up and place pieces into the puzzle but also to jointly pick up and position pieces with synchronous cooperative control of the piece. In the oth...
This paper describes a visual database environment designed to be used for scientific research in the imaging sciences. It provides hierarchical relational structures that allow the user to model data as entities possessing properties, parts and relationships, and it supports multi-level queries on these structures. A schema constructor interface a...
One of the problems in computer vision is to give a computer a representation of a scene and recognize the objects in the scene and their spatial relationships. This involves low-level vision (image processing), mid-level vision (feature extraction and measurement) and high-level vision (interpretation). One important part of high-level vision is r...
We describe a systolic cellular logic architecture implemented in
the systolic cellular logic (SCL) VLSI chip. The SCL chip's hardware
support for virtual processing is intended to provide low cost, high
performance image processing. We present empirical performance data for
the Abingdon Cross benchmark which indicate that the SCL chip
successfully...
We describe a systolic cellular logic architecture implemented in the systolic cellular logic (SCL) VLSI chip. The SCL chip's hardware support for virtual processing is intended to provide low cost, high performance image processing. We present empirical performance data for the Abingdon Cross benchmark which indicate that the SCL chip successfully...
Two fast algorithms for median filtering of images using parallel computers having 2-D mesh interconnections are given. Both algorithms assume that an n Theta n image is loaded onto the mesh with one processing element per pixel. One algorithm performs median filtering over d Theta d neighborhoods in O(d 2 ) time and works with pixel values in an a...
A successful visual database system must provide facilities to manage
both image data and the products extracted from them. The extracted
items usually consist of textual and numeric data from which multiple
visualizations can be created. Such visualizations are difficult to
automate because they are domain-specific and often require data from
mult...
The database environment for vision research (DEVR) is an entity-oriented scientific database system based on a hierarchical relational data model (HRS). This paper describes the design and implementation of the data definition language, the application programmer's interface, and the query mechanism of the DEVR system. DEVR provides a dynamic data...
The database environment for vision research (DEVR) is an
entity-oriented scientific database system based on a hierarchical
relational data model (HRS). This paper describes the design and
implementation of the data definition language, the application
programmer's interface, and the query mechanism of the DEVR system. DEVR
provides a dynamic data...
Image processing by computer can play an important motivational
role in middle-school mathematics. The fact that digital images are
represented by arrays of numbers attests to the relevance of mathematics
in the exciting realm of visual imagery. The project “Mathematics
Experiences Through Image Processing” has developed software and
activities tha...
We present the design of a visual database system for data and
experiment management. Our system was designed as a general scientific
database system, but motivated by and intended for use in model-based
computer vision. We provide a unified data model, a highly graphical
user interface, an advanced query facility, and an interactive
laboratory not...
The authors have taken the forward-checking-graph-matching
algorithm of L. G. Shapiro and R. M. Haralick (1981) and increased its
speed and capacity, by developing a parallel approach and by improving
the original algorithm. They discuss the parallel algorithm and its
implementation on the MasPar
single-instruction-stream/multiple-data-stream (SIMD...
The phenomenon of attention in human vision is a biological solution to the problems of complexity and overabundance of data. Attention is related to such concepts as spatial resolution, multi-resolution representations, and active vision. Attention is also meaningful in cognition and is associated with the idea of consciousness. This panel consist...
To obtain machine vision algorithms which are robust in the face of variations in image lighting, arrangements of objects, viewing parameters, etc., it is helpful to build into the algorithms an adaptive control mechanism such as a state-space search procedure. Such a procedure dynamically determines an optimal sequence of image processing operator...
The findings of a workshop, the goals of which were to identify
applications, research problems, and designs of high performance
computing and communications (HPCC) systems for supporting applications
are discussed. In computer vision, the main scientific issues are
machine learning, surface reconstruction, inverse optics and
integration, model acq...
This paper describes a visual programming environment for image
processing implemented on the NeXT computer. It is based upon the visual
language VIVA (Visualization of Vision Algorithms). Iconic
representations of image processing operations are placed and connected
together into dataflow networks in a workbench window. The workbench
includes a se...
Typical user interaction in image processing is with command line entries, pull-down menus, or text menu selections from a list, and as such is not generally graphical in nature. Although applying these interactive methods to construct more sophisticated algorithms from a series of simple image processing steps may be clear to engineers and program...
With the increasing emphasis on the use of Computer Graphics in Computer Science and other application areas, more schools are beginning to offer advanced courses in Computer Graphics, either at the undergraduate or the graduate level. Whereas there ...
Some recent developments in computer memories are discussed, and
proposals are made to enhance the memory systems of highly parallel SIMD
(single instruction multiple data) computers. The topics covered include
increases in density and speed; adding new logic functions to memory
chips; local autonomy in addressing; a parallel indexed RAM (PIRAM);
i...
Most special architectures for image processing handle image-based (iconic) transformations efficiently but are relatively inefficient for transforming images into more symbolic representations such as lists of prominent lines, contour-description strings, or graphs that express the major spatial relationships in the image. Consequently some new ar...
Operators that, over time, produce successive approximations to
the correct output are called progressive operators. These operators,
and measures for evaluating them, are defined. Desirable properties for
progressive operators are identified. Methods for their design are
suggested. Examples of progressive operators for image processing are
present...
A distance transform of a binary image is an array each of whose elements gives the distance from the corresponding pixel to the closest ‘1’ in the binary image. Distance transforms have uses in image matching and shape analysis, among other applications. We present a parallel algorithm for weighted distance transforms that runs particularly effici...
Several types of parallelism that may be exploited in vision
algorithms based on a state-space search are identified. A method called
the V * algorithm, which generates the successors of a state in
parallel, is presented. In machine vision, this part of the search
process is very expensive, and thus V* permits substantial speedup. An
experimental e...
Visual languages have been developed to help new programmers express algorithms easily. They also help to make experienced programmers more productive by simplifying the organization of a program through the use of visual representations. However, visual languages have not reached their full potential because of several problems including the follo...
Piecewise continuous reconstruction of real-valued data can be formulated in terms of nonconvex optimization problems. Both stochastic and deterministic algorithms have been devised to solve them. The simplest such reconstruction process is the weak ...
The determination of bright spots in an image is an operation that has many uses in image analysis, especially when the images can be transforms of other images. Parallel pyramid machines can rapidly determine bright spots with particular local and/or global properties very efficiently. A variety of algorithms for finding various kinds of bright sp...
The determination of bright spots in an image is an operation that has many uses in image analysis, especially when the images can be transforms of other images. Parallel pyramid machines can rapidly determine bright spots with particular local and/or global properties very efficiently. A variety of algorithms for finding various kinds of bright sp...
A difficult problem for designers of real-time machine vision systems is handling the iconic/symbolic interface. While image-to-image transformations are readily computed by both pipelined and image-parallel architectures, and list-based and logic-based processors handle symbolic information efficiently, there has all too often been a bottleneck in...
Children are commonly introduced to computers through games. Games have been successful this way because they can reduce the amount of expertise required to operate a computer to a few simple operations (such as moving a joystick) while they provide sensory stimulation and understandable goals.(5) However, games are usually very limited in the kind...
The author feels there is an important issue that is obliquely alluded to in a position paper. That issue involves computer architecture for expert vision systems. The assumption that computational costs will go down is an assumption that technologists outside the vision community will be improving the state of computing in general. That is a fair...