Laboratory Activities for Studying the Formal Semantics of Programming Languages Barry L. Kurtz Computer Science, Box 3CU New Mexico State University Las Cruces, NM 88003 505-646-3723 ABSTRACT The current thrust in undergraduate computer science education is to emphasize the laboratory nature of the discipline, but little has been done to introduce laboratories at the graduate level. Teaching techniques for the formal semantics of programming languages still rely on pencil and paper activities. For the last two years at New Mexico State University we have tried to enliven this approach by introducing some laboratory activities. We still cover the same topics: attribute grammars, two level grammars, denotational semantics, axiomatic semantics, and programming languages as metalanguages. The laborato~ activities are based on logic programming in Prolog, including definite clause grammars, the Synthesizer Generator development system, and functional programming in Lisp. Two mini-languages, Pam and Eva, are used for most lab activities; these languages come from the course text: Formal Specification of Programming Languages: A Panoramic Primer by Frank Pagan [1981]. The lab activities can be adapted to other mini-languages or to subsets of real languages. Most students reacted positively to practical applications of theoretical concepts; however, a minority of students
/lp/association-for-computing-machinery/laboratory-activities-for-studying-the-formal-semantics-of-programming-oBYzO2oDHi