Entry Carlisle:1999:GF 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{Carlisle:1999:GF,
  author =       "Martin C. Carlisle",
  title =        "Graphics for free",
  journal =      j-SIGCSE,
  volume =       "31",
  number =       "2",
  pages =        "65--68",
  month =        jun,
  year =         "1999",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/571535.571572",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:38 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/sigcse1990.bib",
  abstract =     "Students find computer graphics one of the most
                 interesting topics in computer science. Unfortunately,
                 writing programs with graphics requires understanding
                 concepts that are usually beyond the scope of an
                 introductory computer science course. For example, in
                 Windows 95, a program that uses graphics must have an
                 event loop that dispatches messages to the appropriate
                 handler. Event loops, messages, and handlers are well
                 beyond the grasp of someone just learning about
                 variables! Consequently, programming assignments for
                 introductory courses tend to use no graphics, or simple
                 ANSI graphics (see, e.g., Feldman and Koffman [1]).
                 These programs compare unfavorably to the graphics of
                 games most students are accustomed to using, and
                 motivation to program in an introductory course may be
                 lost. Ideally, we would like to be able to have
                 students write programs that have more appealing
                 interfaces, yet do not require a large amount of
                 additional conceptual complexity. In fact, the best
                 case would be to have the student write a program as if
                 it were a simple text-based program, and have the
                 compiler automatically add a graphical interface.
                 Languages that provide overloading, such as Ada 95,
                 allow us to accomplish precisely that. This paper
                 describes a library, Graphics\_110 (named in honor of
                 our introductory course, CS 110), which, using
                 overloading, replaces the standard I/O libraries in Ada
                 95 (Ada. Text\_IO, Ada. Float\_Text\_IO, and Ada.
                 Integer\_Tex\_IO). By following a simple contract and
                 replacing calls to the standard libraries with calls to
                 Graphics\_110, the student obtains a program with a
                 Windows-style interface without ever having to worry
                 about the implementation details. Although we use Ada
                 95 for this paper, the ideas extend to any programming
                 language that provides subtypes and overloading. The
                 next section describes the ``contract'' the programmer
                 must follow to use the library and the third section
                 describes the implementation of Graphics\_110. In each
                 section, we describe how we used Graphics\_110 with a
                 battleship game implemented in our introductory course.
                 The final section presents conclusions and ideas for
                 future work.",
  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