Entry Pattis:1994:TEF from sigcse1990.bib

Last update: Wed Sep 26 02:07:32 MDT 2018                Valid HTML 4.0!

Index sections

Top | Symbols | Numbers | Math | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

BibTeX entry

@Article{Pattis:1994:TEF,
  author =       "Richard E. Pattis",
  title =        "Teaching {EBNF} first in {CS 1}",
  journal =      j-SIGCSE,
  volume =       "26",
  number =       "1",
  pages =        "300--303",
  month =        mar,
  year =         "1994",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/191033.191155",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 18:57:24 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/sigcse1990.bib",
  abstract =     "This paper is a guided tour through the first day of a
                 CS 1 course. It discusses teaching Extended Backus-Naur
                 Form (EBNF) as the first topic-not to facilitate
                 presenting the syntax of a programming language, but
                 because EBNF is a microcosm of programming. With no
                 prerequisites, students are introduced to a variety of
                 fundamental concepts in programming: formal systems,
                 abstraction, control structures, equivalence of
                 descriptions, the difference between syntax and
                 semantics, and the relative power of recursion versus
                 iteration. As a non-numeric formal system, EBNF
                 provides a small but concrete context in which to study
                 all these topics. EBNF descriptions include abstraction
                 (named rules) and the four fundamental control
                 structures (sequence, decision, repetition, and
                 recursion). Because there are no data or parameters in
                 EBNF, it is easy to sidestep tricky issues surrounding
                 variables, scope, assignment statements, and parameter
                 modes. Describing entitles in EBNF is similar to
                 describing computations in a programming language.
                 Students learn to read a description and analyze
                 whether it generates/matches candidate symbols; then
                 they learn to synthesize descriptions from English
                 specifications, augmented by legal and illegal
                 exemplars of symbols. All these concepts can be covered
                 in one lecture, establishing a high level of formality
                 early in the course, while foreshadowing actual
                 programming language features and techniques to be
                 covered later. Of course, learning EBNF also
                 facilitates presenting the syntax of a programming
                 language concisely during the rest of the course.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

Related entries