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

  • Authors:
  • Prasun Dewan

  • Affiliations:
  • University of North Carolina, Chapel Hill, NC, USA

  • Venue:
  • Proceedings of the 43rd ACM technical symposium on Computer Science Education
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

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.