SIGCSE2000/Toolkits

Richard Rasala, Toolkits In First Year Computer Science: A Pedagogical Imperative, SIGCSE Bulletin, 32(1), 2000, 185-191.
MS-Word version ..... PDF version ..... Slides from the Talk

Abstract The fundamental thesis of this article is that teaching students in the framework of powerful toolkits is essential to maintain student interest and is pedagogically important precisely because toolkits are a rich source of examples that illustrate the principles of computation. This article predates the development of the Java Power Tools but expresses forcefully the rationale for toolkits that was the guiding principle behind the creation of the JPT.


CCSCNE2000/Traffic

Viera K. Proulx, Jeff Raab, and Richard Rasala, Traffic Light: A Pedagogical Exploration Through a Design Space, J. Computing in Small Colleges, 15(5), 2000, 25-31.
MS-Word version ..... PDF version ..... Slides from the Talk

Abstract This article presents the representation of a traffic light as an example of an object that exhibits a rich behavior set and serves as a case study for a number of interesting design issues. It focuses on the implementation of the internal state and corresponding control information of the traffic light, and discusses how various important kinds of behavior can be added to this extensible design. The JPT is used to implement the graphical user interface.


ITiCSE2000/PPT

Jeff Raab, Richard Rasala, and Viera K. Proulx, Pedagogical Power Tools for Teaching Java, SIGCSE Bulletin, 32(3), 2000, 156-159.
MS-Word version ..... PDF version

Abstract This article is the first in depth description of the Java toolkit that is now called the Java Power Tools. This toolkit is designed to support the creation of powerful and extensible GUI interfaces during the first year computer science course. The basic ideas of Stringable and Displayable that expedite model-view communication are introduced here.


SIGCSE2001/JPT

Richard Rasala, Jeff Raab, and Viera K. Proulx, Java Power Tools: Model Software for Teaching Object-Oriented Design, SIGCSE Bulletin, 33(1), 2001, 297-301.
MS-Word version ..... PDF version ..... Slides from the Talk

Abstract The Java Power Tools or JPT is a Java toolkit designed to enable students to rapidly develop graphical user interfaces in freshman computer science programming projects. Because it is simple to create GUIs using JPT, students can focus on the more fundamental issues of computer science rather than on widget management. In this article, we will focus on how the JPT itself can be used as an extended case study of object-oriented design principles in a more advanced course.


HCI2001/Foundation

Viera K. Proulx, Richard Rasala, and Jeff Raab, Java Power Tools: A Foundation for Interactive HCI Exploration, Invited paper for a special session at the HCI 2001 Conference, New Orleans, LA, August 2001.
MS-Word version ..... PDF version ..... Slides from the Talk ..... JPT Snapshots

Abstract In this paper we first discuss the key issues in GUI programming and identify abstractions that represent the basic GUI program building blocks. We then describe how the Java Power Tools (JPT) allow the GUI programmer to work at this higher level of abstraction. We present several examples of simple GUIs designed with the JPT, to illustrate the use of JPT idioms. Finally, we discuss the implications of using the JPT in computer science courses in three different contexts: a tool for creating programs with GUIs, a model of object oriented design and patterns, and as a tool for building interactive simulations of computer science concepts.


SIGCSE2002/Maze

Richard Rasala, Jeff Raab, and Viera K. Proulx, The SIGCSE 2001 Maze Demonstration Program, SIGCSE Bulletin, 34(1), 287-291.
MS-Word version ..... PDF version ..... Slides from the Talk

Abstract This article will describe the SIGCSE 2001 Maze Demo program that may be used as a CS2 laboratory exercise on traversal algorithms. The article will also describe the object-oriented design of the program and the Java Power Tools that were used to enable rapid development of its graphical user interface. Finally, the quality of the program and the speed of its development shows that it is now practical to teach freshmen using full graphical user interfaces rather than interfaces that use the console or a small restricted set of interface widgets.


SIGCSE2002/Automata

Jennifer McDonald, Interactive Pushdown Automata Animation, SIGCSE Bulletin, 34(1), 376-380.
MS-Word version ..... PDF version ..... Slides from the Talk

Abstract This paper will present the Interactive Pushdown Automata Animation for use in an Automata Theory class. It will present the features of the IPAA as well as the algorithm and data model used. Finally, this article will outline the necessary pieces of a good visual tool and show how they are implemented in the IPAA.


CCSCNE2002/PSF

Viera K. Proulx, Richard Rasala, and Jason Jay Rodrigues, Simple Problem Solving in Java: A Problem Set Framework, [to appear in CCSC-NE 2002 in April 2002: J. Computing in Small Colleges].
MS-Word version ..... PDF version ..... Slides from the Talk

Abstract We present an application that allows for easy creation of simple problem solving exercises in Java, providing robust and safe I/O as well as a basic graphics window. We discuss possible uses for unit testing of classes and explore how the design of this application can be a case study in an object oriented design course.


ITiCSE/GUI

Viera K. Proulx, Jeff Raab, and Richard Rasala, Objects From the Beginning - With GUIs, [to appear in ITiCSE 2002 in June 2002].
MS-Word version ..... PDF version

Abstract We describe a way to introduce objects at the beginning of the first CS course through the use of objects that have significant nontrivial behavior and interactions with other objects. We will describe four introductory laboratory projects and an outline for introductory lectures on object oriented programming that illustrate the need for private member data, constructors and accessor member functions, and prepare students for writing object oriented programs in Java with graphical user interfaces.