Cereal Box Home Page

Fun with Probability!

The Probable Pen in the Cereal Box

Technical Abstract

This document summarizes the technical aspects of the Fun with Probability! project. It is presented in two parts. Part I describes the final makeup of technologies and how the site was managed on a daily basis. Part II describes the steps necessary to update the web site every night. Part III discusses some of the other technologies which were used during the development of the project.

Part I - Technology Makeup of the Probable Pen in the Cereal Box Project

The following technology tools were used on this project:

Apple Macintosh Web Server (WebStar)- Provided by the College of Education at the University of Illinois, this server acted as host for all project activity. This is where participants came to get teaching materials, submit results, an see the project results. The site was updated every weekday during the 3 week run of the project.

Netscape Navigator Gold - This web browser is also an HTML file editor. It allowed the project coordinator to preview documents prior to posting to the web site. Documents were stored locally on a portable computer, and transferred via the FTP protocol to the web server. Netscape Navigator Gold supports the FTP transfer protocol natively.

Programmer's File Editor - One limitation of Netscape Navigator Gold is that it does not allow the editing of HTML tables and forms. Therefore, the Programmer's File Editor was used as a text editor to make detailed changes to the web documents. It was also useful for cutting and pasting participant comments because they were usually too large for Microsoft Excel to handle.

Microsoft Excel for Windows 95, Version 7.0 - In order to manipulate and graph the large number of values received from the participants (more than 25,000 data elements were received over the course of the project), a spreadsheet was required. Microsoft Excel was the ideal vehicle, because it provided two major functions. The first was iterative functions. This provided a way to calculate histogram values for graphing purposes. For example, of the 20,000 result data values, how many equaled six? seven? etc... The data sheet looked something like this:

TeacherStud 1Stud 2Stud 3Stud 4Stud 5Stud 6
Smith6101412117
Jones8111110
Harris99

Note that each teacher could have a different number of students. The challenge was to count the number of occurrences of each value, regardless of its location in the data table. The resulting table looked like:

# Rolls6 Rolls7 Rolls8 Rolls9 Rolls10 Rolls11 Rolls12 Rolls13 Rolls14 Rolls
# Students111223101

This had to be accomplished without knowing: a) Number of teachers b) Number of students per teacher, and c) Maximum number of rolls (it ended up being 95)

Microsoft Excel supports this capability by using an iterative formula that evaluates a function over a range of cells. Combined with the IF() function, this provided the required histogram.

The second function which Microsoft Excel performed admirably was generating 3-dimensional graphs. This provided a colorful way of presenting the data which was both communicative and interesting to look at. The students ended up loving the graphs.

Finally, Excel has a function called pivot tables which allowed for cross-tabulation type graphs to be created. This was used to show the registration distribution as a cross-section of grade level and region.

An example of the spreadsheet, in PKZip format can be downloaded. All names and e-mail addresses of participants have been altered. If you have a Macintosh, you may want to get a copy of ZipIt. It is a Macintosh application which can unzip PKZip files.

Paint Shop Pro - This paint program supports a variety of graphic formats, including the Internet-standard interlaced GIF format (89A). As graphs were generated in Excel, they were copied to the Windows clipboard and pasted into Paint Shop Pro as a new graphic.

AppleScript - In order to receive results on the web server, a program had to be written that ran on the server. When a participant submitted their results, the web server started this program for processing. This program is called a CGI (Common Gateway Interface) program. The programming environment supported on the Education web server is AppleScript. AppleScript is a procedural language with extensions to support the world wide web form submissions. For this project, a simple CGI program wrote all of the submitted data out to a text file.

This text file had one line in it for each set of results. Each line looked like this:

name<tab>Mike Cornell<tab>School<tab>U of I<tab>Student 1<tab>12 etc...

Each line was about 300-500 characters long, depending on the amount of data submitted. Each data value was separated by a <tab> character. The first data value was the name of the first field entered by the teacher, the second data value was what the teacher actually typed in. This repeated until each value was represented. The form which this teacher created might have looked like this:

Field Value
Name:Mike Cornell
School:U of I
Student 1:12
Student 2:10

Part II - Daily web site maintenance tasks

To update the web site each weeknight, the project coordinator performed the following steps:

  1. Download the most recent results file (the file created by the CGI program above)
  2. Import the results file into Microsoft Excel
  3. Evaluate the data for improper or duplicate submissions
  4. Transform the data into the proper data format
  5. Manually enter data which came in via e-mail (either from participants who had no web access or had problems submitting via the web)
  6. Re-calculate the spreadsheet (this automatically updated the graphs too)
  7. For each graph:
    1. Copy the graph to the Windows clipboard
    2. Paste the graph into Paint Shop Pro
    3. Convert the picture in Paint Shop Pro to 16 colors (this reduced the file size)
    4. Save the picture as an interlaced GIF file
  8. Save the previous results page as a historical results page
  9. Update the historical index page to reflect the new history page
  10. Update the results page to include the new graphics, plus coordinator comments
  11. Export the participants list from Excel into a text file
  12. Merge the participants list into a participants web page
  13. Update the project home page to reflect the most recent update and add coordinator comments

In addition, from 2-10 e-mails arrived daily with questions, results and problems. Updating the web site and responding to e-mails required approximately 45-90 minutes per day during the project lifetime.

Part III - Other technologies used

Lotus Notes and InterNotes - When the project was in the early creation stage, Lotus Notes was used as a data repository for all results. Lotus Notes is a groupware product which has Internet web connectivity via another Lotus product, InterNotes. While the technology worked fine, many early participants had problems connecting to the server which was running Notes and InterNotes. Ironically, these participants were all located on the west coast.

After numerous attempts to solve the connectivity problems, the project coordinator decided to move the data repository off of Notes and back onto the Education web server which was hosting the rest of the data. The logical assumption was that by consolidating all network activity on a single server (rather than bouncing to another server, in this case the Notes server) the connectivity problems would decrease. Indeed, this seemed to do the trick.

Microsoft FrontPage - This is another HTML editor which is, in fact, superior to Netscape Gold. Unfortunately, a copy was obtained too late to manage the site with it. It was however, used to create the final report.

Return to Probable Pen Project Home Page