I was born in Peoria, Illinois and lived in Pekin, a small town 12 miles to the south. I graduated from Pekin Community High School in 1970. During my sophomore year of high school, I joined a local Boy Scout explorer post. That's where I had my first introduction to programming.
I then went to the University of Illinois, where I continued programming as I studied for a BS in Mathematics with a Computer Science minor.
While studying for my BS, I used an IBM 360 mainframe for course work, and did some work in ALGOL on a Burroughs 5500. I was introduced to the PLATO computer-assisted instruction system where I worked my way up to lead programmer for the Modern Foreign Language Project.
I earned my MS in Psychology Applied Measurement at the University of Illinois. This was a non-thesis program that basically consisted of advanced statistics for Psychology.
The University of Delaware then hired me as a system programmer on their Burroughs B6700 system. In 1978 I had the opportunity to work for Burroughs, so off I went to Plymouth, Michigan. While I was there, I bought an Apple II computer and fell in love with programming all over again. When Burroughs sent me out to a computers-in-education conference in San Diego, I hung out at the Apple booth for three days.
I submitted a BASIC program I'd written for doing 3-D wire-frame drawing to Apple, and the applications software group invited me for an interview. They later told me that the fact that I'd included documentation with the program impressed them greatly--most other people just sent in programs with no instructions.
I started work for Apple on July 12, 1979 as employee 431 and worked there until June 29, 1985, when I decided to go out on my own as an independent software contractor, which, along with teaching, I have been doing ever since.