Sie sind auf Seite 1von 7

1 Brian Hays My Path to Programming My first memory of entering the expansive world of computer code is from when I was

around seven years old. My older brother helped me to create a simple web page. He is significantly older than I am. I believe that he had !ust finished his first year at Purdue. "hen I use the word helped what I really mean is that he as#ed me about the way I thought things should be$ and then proceeded to do it for me and explained the process as we went. In all reality the #nowledge that I gained from that specific experience was minimal. I #ind of remember tal# of div tags and a somewhat confusing explanation of decimal to hexadecimal conversions. %f course at the time all of this made perfect sense& however I could never have recalled the information if as#ed. It felt !ust li#e when you spend time in a boring math or science lecture following along on a new type of problem$ after which you get home and reali'e that those simple steps in your notes might as well be in (hinese because you have no idea what any of it means. )hat aside this particular moment stands out in time$ because it was the beginning of my interest in computer languages. I remember the day$ or at least bits and pieces of it$ li#e it was yesterday. My brother )im had come home and was spending the day with me$ which was a real treat. *t the time he was tall and s#inny with short dar# hair. In retrospect he probably didn+t loo# all that different from how I loo# now. *t that time I was engrossed with the game ,inal ,antasy I- for the Play.tation. (ome to thin# of it$ I received a lot of help from my brother on that as well. I don+t remember how we got started ma#ing a web page$ but I ended up wanting to ma#e a ,inal ,antasy page. I remember no matter what I as#ed my brother was able to find a way to ma#e it wor#. (an I get a picture or %din$ my favorite monster$ there or How would you get the (hocobo+s theme music in the bac#ground/ were among my re0uests which only ceased while I tried to come up the next hurdle for my brother to !ump. "ith every 0uestion I as#ed he !ust loo#ed at me and smiled and responded with we+ll see. I felt li#e a #id at a

1 magic show when the magician pulls the rabbit out of the hat. I #new there was some way that the tric# had been done$ but it was still enthralling to watch it happen none the less. 2ven all these years later I remember the page 0uite vividly. It had a really cool banner at the top featuring all of the main characters from the game and a deep navy blue bac#ground. "hile it pales in comparison to today+s pages$ at that time it was a website that had better visuals that most. "hile I only learned a few basic things that afternoon I left with a feeling of wonder and a drive to one day be able to go into a simple text document and wor# my own magic. H)M3 isn+t really a programming language$ but it+s not 0uite 2nglish either. It technically is a mar#up language$ which is somewhere in between. ,or the most part it can be read 0uite easily even by someone who is relatively unfamiliar with it. My first experience with a proper programming language was when I was a bit older$ probably around third or fourth grade. *gain I don+t remember what exactly lead up to the pro!ect$ but me and my father ended up wor#ing on ma#ing a simple calculator in visual basic or something very similar. *t that time this was a tas# that I never could have even come close to accomplishing on my own$ but with his help I was able to see the basics of how computer programming wor#ed. ,or him this was a wal# in the par#. *s a engineer$ he writes simple programs all of the time to help repeatedly solve long e0uations. "e were sitting wor#ing at the computer located in our living room and he would say something li#e type local 4 num%ne. or type If op 4 add then. .imilarly to my experience with H)M3 it all seemed ama'ing how a few lines could turn a blan# sheet into a calculator. ,or my dad this was !ust another lesson$ but for me it was a door that had been crac#ed open$ !ust waiting for a little push. Probably the largest step on my path to being literate in computer coding was when I found the true potential of Microsoft 2xcel. Many people$ including myself until I was about thirteen$ thought of excel !ust as a great program for ma#ing neat little tables. "hile it does an excellent !ob at that I would say that a ma!ority of people don+t reali'e that it also handles functions. )hose who do use functions

5 tend to stic# to the basic ones li#e 4sum67$ 4add67$ and so forth. )hose are very useful$ but they don+t even begin to scratch the surface of its true potential. )his story$ li#e the first$ begins on a nice afternoon spent hanging out with my brother )im. I was interested in playing fantasy football and he showed me a spreadsheet that he had made to help him draft players. ,or those unfamiliar with fantasy sports you select a team by choosing various players and depending on their performance you get points. "hile most people might !ust have a list of stats or a general list that they had organi'ed based on stats$ )im had created a complex sheet that was definitely over#ill for !ust going into a friendly yahoo sports fantasy football season. "hen a player is drafted they are automatically removed from the list of players on the sheet$ he said.. It also changes based on the players that you have drafted. ,or instance if you already have a 0uarterbac# then it will not recommend them as often$ but instead it might push a good running bac# or wide receiver$ he continued. I was li#e a #id in a candy shop and I needed to try every flavor that I could. Pretty soon I was loo#ing for any excuse I could to try out my new s#ill. 3uc#ily if I needed any help I could !ust wait until I saw my brother and as# him about it. Here$ for the first time$ I use help in the general sense. I had something that !ust needed a little push and he could provide that$ but I was able to do almost everything that I wanted to on my own. %ne of the #eys to ma#ing a spreadsheet is the use of if statements$ which are also crucial to any computer programming. )hey are a simple logical tool that tests if some condition is true or not and follows a certain path depending on the answer. 8ideo games gave me a great source of data to analy'e$ which provided me with at least a few pro!ects here and there to help me to increase my excel literacy which eventually fed into my programming literacy. )he most intricate sheet that I designed calculated the best way to raise a s#ill in an MM% 6massive multilayer online game7. It pulled the values of different items from the games

9 database and calculated the amount of -P 6experience7 an hour you earned as well as factoring in opportunity cost. 3i#e my brother+s football spreadsheet this was completely over#ill$ but in the end it wasn+t about the product$ I !ust wanted the experience. 2very time that I created a new sheet I honed my s#ills$ which I ended up putting to very good use a couple of summers ago$ while interning. 2ventually in high school I studied programming outright. I would say that I have at least a high school level of understanding of programming and probably actually a little more than that. )he desire to learn more about programming is what has led me to Purdue to study computer science. Having a particular literacy is all well and good$ but what really gives it meaning is the end to which the literacy is used. .o far I have spent most of my time !ust exploring. .pending time playing with different tools and then passing on$ but recently I have had the opportunity to do something with a little more meaning. My younger brother$ :avid$ has become enthralled with Minecraft. Minecraft is a ;sandbox; game$ meaning that it allows the player to decide how things are to be done. )he difference is that Minecraft ta#es that concept to new extremes. )he entire world is made of 1 meter cubes which can be rearranged in any way you wish. *n oversimplification would be to say that it is li#e 3egos on the computer. )he game also allows players to modify the game however they wish on the software side. %ne particularly interesting mod allows the player to write programs to be executed by the in< game computers. I believe that Minecraft provides a very fertile learning environment as it allows a program which re0uests a password to unloc# a top secret room in your castle$ as opposed to !ust posting ;good !ob; on the screen. "hile it+s still fun to see your code run on a computer there is something special about seeing applied to something else$ which provides a ton of positive reinforcement to beginning programmers. :avid became interested in this mod and I decided to brush up on 3=*$ the language that the mod uses$ in order to be able to help him if he had any 0uestions or needed help debugging. )here is something very fulfilling seeing a literacy passed on. I probably en!oy helping :avid as much$

> if not more$ than he en!oys learning. I feel that my experience has now$ at least in some regard$ gone full circle and I am glad that I had both the chance to learn and to teach. (ontrary to the image created above learning to code$ as with most things$ is not all happy stories and rainbows. 3earning to program is actually 0uite similar to learning a new language. *t first all you can do is copy simple sentences$ which when put together have no real value. :on+t get me wrong it is an important and necessary step to be able to say ;Me llamo Brian; or ;Mi perro es grande$; but in the grand scheme of things that won+t get you very far. If you want to try something new you have to go bac# to the textboo# and find how it+s done. 2ventually you will reach a point where you don+t really have to go bac# to the boo# all that often$ and I guess eventually you never do. (urrently I can usually complete most little pro!ects without needing to reference anything$ but there are always those times where I want to try something new and maybe a little fancy$ which re0uire some research. 3uc#ily$ at least in my experience$ most programming languages tend to be closer to each other than most foreign languages. )his is true at least when dealing with simpler tas#s. .o once you have the syntax down for one learning another isn+t 0uite as bad. .yntax is one of the more difficult parts of learning to code. If programming languages were normal languages then syntax would be the grammar. However when coding instead of having a nice 2nglish teacher you have a sadist that gives a 'ero for the slightest mista#e. * misplaced period or capital letter and the code is dead. )o ma#e matters worse your only comments are error messages$ which sometimes are very useful and other times are about as ambiguous as a fortune coo#ie. (oding definitely re0uires a meticulous attention to detail and a persevering disposition as many times an error may ta#e hours of poring over hundreds of lines of code to root out. However if you put in the effort it really doesn+t ta#e that long to get through the initial difficulties$ which open up a whole new world to explore. "hile learning to code there were definitely 0uite a few times where I spent a hours pulling my

? hair our$ usually figuratively. However that is !ust part of the learning process. %ne of the most beneficial things about being adept at excel is that it helped to ease my transition into regular programming. *t this point I am happy if half of the code in a complex pro!ect wor#s perfectly on the first try. (omputer science really is in some aspects very similar to the other sciences. )here are a lot of failed attempts which re0uire twea#ing until eventually all$ or at least all of the important parts$ of the program wor#. *lso the parts of the program which 0ualify as important are inversely proportional to the amount of time you have been staring at the screen trying to figure out why the computer hates you. Here is a specific example of the rage inducing phenomena that is debugging. I recently wrote a program to control a rather complicated networ# of password protected doors in Minecraft. "hat began as me trying to help my brother became my own obsession with coding in Minecraft. Minecraft usually sends pretty clear error messages$ however due to the nature of the pro!ect I was getting the fortune coo#ie variety. *fter about two hours of entering test values and running different sections of the code individually I noticed a problem. I had misspelled the word ;recieved; a few times. I usually don+t have any trouble spelling& however that is one of those words that tends to !ust slip under my radar. =pon finding my mista#e I started having flashbac#s of repressed memories of ;grammar !ingles; from grade school and I remembered that ;i; comes before ;e; except after ;c;. %ne of the most disappointing moments in my childhood was coming bac# to class from gym to find that the special<super<fun< ama'ing surprise activity we had been promised was to @regorian chant about adverbs. "hile the process of polishing a program can be very tedious and stressful there is something special about seeing it wor#. In the end blood$ sweat$ and tears are an integral part of creating anything and with programming you will definitely find your fair share of trials and tribulations. I thin# that I have benefited greatly from having an understanding of computer logic and I thin# that everyone could benefit from understanding computer logic on one level or another. Be it through #nowing a programming language$ or using the basics in 2xcel$ or even !ust applying the computer+s

A style of logic to everyday real world problems. I believe that I now am better e0uipped to brea# problems down into smaller sections and thin# more analytically about how to best solve them. I credit this$ at least in part$ to my wor# with computers. It all started with a couple of seemingly insignificant little pro!ects with my brother and father that they have probably forgotten. However to me they were an ama'ing force inspiring me to challenge myself and achieve something that otherwise I may never have #nown existed.

Das könnte Ihnen auch gefallen