I have always loved computers, as long as I remember. I remember my dad bringing home a computer when I was very young, and using a modem (which was a cradle for the rotary phone's handset) for something-or-other.
The summers between my early elementary school years I took some computer science classes for kids. We programmed in BASIC on some mainframes at the university. One of my teachers was a woman, but I don't remember the gender makeup of the class.
I do remember being the only girl in the electrical engineering class I took the next year, though. I was self-conscious about it because I was just learning about gender roles and the fact that my interests were not typical for those with a matching 23rd pair of chromosomes. I think I was a bit overwhelmed by the boys in the class, but I did learn a lot about resistors and capacitors and other interesting things.
When I was nine, we got our own home computer. It had two floppy disk drives, no hard drive, and a monochrome (amber) monitor. You had to boot it from the A drive. It had BASIC so I was able to write some programs, just like I had done in my computer science classes.
In junior high, I was interested in joining the computer club, but I was intimidated by the boys in my class and did not join. They weren't just loud and boisterous; they actually made fun of me for wanting to join the computer club, urging me to return to the kitchen where I belonged. So it was not a welcoming or safe space for me and I stayed away.
I went to a math, science, and technology magnet school for high school. In my math class my sophomore year, we wrote programs in Quick Basic, so no line numbers were necessary. I remember for our final exam we had to write a code that would determine whether the number you input was prime, and that I wrote a program to do this in no time flat, while the rest of the class was struggling with it. (Of course, the method I used, namely counting by odd numbers and testing whether the number was divisible by any odd number from 3 to the square-root of the number in question, is not scalable for large numbers, but that is beyond the scope of this post.)
There was an advanced computer science course offered, but at the time I had found that I had a great interest in chemistry, so I took AP Chemistry instead of computer science. I enjoyed playing on our computer at home, but my formal computing education waited until college.
In college, I took a class on FORTRAN for engineers. It was really easy and I aced the programming projects and the exams. At that time I was majoring in chemical engineering, but I soon switched to physics.
I thought I wanted to be an experimental scientist until I did a summer internship simulating physics on a computer. At that point I discovered where my heart really was! So I did a concentration in computational physics for my major. To do that concentration, I took a class on numerical methods, and aced it. It was in that class that I got the first inkling that maybe I could go into computer science. I got a problem set back with a 100% grade and a personal note from the professor: "Have you considered graduate school in computer science? I would love to have a student like you!"
I took an extra year to complete my undergrad and took some additional CS classes that final year. I was overjoyed to discover that I was admitted to the institution from which I eventually earned my Ph.D. some seven years later.
(Stay tuned for Part 2!)