Send
Close Add comments:
(status displays here)
Got it! This site "eahs1974.org" uses cookies. You consent to this by clicking on "Got it!" or by continuing to use this website. Note: This appears on each machine/browser from which this site is accessed.
BASIC programming at EAHS: 1973-1974
1. BASIC programming at EAHS: 1973-1974
I am adding content as I remember things. Check back later for more.
Here is how I started programming. The best way to get started is to take things that you are already doing, and write computer programs to do them. You should do the same. Spend a lot of time developing programs to do things that you are doing manually. That is what I did when I stared programming.
2. BASIC
In the November of 1973, while a senior at
EAHS (Elizabethtown Area High School), my trigonometry teacher, Mr. Kraemer (who would do a lot of push-ups) announced that if anyone wanted to use a computer, there was a Teletype connected via an acoustic phone modem to the Digital DEC-10 at Elizabethtown College, located less than a half-mile away.
There was also a cryptic manual that listed all of the available commands. I was interested, since I had remembered hearing about computers in grade school during the late 1960's and had thought, "That sounds very useful.".
So a few of us, SH, GN, MT (and perhaps a few more) started learning about it.
The closest I every came to a computer before then was when I found a manual on the ASCII character set and had sat down and figured out the scheme used to encode the punched cards that we used in school for course requests and scheduling.
During our "
Earth Day" events in 8th grade, I was most fascinated by the punched cards they used to tell us where to go and probably spent more time figuring out the apparent encoding for the punched cards than paying close attention to the class events we were attending.
Back to 12th grade, after learning how to get on the teletype, enter a program, run it, etc.,
I immediately started learning to program on my own, occasionally printing the programs and saving them on paper tape.
I started by programming things that I was already doing, such as trigonometry problems, physics problems, and music theory problems. Some of the programs that I wrote are described in the following sections.
3. Musical keys
I was in band, orchestra, etc., and taking the music theory course, so I was interested in music.
Program: Input a music key and one of the chords I, II, III, IV, V, VI, or VII (note: lower-case letters were not supported) and output that chord in that key. For example, if the key were "F" and the chord were "III", then the output would be "B D F#" as "MINOR TRIAD".
4. Complex numbers
Program: Input a complex number and square it and take the square root of it.
Program: Take an complex number of the form "a + b i" to the power "n".
5. Polynomials
Program: Determine all of the real and imaginary roots of polynomial.
Program: Plot a polynomial of any degree on an x-y grid.
6. Number theory
Program: Determine the prime factorization of two integers.
Program: Determine the least common multiple of two integers.
Program: Determine the greatest common factor of two integers.
Program: Round numbers using only addition, subtraction, multiplication, division, and the truncation operations.
7. Letters and numbers
For some reason, our English teacher had the nickname "ACE" which he did not like. So I programmed the letters using smaller letters.
Program: Print out the word "ACE" in large letters composed of smaller letters.
Here is an image of the teletype printout.
The date for the file listing for "
ACE.BAS" was "
12-MAR-74".
Later I would realize that the font for each letter could be stored, say in an array, and any such word could be spelled in a similar manner.
Roman numbers are somewhat convoluted and not easy to use.
Program: Convert a number into its Roman number equivalent.
8. Games
Card games are interesting. Here, random numbers and arrays are used to shuffle and deal cards.
Program: Simulate the shuffling of a deck of 52 standard playing cards.
Program: Simulate the dealing of a hand of black jack.
9. Physics
I liked physics class. I would later take a lot of physics courses in college.
Program: Compute and plot the elliptical orbit of a planet using Kepler's Law of planetary motion. This really impressed my physics teacher. I went on to major in physics in college (no computer major at that time).
In track, I did well at throwing the discus, not nearly as well as throwing the shot put. But the physics is similar. I had studied some track books on throwing and then programmed the physics of such motion (ignoring air resistance, of course).
Program: Input the launch angle and degrees of a projectile on a flat plane, determine and output the flight time, range, altitude, and velocity of the projectile.
10. Geometry
We were studying various trigonometric functions in trigonometry class, so that led to computer investigations of each.
Program: Convert angles in degrees, minutes, and seconds into radians, and output the associated transcendental functions cosine, sine, tangent, cotangent, secant, and co-secant.
Program: Given three sides of a triangle, determine if the sides represent a triangle, and, if so, determine the three angles.
The primary problem encountered in these is that some of these functions are not defined if the denominator is zero, so had to handle those cases.
11. Linear algebra
Three of us (myself, GN, and SH) were taking an independent study in linear/matrix algebra. So, of course, I had to try programming what we were doing.
Use the built-in matrix functions to input a matrix and determine the inverse and determinant. Add and multiply two matrices.
Explicitly solve for a 2 by 2 set of linear equations.
Determine the inverse of a 3 by 3 matrix.
Since I did not know much about 2D arrays, I tried doing the inverse of a 3 by 3 matrix explicitly, without the theory. It was messy and not the best solution.
12. End of page