A formal approach to the teaching of programming language concepts

  • Authors:
  • Andrew Kitchen

  • Affiliations:
  • Department of Computer Science, Rochester Institute of Technology, Rochester, NY

  • Venue:
  • ACM SIGPLAN Notices
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

While the power of formal semantics is well recognized, it is not usually considered a teaching tool. This paper describes the use of denotational semantics in a course on programming language design for beginning graduate students. The course introduces the semantic and implementation issues underlying such concepts as naming, block structure, scope rules, parameter passing, flow control, and exception handling. The approach taken is to specify the semantics of these mechanisms, using a simplified form of denotational semantics, and use these descriptions as the basis for discussion. Implementations are developed from the specifications, and are available to students for experimentation.