Counting problems are rich in opportunities for students to make meaningful mathematical connections and develop non-algorithmic thinking; their accessible nature and applications to computer science make counting problems a valuable part of mathematics curricula. However, students struggle in various ways with counting, and while previous studies have indicated that listing...
A VLSI system for image compression based on two dimensional discrete cosine transform
(2-D DCT) is designed and its performance is estimated. The focus is mainly on the reduction
of power consumption and a reasonable speed. A 2-D DCT algorithm called row-column
decomposition is chosen for the VLSI design of...
This paper makes available practical algorithms and their associated
FORTRAN IV computer programs for finding the roots of
polynomial equations.
The purpose of this paper is to examine effective algorithms
for solving polynomial algebraic equations in one unknown on a digital
computer. The advent of high - speed digital computing...
The history of a software project plays a vital role in the software development process. Version control systems enable users of a software repository to look at the evolution of the source code, and see the changes that led to newer versions. Currently, version control systems provide commands that can...
Producing precise and helpful error messages for type inference is still a challenge for implementations of functional languages. Current approaches often lack precision in terms of locating the origins of type errors. Moreover, suggestions for how to fix type errors that are offered by some tools are also often vague...
Distributed Version Control Systems (DVCS) have seen an increase in popularity relative to traditional Centralized Version Control Systems (CVCS). Yet we know little on whether VCS tools meet the needs of software developers when managing software change or whether developers are benefitting from the extra power of DVCS. Without such...
Debugging, the process of locating and correcting errors in a computer
program, is a common programming task that is not well understood. Of the
several debugging studies reported in the literature, most compared the performance
differences between expert and novice programmers by measuring
their debug time and the number of...
PRONTO is a direct, one-pass heuristic method designed
to shrink the size of reducible programmable logic
arrays. Several people have contributed to the design,
and translation to a computer program, of this attempt to
produce a good solution quickly. This thesis discusses
efforts to improve PRONTO's implementation in order to...
A rule based transformational model for program development and a metatool based on the above model is presented. The meta-tool can be instantiated to create various program development tools such as tools for building reusable software components, language directed editors, language to language translators, program instrumentation, structured document generator, and...
In this dissertation we consider the problem of
automating the design of access structures for relational
database systems. The main considerations are effective
and rigorous utilization of the users' usage patterns,
global treatment of the whole design and utilizing most of
the commonly known access structures.
We represent the usage...