Previous       Table of Contents       Next

LGP-30

When I came to the University of Alberta in 1963 the Computing Centre was operating an IBM 1620 on a closed-shop basis with users submitting their programs and data on decks of punched cards which were processed by Computing Centre staff. The 1620 had been purchased in 1961 as a replacement for the LGP-30 which continued to be used until the middle of 1963. Even though I never used the LGP-30, I would like to make some remarks about it here.

When the University of Alberta acquired the LGP-30 in October 1957, it became the third university in Canada, after Toronto and British Columbia, to have a computer. The LGP-30 was purchased from the Royal McBee Corporation of Port Chester, New York at a price of $40,000. It was installed in the Department of Physics in the basement of the Arts Building but was later moved to the Arts Building Annex, a small building immediately north and west of the Arts Building. Use of the computer was at first controlled by the Committee on Electronic Equipment chaired by Dr. Donald B. Scott of the Department of Physics. In 1960 it became the responsibility of the newly formed Computing Centre with Don Scott as Director. The picture shows Ursula Maydell standing with the LGP-30 which was displayed during the Department's 25th Anniversary celebrations in October, 1993.

The LGP-30 system consisted of the LGP-30 with a Flexowriter console, a photoelectric paper tape reader and a mechanical paper tape punch, and an additional Flexowriter for the preparation of program and data tapes. The main computer weighed 800 pounds, occupied 22 cubic feet, and required a floor area of eight square feet. Storage consisted of a magnetic drum with a capacity of 4096 thirty-two-bit words. The clock speed was 120 kilocycles giving addition and multiplication times of 8.75 and 24 milliseconds, respectively. The internal operation was binary; conversion between number systems on input and output had to be explicitly provided by the programmer. Arithmetic opertions were in fixed-point. The order code consisted of sixteen one-address instructions.

A number of manuals were provided with the system: a fifty-six page programming manual, programming class notes, a subroutine manual, and an operations manual. All of these were typescripts except the last which was printed. The programming manual was written in understandable but somewhat unpolished prose. The introductory paragraph, entitled "What is programming", contained the following statement, undoubtedly questioned by many (if not all!) users: "Programming the Royal Precision LGP-30 is basically simple. Understanding certain problems requires certain knowledge, however programming for the LGP-30 does not".

The logical design of the LGP-30 is described concisely in Computer Structures: Readings and Examples. A very interesting LGP-30 website is maintained by Ed Thelen in association with the Computer Museum History Center.

The Computing Centre was run on an open-shop basis with the users doing their own programming assisted by a number of students, both undergraduate and graduate, who worked full-time during the summer and part-time during the academic year. Two of these students were Bill Adams and Ursula Maydell who later became faculty members in the Department.

Early in 1960 Bill Adams gave a course consisting of twelve two-hour evening lectures for the Department of Extension on programming the LGP-30. This was possibly the first programming course given at the University of Alberta. The first example given in the course was to find the area of the annular ring between two concentric circles of radii R and r. The LGP-30 program is the following:

	
	Loc.    Instr.    Comments
	0000    B 0010    R to Acc
	0001    A 0011    Add r to Acc
	0002    C 0012    Store R+r and clear Acc
	0003    B 0010    R to Acc
	0004    S 0011    Subtract r from Acc to give R-r
	0005    M 0012    Multiply R-r by R+r
	0006    M 0009    Multiply by Pi to give Area
	0007    C 0012    Store Area 
	0008    Z 0000    Halt
	0009              Pi  { Storage of       }
	0010              R   {   data as        } 
	0011              r   {   binary numbers } 
 	0012                  { Working storage  }  
The above code does not represent the complete program as it lacks the commands for entering the values of Pi and the two radii and converting them to binary and the commands for printing the desired area as a decimal number.

ACT I, for "Algebraic Compiler and Translator", was a compiler for the LGP-30 which was intended to "facilitate the coding of problems through the use of common mathematical terminology, bearing in mind some basic rules of elementary algebra". The manual was a carefully written typescript of 18 pages. It is a somewhat curious document when read some forty years after it was written but it is an excellent example of early attempts to design and implement a language based on algebra that would simply the programming task. It even addressed the question of efficiency of the compiled program for we read the following on Page 1:

The result of the "source" program will be an efficient machine language LGP-30 program known as the "object" program. In many cases this resulting "object" program will be as short and fast as a hand prepared program - in some cases shorter.
Possibly too much was expected of the ACT I language for we read on the same page that
It seems a safe assumption that the programmer will occasionally make an error in logic and/or error in transcribing his problem into "source" language.

The ACT I program for the sample problem, which has not been debugged of course, is shown here.

        0 : n
	0 : sum
	0 : max
	s1 read price
	when price grt 0 trn s2
	use s3
	s2 n : n + 1
	sum : sum + price
	when max grt price trn s1
	max : price
	use s1
	s3 0 print n
	2 print sum
	2 print max
	stop
LGP-30 ACT I
It should be intelligible without any comments. However, we might mention one feature of the ACT I language arising from the LGP-30 not distinguishing between upper and lower case characters. Examples given in the manual state that ":" is the same as ";", "?" is the same as "/", "[" is the same as ",", and "]" is the same as ".", Therefore an expression which would be written as "a/(b+c)" in most languages would be written normally in ACT I as "a/[b+c]" but could be written in many other forms with "a?,b=c." being only one. The manual states as a general consequence of this substitution "[T]he programmer may use the character which is easier or more appealing to him".

Two of the early uses of the LGP-30 at the University of Alberta were for theoretical physics calculations in the Department of Physics and for the analysis of fertilizer trials in the Department of Soil Science. Other departments using the computer were Animal Science, Chemical Engineering, Chemistry, Educational Psychology, Electrical Engineering, Geology, Mathematics, Physiology, Plant Science, Political Economy, and Psychology, as well as the Alberta Research Council. Use of the LGP-30 continued to increase in the late 1950s. An article appearing in The Edmonton Journal on November 22, 1960 said that the University's computer, which was referred to as a "30 computer", was being used twenty-four hours a day and seven days a week. The LGP-30 continued to be used after an IBM 1620 was installed in May 1961 and was finally shut down in the middle of 1963. It was eventually stored in the basement of the General Services Building. When the Department celebrated its 25th Anniversary in October 1993, it was put on display. A few years later I decided to have a look at it, and much to my horror discovered that it had been sent to the scrap heap, apparently without even the courtesy of consulting the Department. Fortunately within the last year we were able to find another one in Calgary. It is now safely in storage in the Department, and we hope to restore it to working condition.

The Arts Buiding Annex which housed the LGP-30 during most of its active life suffered a somewhat similar fate as it too has disappeared almost without a trace. The only picture of the building I have been able to find is from the 1947 Yearbook Evergreen and Gold and is shown here. A few remarks here might help to preserve at least the memory of this historic little building. It was built early in the Second World War for use by the Alberta Research Council for testing aviation gas. It was a two-story brick building approximately 18 feet by 40 feet, and cost according to the minutes of the Board of Governors $12,671.24 with an additional $3,987.17 for equipment. The window panes were scored to minimize damage from flying glass in case of an explosion. It was informally known as the "Gas Lab", and was used for testing purposes until the Alberta Research Council laboratories were built on the campus in 1954. The Annex was demolished in the summer of 1986. Fortunately Bill Adams noticed the demolition taking place and we were able to rescue a few bricks. A picture of one of them is shown here.


Previous       Table of Contents       Next