A complete copy of this site can be obtained by downloading and unzipping the following file:
When the pongLab.zip file is unzipped, a directory named pongLab will be created. The contents of the pongLab directory and each of its sub-directories are discussed below.
pongLab directory
The pongLab directory contains the following materials:
index.html
pong.png
faculty
faculty directory are discussed in detail below.
student
student directory are discussed in detail below.
student directory
The student directory contains a copy of the Pong Lab assignment exactly as it was distributed to students at Dickinson College in the Spring 2003 semester. This directory includes the web page describing the assignment, the class files for the Pong application and the java documentation for the classes to be implemented by the students. More specifically the student directory contains the following materials:
pongLab.html
student directory was placed on the web server and a link to the pongLab.html file was provided to the students.
pong.png
PongBallClassDiag.png
PongScoreClassDiag.png
PongPaddleClassDiag.png
PongBall.html
PongScore.html
PongPaddle.html
stylesheet.css
Pong.class
Pong$1.class
PongBallTimer.class
PongCanvas.class
PongBall.class
PongScore.class
PongPaddle.class
These files should not be edited directly when adapting the Pong Lab for use at other institutions. The preferred process for adapting the Pong Lab is described below.
faculty directory
The faculty directory contains a complete working version of the Pong application, with source code, and a number of additional resources to facilitate the adaptation of the Pong lab for use at other institutions. More specifically, the faculty directory contains the following materials:
faculty.html
Pong.java
PongBallTimer.java
PongCanvas.java
Pong.class
Pong$1.class
PongBallTimer.class
PongCanvas.class
Pong class will run a complete working version of the Pong application.
PongBall.java & PongBall.class
PongScore.java & PongBall.class
PongPaddle.java & PongPaddle.class
PongBallTest.java & PongBallTest.class
PongScoreTest.java & PongScoreTest.class
PongPaddleTest.java & PongPaddleTest.class
PongBallTest will create a number of PongBall objects and use them test each of the methods in the PongBall class. These test programs can be used to evaluate the correctness of the student implementations.
The remaining materials in the faculty directory have been included to facilitate the adaptation of the Pong lab for use at other institutions. The typical process for making changes to the Pong Lab is to edit the files contained in the faculty directory or its sub-directories and then execute a script which deletes and recreates the student directory. The new student directory, which incorporates the changes, can then be made available to students. Details on how to adapt the Pong Lab are provided below.
pongLab.html):
labFiles sub-directory of the faculty directory contains all of the materials necessary to change the lab assignment web page. The labFiles directory contains a copy of the pongLab.html file. This directory also contains the source files for the class diagrams which appear in the assignment web page. To change the text of the assignment, edit or replace the contents of the pongLab.html file. The class diagrams may be edited using the xfig graphics program. The edited class diagrams should be exported to png format. When all edits have been completed, executing the makeStudent script (see below) will create a new student directory containing the edited assignment.
PongBall.java, PongScore.java and PongPaddle.java files contained in the faculty directory. To modify the Java documenation seen by the students, edit the JavaDoc comments in these files and follow the directions in the section on distributing your changes to the Pong lab (see below).
Pong.java, PongCanvas.java and the PongBallTimer.java files in the faculty directory. The behavior of the Pong application can be changed by editing the code contained in these files. To update the application that is distributed to the students, edit these files and follow the directions in the section on distributing your changes to the Pong lab (see below).
PongBall, PongScore and PongPaddle classes are contained in the stubSoln sub-directory of the faculty directory. To change the stub files that are distributed to the students, edit the files in this directory and follow the directions in the section on distributing your changes to the Pong lab (see below).
student directory to reflect the changes. To update the student execute the makeStudent script contained in the faculty directory. (Note: The makeStudent script is a unix shell script. A windows version is not provided, though creation of one should be a straight forward process.) The execution of this script deletes the existing student directory and creates a new one which reflects any changes that have been made to the materials in the faculty directory. To distribute the Pong Lab to the students, make the new student directory avaialble on-line and provide the students with a link to the pongLab.html file.