A Bit of History: Write your own Gradebook Program in 15 minutes

Feb 11
09:30

2009

Scott McDonald

Scott McDonald

  • Share this article on Facebook
  • Share this article on Twitter
  • Share this article on Linkedin

A look back at the state of gradebook programs in the early 1980's. Gradebook programs today are far removed from the do-it-yourself programs written in BASIC for the early personal computers. Here you can examine a piece of history by trying an old gradebook program from over 20 years ago.

mediaimage
The continual progress being made with technology means it can be easy to forget how much a task previously done manually by teachers,A Bit of History: Write your own Gradebook Program in 15 minutes Articles such as grading students, has become easier with the introduction of the personal computer. In this article we look at one simple grading program from over 20 years ago, and discover first hand how primitive a gradebook program could be back then.

Back in time

Before personal computers were commonplace, teachers needing to add and grade student results used a paper-based grade book and pocket calculator. Adding columns of marks to calculate a final total was tedious and error-prone. And before the electronic calculator was invented all the mathematical operations needed to be done by hand. Doing this for a class full of students would take a significant amount of time and even when taking great care mistakes could still occur.

Even with an electronic calculator the concentration required to ensure accurate typing in of the student results made it hard work. Of course, using an electronic calculator was a great improvement over manual methods, but still tiresome. Then with the introduction of the personal computer, teachers could finally automate the task of grading their students. A spreadsheet program was an obvious tool to use for recording and working with student results and in one sense is ideally suited. After all, spreadsheets are intended for the convenient storing and manipulation of numerical data.

Using a spreadsheet

While a spreadsheet can do almost any mathematical operation, the setting up of the cells with formulae is not always straightforward or easy to do. Maintaining a spreadsheet can still be error-prone and depending on the type of calculations needed for your grades, a spreadsheet may not be well suited to the task. Once you are confident with a spreadsheet and know the different functions available there is a high level of flexibility but there are ways of grading that are even easier than a spreadsheet.

With the introduction of the personal computer (PC) in the late 70's and its more widespread use in the early 80's, the linking of computers and education meant a teacher using a personal computer for keeping grades was a natural fit. That does not mean that computers weren't used in school administration before the personal computer was invented, but before then the management and operation of data-processing was handled by data professionals and teachers would normally not have daily access to a computer for their own purposes.

An example of a teacher resource that includes programs for grading students is the book "Apples for teachers: 101 programs to the classroom" by Jim McCrae. This was published in 1985 and as the back cover states "An unbeatable source of time - and effort-saving program is the use of the Apple II+, IIe, and IIc." and "Manage your classroom more efficiently - from grade averaging and alphabetizing student name lists to an appointment calendar, assignment log, skills checklist, random students selector, student data program, a resource list, and library helper."

All the programs in this book are in the BASIC programming language and it was claimed that they could be adapted to almost any microcomputer, as personal computers were then commonly called. While the book was intended to make simple some of the repetitious and time-consuming tasks of teaching, having to actually type the program listings into your PC - hopefully without making any mistakes - would have been far from easy. This was at a time before books came with a CDROM in an envelope glued inside the back cover, and before book publishers had websites to allow the easy downloading of code.

Make your own gradebook

Below is a program based on an original one by McCrae called "Grade Recording and Averaging" that has been translated to "Yabasic" which is a free BASIC system that runs under MS Windows, Linux and Unix. You can find Yabasic here: http://www.yabasic.de/

As far as possible the code has been kept the same, but some changes have been necessary to get it working. For example, with the PRINT statements the original code used a TAB keyword to align the columns of numbers, but this is not available in Yabasic and so no attempt has been made to tidy up the format of the numbers on screen.

The code is presented here as a piece of history. It has been tested and does work if you want to try it - and take a step back in time. You may even be able to enter it in under 15 minutes.

10 DIM T(20),G(20),GX(50,20),AV(50),N$(50)
20 CLEAR SCREEN
40 PRINT "**GRADE RECORDING AND AVERAGING**"
50 PRINT
60 PRINT "OPTIONS:"
70 PRINT
80 PRINT "1. ALL STUDENTS AND GRADES"
90 PRINT "2. INDIVIDUAL STUDENTS AND GRADES"
100 PRINT
110 PRINT "(PRESS NUMBER FOR REQUIRED ACTION)"
120 OP$ = INKEY$
130 IF OP$ = "2" INPUT "WHICH STUDENT ? " EN$
140 J = J + 1
150 T = 0
160 T(J) = 0
170 TG = 0
180 READ N$(J)
190 IF N$(J) = "LAST" GOTO 280
200 T = T + 1
210 T(J) = T(J) + 1
220 READ G(T)
230 IF G(T) = 999 GOTO 140
240 GX(J,T) = G(T)
250 TG = TG + G(T)
260 AV(J) = INT((TG / T) * 10 + 0.5) / 10
270 GOTO 200
280 CLEAR SCREEN
290 PRINT "NAME GRADES AVERAGE"
300 PRINT "---- ------ -------"
310 FOR K = 1 TO J - 1
320 IF OP$ = "1" GOTO 350
330 IF EN$ = N$(K) GOTO 350
340 GOTO 400
350 PRINT N$(K),": ";
360 FOR L = 1 TO T(K) - 1
370 PRINT GX(K,L)," ";
380 NEXT L
390 PRINT "  AVERAGE = ",AV(K)
400 NEXT K
500 DATA "JIM",94,93,99,87,999
510 DATA "MONA",100,97,99,77,999
520 DATA "JERRY",67,34,73,20,999
1000 DATA "LAST"
1010 END

In this program the idea is that you enter the names of the students from your class in the DATA statements starting from line 500 onwards. Each data line has the student name followed by her results. To indicate that there are no more results for a student the last number of the line must be 999.

A limitation of the program is that there can only be up to 50 students with a maximum of 20 results each. Back when this program was developed the memory available on a PC was limited and so limits such as these were necessary to make sure the program had room to run. Now these limits could be relaxed by increasing the sizes specified in the first line of the program.

When you run a program like this, you quickly appreciate how much more advanced software has become. Especially with respect to the user interface there has been - thankfully - significant progress. While this program was intentionally simple to make it easy for teachers to enter on their own PC, it is still an interesting example of how programs often operated before the widespread introduction of the mouse and modern menu systems.

Grading today

Now teachers no longer need to use programs they write themselves or set up a spreadsheet to assist with grading students, but instead they can use one of the many gradebook programs now available. Gradebook programs have the advantage of being a teacher tool designed specifically to assist in grading students. This means the complexity, for example, of setting up and maintaining a spreadsheet is eliminated.

Instead teachers can enter student raw scores and relatively quickly work with those results to calculate final marks and grades. The Gradebook Program is one example of a modern gradebook and it can be interesting to compare it with the listing above and ponder the difference 20 years makes with computers and software.

References:
Apples for teachers: 101 programs to the classroom by Jim McCrae, 1985, Tab Books Inc.