Originally posted on 10/15/10 on Mrrrdev.

 

A few years later, as I was digging through DOS on the home computer (now a spiffy IBM compatible), I stumbled across a program called QBasic. When I opened it, it looked like a text editor, but it had menu options such as “Run” and “Debug.” After investigating further, I realized that it was used for programming and I tried out some of the included game files, such as Gorillas. Now with an “advanced” programming language at my disposal, I dove into learning how to make my own programs, mostly with the help of The Complete Idiot’s Guide to QBasic. I was so excited to be programming that I copied the Blackjack game example from that book, saved it onto a floppy disk, created a nice hand-drawn label for the disk, and put it in a cardboard box on which I had drawn a picture on the cover, wrote details about the game on the back, and put the name of the game on the sides. Even though I just copied the code verbatim, it felt like I wrote it myself since I hand-typed it into my computer and successfully ran it. I was so proud.

By ninth grade, I had gotten the hang of QBasic and began writing simple programs of my own. Seeing as my high school offered an official course on QBasic, I jumped at the opportunity and enrolled in the class. I soon found out, however, that the teacher was not a programmer herself and that the course was ultimately not very challenging. This led to a few of us who had prior experience with programming finishing our assignments in a short amount of time and then gathering together to write our own programs. One such program visually depicted a small planet and a nearby Death Star which activated its laser, destroying the planet and sending out a shock wave, which the Death Star avoided by turning on a shield around it as the shock wave passed. The Death Star then moved to the center of the screen, at which time a small pixel representing a single X-Wing flew in from the left, went to the Death Star, then left the way it came followed by the massive destruction of the Death Star and subsequent shock wave (this was around the time when Star Wars was re-released in theaters as special editions, thus shock waves were new and exciting). The teacher condoned our self-study and let us have free reign over our extra time in the classroom, and even enjoyed seeing what “interesting” programs we came up with.

College was where my horizons broadened and I learned the most about software design and game development. I enrolled at Cal Poly, San Luis Obispo as a computer engineering major, where I would focus on both computer science and electrical engineering. To make a Final Fantasy reference, I was a Red Mage; I straddled the line between software and hardware. I took pride in having a shared focus so I’d be strong in both areas. I loved my first year in which I began taking the beginning programming courses for the computer science half of my major, where I primarily learned the Java programming language. As I went through my years there, I began taking less computer science courses and more electrical engineering courses, and my enjoyment of my major decreased. Dealing with hardware was imprecise and unreliable; I many times spent the entire lab time trying to get a circuit board to give me the desired result even though it was exactly the same setup as a neighbor’s, which usually meant one of my wires or chips was busted and good luck figuring out which. With software, I could reliably implement something in a short amount of time; 1’s were always 1’s and 0’s were always 0’s. As I was studying for a midterm in a particular grueling electrical engineering course, I thought about my wonderful first year at college. Staring at my textbook with its arrows and symbols and numbers, I silently wished I was a computer science major. Then I heard the soft, quiet voice of God say to me, “then why not switch?”

Three days later, I was officially a computer science major.

 

Post image By User:Ozzmosis, Fair use, https://en.wikipedia.org/w/index.php?curid=508517

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>