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.