CSE 341 -- Assignment 6 -- Object-Oriented Programming Report

November 6, 1995
Due in quiz sections November 16, 1995

The purpose of this assignment is to gain experience in technical writing on a topic in computer science and engineering, and to ask you to reflect on how well object-oriented programming and Smalltalk worked for the pinball game assignment.

Suppose that you are a new employee of Amalgamated Consolidated Incorporated. ACI is beginning to explore the use of Smalltalk and object-oriented programming in its Consumer Market Real Time Interactive Controls Division (also known as the video games department). It recently assigned a crack team of new hires to build a pinball game simulation in Smalltalk. The upper management has now requested a report on the project.

Write such a report. Your report should cover two topics: first, an evaluation of the ease of learning, power, and appropriateness of Smalltalk for this task; and second, a discussion of how well the object-oriented paradigm applied to this task. In your discussion of applying the object-oriented paradigm, describe in particular how you structured your pinball game in terms of classes and objects, what alternatives you considered, why you made the choices you did, and how you might do it differently if you were to write a new version.

As with the Smalltalk project itself, you may work by yourself, or in groups of two or three. The group for the paper doesn't have to be the same as the project group. (This may be important for groups with members who are no longer speaking with each other.) Actually, you are encouraged to form a new group for writing the paper -- then your paper can compare the experiences of the two groups, and in particular can compare how the two programs were structured.

The paper should be 2 to 10 pages long. A well-structured paper, with clear, coherent writing, is expected. However, I don't have a particular preconception of what you should say -- in particular, it is fine if your paper says that Smalltalk was rotten for this task, object-oriented programming was a loss, and you would write it all in C the next time -- as long as you make this case clearly and carefully.