Ever since I was a child, I have been surrounded by technology. In my elementary school, technology was prevalent. The third through sixth grade classes all had several Apple Mac desktops which we shared to do work on. We also regularly had a computer lab class that gave us fundamental experience with computers. I distinctly remember learning about how to use a zip drive, typing and doing art projects in AppleWorks, and playing around in Kid Pix. At home, we had a couple Windows desktops that I could use to play games on and do homework.
Throughout the years, I gained an immense curiosity about how many things worked. I liked to be able to figure out just how something worked or behaved. For instance, almost every summer, my family would go on a vacation somewhere, and I was made to keep a journal of my vacation. I remember once where I wrote about how the patterns of traffic light signals varied from place to place, from country to country. For example, in some countries in Europe, the traffic signals have an extra “red-yellow” phase just before the signal turns green, where the red and yellow lights are lit, so you can get ready to go. Elevators also gained my fascination, because I was amazed at how the cars knew where to go next, with just a single push of a button.
By fifth grade, I was well versed in using both OSX and Windows computers (and the programs we used commonly), along with most of the devices common in the classroom, like printers, projectors, and the TV. In sixth grade, I was considered a “student tech-support”, with many of my classmates often asking me how to do things they could not figure out, and teachers calling on me whenever something went wrong. And usually, I would be able to fix it.
In middle school, I wanted to know how to automate basic actions. Through many hours of using Google and Stack overflow, I was able to learn some AppleScript, a small scripting language only available on Macs. Through this experience, I learned the basic concept of the “if” and “if-else” statements. I also gained an interest in websites, and so I learned the basics of HTML and CSS which I thought was really neat. However, plain HTML didn’t allow me to create dynamic content on the page, so I learned JavaScript and PHP.
These two learning experiences really launched me into the field of computer science. From that point, mostly through the use of reading example code online and using StackOverflow to find answers to commonly asked questions, I was able to teach myself Java, Lua, C#, C, and even familiarized myself with C pointers. Without any of these experiences, I wouldn’t be anywhere near the point that I am at today.