skip to main content
article
Free access

GENIE: Developing and Assessing State-of-the-Art Integrated Programming Environments

Published: 01 April 1992 Publication History

Abstract

This videotape demonstrates the functionality of Carnegie Mellon's GENIE programming environments. GENIE environment are publicly available on the Macintosh for Pascal and Richard Pattis' Karel the Robot teaching language. They are appropriate for use in introductory and intermediate computer programming methods courses at both the collegiate and secondary school levels. The Karel environment has been used successfully in group settings as early as the fourth grade.GENIE environments are built around syntax directed structure editors. [1, 2] Rather than edit only individual ASCII characters, the editors manipulate elements designated by a specific language grammar. Syntax errors are either prevented altogether or corrected immediately in context.Earlier structure editors often traded their syntax error prevention functionality for highly constrained and clumsy user interfaces. GENIE environments gracefully integrate text and structure editing, such that they have the "look and feel" of a good text editor, with the "intelligence" of a syntax directed structure editor.Through access to a common structure editor data base, GENIE environments combine many advanced tools for program design, comprehension and testing, all integrated in a single, uniform Macintosh user interface. Student program structures are maintained in "unparse" trees which can be mapped to and from text and graphics in many novel ways not constrained by a language's concrete syntax.[3] Different views of a common program database can be displayed and modified concurrently, emphasizing structure and design as well as implementation detail. [4] Similarly, arbitrary pieces of program structure can be hidden from view or displayed at will.At run time GENIE program can be traced at the level of expressions. Graphical data visualizations displaying arbitrary combinations of structured types are updated dynamically during run time and displayed in a representation of the program call stack. [5] Other notable GENIE features include an extensive contextual help system and a "notes" feature useful for project management, course assignments and "on-line" grading.User studies have been conducted at several universities and secondary schools throughout the United States. [6, 7, 8, 9] GENIE students in demanding courses have performed strikingly better than have students using other commercially available Macintosh software configurations.

Supplementary Material

MP4 File (142386.1055544_16_65_91_Video_Program_genie.mp4)
Presentation Video

References

[1]
Chandhok, R., D. Garlan, D. Goldenson, P. Miller, and M. Tucker, "Programming Environments based on Structure Editing: The GNOME approach," Proceedings of the 1985 National Computer Conference, Chicago, 1985.
[2]
Miller, P., and R. Chandhok, "The Design and Implementation of the Pascal Genie," Proceedings of the 1989 ACM Computer Science Conference (CSC '89), Louisville, Kentucky, 1989.
[3]
Garlan, D., Flexible Unparsing in a Structure Editing Environment, Technical Report. Department of Computer Science, Carnegie Mellon University, 1985.
[4]
Roberts, J., J. Pane, M. Stehlik. and J. Carrasquel, "The Design View: A Design Oriented High Level Visual Programming Environment," Proceedings of the 1988 IEEE Workshop on Visual Language, Pittsburgh, 1988.
[5]
Myers, B., R. Chandhok and A. Sareen, "Automatic Data Visualization for Novice Programmers," Proceedings of the 1988 IEEE Workshop on Visual Language, Pittsburgh, 1988.
[6]
Goldenson, D., "Teaching Introductory Programming Methods Using Structure Editing: Some Empirical Results.," Proceedings of NECC'89, National Educational Computing Conference, Boston, 1989.
[7]
Goldenson, D., "The Impact of Structure Editing on Introductory Computer Science Education: The Results So Far," acm/SIGCSE Bulletin, 1989.
[8]
Goldenson, D. "Learning to Program with Structure Editing: An Update and Some Replications," Proceedings of NECC'90, National Educational Computing Conference, Nashville, 1990.
[9]
Goldenson, D. and B. Wang, "Use of Structure Editing Tools by Novice Programmers," Proceedings of the Fourth Workshop on Empirical Studies of Programmers, New Brunswick, NJ, December 1991.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGCHI Bulletin
ACM SIGCHI Bulletin  Volume 24, Issue 2
April 1992
67 pages
ISSN:0736-6906
DOI:10.1145/142386
Issue’s Table of Contents
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 April 1992
Published in SIGCHI Volume 24, Issue 2

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 171
    Total Downloads
  • Downloads (Last 12 months)32
  • Downloads (Last 6 weeks)5
Reflects downloads up to 10 Feb 2025

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media