skip to main content
10.1145/2157136.2157159acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

How a language-based GUI generator can influence the teaching of object-oriented programming

Published:29 February 2012Publication History

ABSTRACT

A language-based direct-manipulation user-interface generator automatically creates a visualization of an object directly from its class, allows users to edit the visualization, and invokes methods in the object in response to these edits. Such a generator can change, and we argue, improve the lectures and assignments on programming conventions, methods, state, constructors, preconditions, MVC, polymorphism, graphics, structured objects, loops, concurrency, and annotations. We have built such a generator, which has several novel features for teaching such as interactive instantiation of a class, interactive invocation of methods and constructors that take arbitrary arguments, visualization of objects representing records, sequences, table and graphics, use of preconditions to disable/enable user-interface elements, and automatic generation of model threads. We have been working on and using such a generator for teaching CS 1 and CS 2 for about a decade.

References

  1. Barnes, D.J. and M. Kölling, Objects First with Java: A Practical Introduction Using BlueJ. 2008: Prentice Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Shneiderman, B., Direct Manipulation: A Step Beyond Programming Languages. IEEE Computer, Aug 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Dewan, P. and M. Solomon, An Approach to Support Automatic Generation of User Interfaces. ACM TOPLAS October 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Nichols, J., et al. Huddle: Automatically Generating Interfaces for Systems of Multiple Connected Appliances. in Proc. UIST, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Engelson, V., D. Fritzon, and P. Fritzon. Automatic Generation of User Interfaces from Data Structure Specification and Object-Oriented Models. in ECOOP '96. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. How a language-based GUI generator can influence the teaching of object-oriented programming

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      SIGCSE '12: Proceedings of the 43rd ACM technical symposium on Computer Science Education
      February 2012
      734 pages
      ISBN:9781450310987
      DOI:10.1145/2157136

      Copyright © 2012 ACM

      Permission to make digital or hard copies of all or part 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 components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 29 February 2012

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      SIGCSE '12 Paper Acceptance Rate100of289submissions,35%Overall Acceptance Rate1,595of4,542submissions,35%

      Upcoming Conference

      SIGCSE Virtual 2024
      SIGCSE Virtual 2024: ACM Virtual Global Computing Education Conference
      November 30 - December 1, 2024
      Virtual Event , USA

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader