Susan M. Merritt
Pace University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Susan M. Merritt.
Communications of The ACM | 1985
Susan M. Merritt
An alternative taxonomy (to that of Knuth and others) of sorting algorithms is proposed. It emerges naturally out of a top-down approach to the derivation of sorting algorithms. Work done in automatic program synthesis has produced interesting results about sorting algorithms that suggest this approach. In particular, all sorts are divided into two categories: hardsplit/easyjoin and easysplit/hardjoin. Quicksort and merge sort, respectively, are the canonical examples in these categories. Insertion sort and selection sort are seen to be instances of merge sort and quicksort, respectively, and sinking sort and bubble sort are in-place versions of insertion sort and selection sort. Such an organization introduces new insights into the connections and symmetries among sorting algorithms, and is based on a higher level, more abstract, and conceptually simple basis. It is proposed as an alternative way of understanding, describing, and teaching sorting algorithms.
technical symposium on computer science education | 2004
Susan M. Merritt; Allen Stix; Judith E. Sullivan; Fred Grossman; Charles C. Tappert; David Sachs
Pace Universitys Doctor of Professional Studies in Computing program, a fusion of academic and professional cultures, started as a venture into largely uncharted educational territory. One part of the mission was, and remains, a one hundred percent student retention rate, with each student successfully defending a dissertation with original research in three years. Yet, throughout, the students retain full-time employment as high-level computing and IT professionals. Another part of the mission is to provide breadth and currency across the computing disciplines (specifically, computer science, information systems, and telecommunications) as well as depth in annually selected areas of emerging technology. This is in a context in which entering students have masters degrees and generally at least five years of professional experience in diverse computing-related areas and therefore lack a common foundational background. As a new program at the University and in the country, penetrating assessments have been conducted each semester. This report describes the assessments, the anticipated and unanticipated challenges, and the steps that have made the evolutionary development of this program successful.
acm special interest group on data communication | 1989
Susan M. Merritt
The problem of the design of communications networks has spawned the development of many of the algorithms currently used to solve the minimum cost spanning tree problem. We show that three minimum cost spanning tree algorithms, those by Kruskal, Prim, and Esau and Williams, can be derived from a single problem specification using “specification and transformation by parts,” a methodology for deriving families of algorithms. This approach is an alternative to the Kershenbaum and Chou unification of spanning tree algorithms. Whereas the Kershenbaum & Chou approach might be called bottom up, this is a top down approach which shows the original unity of the algorithms which emerges from the statement of the problem and also the essential differences. Besides pedagogical and aesthetic value, we maintain that an understanding of the algorithms from this perspective may be helpful in network design and modification.
technical symposium on computer science education | 1980
Susan M. Merritt
This paper asserts that it will become increasingly necessary for persons involved in the software development process to be concerned with creating high quality programs. Furthermore, it is asserted that the presence or absence of certain features in programming languages can affect the quality of programs produced. A survey of language design features which characterize some “modern” languages - languages which have been created for the design and implementation of reliable software - is given. These features include abstraction, name protection, strong typing, structure and ease of verification. Remarks are made concerning how these features support high quality programs. Each of these features is shown to be either a part of PASCAL or to have its immediate history in PASCAL. Since PASCAL is a widely available and well designed language it is suggested that PASCAL provides a unique language environment in which these features which support high quality program construction can be learned. Finally, it is remarked that it is not yet clear which programming languages will dominate our language culture of the future. However it is reasonable to expect that reliable software will be a priority, that the connections between good programs and language features will continue to be made, and that language features will develop along the lines presented here. Information Systems graduates will be in systems development and management roles. It is important that they be articulate with the issues.
technical symposium on computer science education | 1990
Susan M. Merritt; Cecilia Y. Nauck
Dijkstra’s algorithm for finding the length of the longest upsequence within a given sequence of numbers is used as the basis for a case study in the development of a new sorting algorithm. The case study has pedagogic value for several reasons: the motivation for each step in the development of the algorithm is explained; interesting data structures are introduced; the complexity of the algorithm is analyzed using mathematics familiar to first year computer science students; the appendices provide detailed description of the implementation of the algorithm as well as several interesting examples of its use. The proposed algorithm merits attention since it uses O(nlogn) compares in the worst case (actually less than 2nlogn) and O(n) for both ordered or nearly ordered and reverse ordered or nearly reverse ordered sequences. 1 .O INTRODUCTION We provide a comprehensive and pedagogical description of an algorithm development process. The algorithm is new. It uses a variety of building blocks from computer science including well known techniques such as list merging, and lesser known techniques such as the efficient solution of the longest upsequence problem, It incorporates a variety of interesting data structures. It demonstrates how basic concepts in computer science and mathematics are used to develop and demonstrate an interesting and respectable algorithm. We describe the longest upsequence problem and the elegant solution given by Dijkstra [2]. We then propose an extension to Dijkstra’s algorithm to develop a sorting algorithm which uses O(nlogn) compares in the worst case and O(n) compares for an interesting class of data. Substantial analysis of the algorithm is demonstrated with respect to compares. The algorithm development provides a good case study for a fist year computer science course. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission.
Communications of The ACM | 2011
Fred Grossman; Charles C. Tappert; Joe Bergin; Susan M. Merritt
Looking back on the first decade of the Doctor of Professional Studies in Computing---an ambitious doctoral track for people who want to do research in an industrial setting.
Proceedings of the 2nd international workshop on The role of abstraction in software engineering | 2008
Jonathan Hill; Bernice J. Houle; Susan M. Merritt; Allen Stix
Aptitude for managing abstraction may be a distinguishing characteristic of computer science majors. If this is so, and if this aptitude can be recognized among potential majors, those who are well suited for computer science but have not considered it as a major can be made aware of the possibility. Abstraction, as a human ability, is comprised of two complementary aspects: clearing away details to build simplifications and deriving generalizations that illuminate essentials. Agreement exists that this ability may be nurtured through instruction and experience, but that it rests upon a natural aptitude that is possessed by few. Agreement exists that this natural aptitude is assessable, although no instrument yet exists for measuring it efficiently among prospective computer science majors who have not begun computer science coursework. This paper deals with a study done at New Yorks Pace University to test undergraduate students across a range of majors for abstraction ability
technical symposium on computer science education | 1993
Susan M. Merritt; Charles J. Bruen; J. Philip East; Darlene Grantham; Charles Rice; Viera K. Proulx; Gerry Segal; Carol E. Wolf
A task force of the Pre-College Committee of the Education Board of the ACM has been working on a proposal for a high school course in computer science since 1989. Three drafts have been distributed to reviewem throughout the country and the world. The task force identified seven areas to be included in such a course. The seven areas are: Algorithms Programming Languages Operating Systems and User Support Computer Architecture Social, Etilcal, and Professional Context Computer Applications Advanced Applications A list of topics is given for each area. These are divided into those essential for all coutxes, those recommended for inclusion but not essential, and optional topics. In addition, the task force recognized a spectrum of delivery methods, ranging from a concentration on applications to a concentration on intensive programming. The models include Applications based Breadth approach using applications and programming modules Breadth approach intenveaving applications, computer science topics, and programming Project development approach using a programming language Apprenticeship model Advanced placement (AP) computer science. Course descriptions and syllabi are included as appendices to the report. From the comments received from reviewers and those expressed at previous panels and workshops, the need for such a course seems clear. High school teachers in particular welcomed thk effort. However, the task force recognizes the barriers that may hinder the implementation of such a course and continues to work on solutions.
annual conference on computers | 1995
Susan M. Merritt
This reflective essay describes three ‘revolutions’ which are underway and which will profoundly affect education. The first two are widely accepted: the computer revolution and the more recent telecommunications revolution. The third revolution is not well understood or appreciated by teachers and teacher educators; it is the revolution, or perhaps more appropriately, the evolution of the new discipline of computer science. The paper describes briefly one computer science curriculum which has been developed for high school students, and argues that more integration of computer science into teacher preparation and K-12 (secondary) education is essential for the future.
technical symposium on computer science education | 1981
Susan M. Merritt
A top-down approach is presented for the derivation of, and corresponding exposition of sorting algorithms. Work done in automatic program synthesis has produced interesting results about sorting algorithms which suggest this approach. In particular insertion sort and selection sort are seen to be instances of merge sort and Quick sort, and sinking sort and bubble sort are presented as in-place versions of insertion sort and selection sort. This top-down approach is offered as an alternative way of deriving and ultimately teaching about sorting algorithms.