Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Paul Hilfinger is active.

Publication


Featured researches published by Paul Hilfinger.


Archive | 1981

Preliminary) An Informal Definition of Alphard

Paul Hilfinger; Gary Feldman; Robert Fitzgerald; Izumi Kimura; Ralph L. London; K. V. S. Prasad; V. R. Prasad; Jonathan Rosenberg; Mary Shaw; Wm. A. Wulf

The Alphard language was designed to support the joint goals of facilitating contemporary programming methodology, encouraging formal specification of programs and verification of those specifications, allowing the programmer to exercise control over details that affect performance, and being able to compile compact, efficient code. This report presents the informal definition of the complete language.


technical symposium on computer science education | 1978

A fundamental computer science course that unifies theory and practice

Lawrence Flon; Paul Hilfinger; Mary Shaw; William A. Wulf

If computer programming is to become an engineering discipline, computer science students must acquire the tools for rigorous analysis and evaluation of programs. An early course in the undergraduate curriculum must introduce the fundamental principles of the discipline, just as freshman calculus teaches the basic analysis skills for most engineering disciplines. The course described in this paper teaches mathematical principles and practical programming applications in a unified form. It has been successfully taught to sophomores for four years.


technical symposium on computer science education | 1978

Introducing "theory" in the second programming course

Paul Hilfinger; Mary Shaw; Wm. A. Wulf

Traditionally, the first two programming courses have emphasized basic techniques and skills—the details of a programming language, basic problem solving and program development, “structured programming”, the manipulation of simple data structures and files, basic sorting and searching algorithms, etc.n Our principle motivation is the conviction that programming should be an engineering discipline, and that engineering disciplines must be grounded in engineering science. Further, to be effectively taught, this science must be introduced as early as possible. In contrast to the measure-theoretic under pinnings of the calculus, the theory we introduce is immediately useful to working programmers. In addition, the topics we cover are fundamental to later courses. By introducing the topics early in the curriculum, we provide a common vocabulary for these later courses, eliminate redundant treatment of topics, and give students greater exposure to the material and a better chance to absorb it.n We feel we have been successful with the course, although our evidence is necessarily subjective. Because its philosophy flies in the face of current practice, we shall attempt to explain that philosophy in this paper. The course itself, “Fundamental Structures of Computer Science” (FS here after) is described in somewhat greater detail in [2] and we are preparing a supporting text [3]. We are not so much interested in pressing our own particular treatment of the topics, however, as we are the choice of material and its place in the curriculum.


Sigplan Notices | 1978

Language design for the Ironman requirement: reference manual

Mary Shaw; Paul Hilfinger; Wm. A. Wulf

Tartan is an experiment in language design. The goal was to determine whether a simple language could meet substantially all of the Ironman requirement for a common high-order programming language.We undertook this experiment because we believed that all the designs done in the first phase of the DOD effort were too large and too complex. We saw that complexity as a serious failure of the designs: excess complexity in a programming language can interiere with its use, even to the extent that any beneficial properties are of little consequence. We wanted to find out whether the requirements inherently lead to such complexity or whether a substantially simpler language would suffice.Three ground rules drove the experiment. First, no more than two months -- April 1 to May 31 -- would be devoted to the project. Second, the language would meet all the Ironman requirements except for a few points at which it would anticipate Steelman requirements. Further, the language would contain no extra features unless they resulted in a simpler language. Third, simplicity would be the overriding objective.The resulting language, Tartan, is based on all available information, including the designs already produced. The language definition is presented here; a companion report provides an overview of the language, a number of examples, and more expository explanations of some of the language features.We believe that Tartan is a substantial improvement over the earlier designs, particularly in its simplicity. There is, of course, no objective measure of simplicity, but the syntax, the size of the definition, and the number of concepts required are all smaller in Tartan.Moreover, Tartan substantially meets all of the Ironman requirement. (The exceptions lie in a few places where we anticipated Steelman requirements and where details are still missing from this report.) Thus, we believe that a simple language can meet the Ironman requirement. Tartan is an existence proof of that.We must emphasize again that this effort is an experiment, not an attempt to compete with DOD contractors. Tartan is, however, an open challenge to the Phase II contractors: The language can be at least this simple! Can you do better?


Sigplan Notices | 1978

Language design for the Ironman requirement: notes and examples

Mary Shaw; Paul Hilfinger; Wm. A. Wulf

The Tartan language was designed as an experiment to see whether the Ironman requirement for a common high-order programming language could be satisfied by an extremely simple language. The result, Tartan substantially meets the Ironman requirement. We believe it is substantially simpler than the four designs that were done in the first phase of the DOD-1 effort. The language definition appears in a companion report; this report provides a more expository discussion of some of the languages features, some examples of its use, and a discussion of some facilities that could enhance the basic design at relatively little cost.


Archive | 1981

Fundamental Structures of Computer Science

William A. Wulf; Lawrence Flon; Mary Shaw; Paul Hilfinger


Archive | 1978

An Informal Definition of Alphard (Preliminary).

William A. Wulf; Paul Hilfinger; Robert Fitzgerald; Izumi Kimura; Ralph L. London


Archive | 1978

Tartan, language design for the Ironman requirement : notes and examples

Mary Shaw; Paul Hilfinger; William A. Wulf


conference on scientific computing | 1978

Validating The Utility Of Abstraction Techniques

Mary Shaw; Gary Feldman; Robert W. Fitzgerald; Paul Hilfinger; Izumi Kimura; Ralph L. London; Jonathan Rosenberg; William A. Wulf


Archive | 1981

Fundamental Structures of Computer Science Addison-Wesley

Wm. A. Wulf; Shaw Mary; Paul Hilfinger; Flon Lawrence

Collaboration


Dive into the Paul Hilfinger's collaboration.

Top Co-Authors

Avatar

Mary Shaw

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Wm. A. Wulf

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

Ralph L. London

Information Sciences Institute

View shared research outputs
Top Co-Authors

Avatar

Izumi Kimura

Tokyo Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Gary Feldman

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Lawrence Flon

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

Robert Fitzgerald

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

K. V. S. Prasad

Tata Institute of Fundamental Research

View shared research outputs
Researchain Logo
Decentralizing Knowledge