During my first semester in college, I casually signed up for a class in computer science. I had never even seen a computer before, and I didn’t really have much interest in them. It simply looked like a relatively easy class, and having a little knowledge about computers seemed like it might be useful in the future.
That first class was called BASIC 101. In it, I learned about the programming language called BASIC, which, at the time, was a relatively primitive, general purpose language. As part of the class, we were required to do nine hours of lab work on the school computer - a PDP-11/45.
This was a very primitive computer by today's standard. It had 128 Kbytes. Half of this memory was taken up by the operating system - RSTS/E. The machine had two disk drives (each with twenty megabytes of storage) which resembled washing machines more than anything else. This computer had twelve LA100 hardcopy terminals, two VT50 CRTs, one TexTronics graphics terminal and one ASR33 teletype. It also had one modem which was used to dial-in to a computer at the University of California in San Bernardino.
I’d never seen anything like this before. It was huge, it was beautiful. I fell in love with the thing almost immediately. From the first time I type in a program on a terminal, I felt like I’d finally found my calling. I found, completely by accident, my future.
I quickly began spending more and more time in the computer science lab. Before long I was spending every free moment in the lab, first to complete the assignments, then to work on extra credit projects, then to write programs for my own knowledge and amusement.
The following BASIC program is the first program that I ever wrote. It didn’t do anything spectacular - it just did some simple calculations and printed some numbers. Nonetheless, this program started me on a new path, and changed my life forever.
10 PRINT "PROGRAM #1"
20 PRINT "PAYROLL"
30 PRINT "PROGRAMMER RICHARD G. LOWE, JR."
40 PRINT
50 PRINT
60 PRINT "PAY", "HOURS", "GROSS", "WITHHOLDING", "NET PAY"
70 READ P,H
80 LET G=P*H
90 LET N=G-W
110 PRINT P,H,G,W,N
120 GOTO 70
900 DATA 2.25,40,3,41,2.97,35,3.1,49
999 END
The program below is one of my assignments from that first basic class. This assignment was from near the end of the semester. I believe I finished it in less than ten minutes, and it worked the first time I ran it. By this time, I was far ahead of the class, working on a new project on the computer. I’d discovered this computer could play games, and I was writing my own.
10 PRINT "EXTRA CREDIT PROGRAM"
20 PRINT "PROGRAMMER RICHARD G. LOWE, JR."
30 PRINT
40 PRINT
50 INPUT "TOTAL COST OF ITEMS"; N
60 INPUT "TOTAL AMOUNT RECEIVED FROM CUSTOMER"; O
120 LET N=O-N
130 LET N=N*100
140 LET A%-N/500
150 LET B%=(N/100)-(A%*5)
160 LET C%=(N/25)-(A%*20)-(B%*10)-(C%*2.5)
170 LET D%=(N/10)-(A%*50)-(B%*20)-(C%*5)-(D%*2)
180 LET E%=(N/5)-(A%*100)-(B%*20)-(C%*5)-(D%*2)
190 LET F%=N-(A%*500)-(B%*100)-(C%*25)-(D%*10)-(E%*5)
200 PRINT "# OF 5 DOLLAR BILLS:"; TAB(23); A%
210 PRINT "# OF 1 DOLLAR BILLS:"; TAB(23); B%
220 PRINT "# OF QUARTERS:"; TAB(23); C%
230 PRINT "# OF DIMES:"; TAB(23); D%
240 PRINT "# OF NICKLES:"; TAB(23); E%
250 PRINT "# OF PENNIES:"; TAB(23); F%
260 PRINT
265 LET N=N*.01
290 PRINT USING "TOTAL CHANGE DUE: $$##.##", N
Connect with me
Unless otherwise noted, all photos and text is Copyright © Richard G Lowe, Jr.