BA Quest

Where College Students Meet Their Fate

Posts Tagged ‘programming

Kids and Programming: A Goa’uld Symbiosis

leave a comment »

Ok so it’s not really a Goa’uld symbiosis, let’s make that perfectly clear. For a while now, probably ever since the early 90’s when GUI systems came out in force, there has been a new trend in programming. This trend is pushing toward making it easier to for the uninitiated to build and author their own software for the devices they love. Smart phones and App Stores (I’m using the term ‘App Store’ to mean any easily accessible software distribution platform) have pushed this at a much faster pace, but young people are at the forefront of this evolution in software development. It seems like once they pop out of the womb the doctor hands them an iPhone. It’s difficult to deny that technology is becoming integral to functioning in our society and kids are not being left out of this trend. Being a computer geek doesn’t carry the same connotation as it once did, with new movies and shows about people who use computers, The Social Network and iCarly come to mind. With this new found digital acceptance at an early age it makes sense that a small subset of these new young computer users will be interested in building software.

The end goal of any programmer

With the incentive and ease of distribution of the App Store, who wouldn’t want to make a few bucks from writing a little game for the iPhone. The neighborhood grass grows tall because technically knowledgeable kids don’t have to mow lawns to make money anymore. If I wrote an app that cost $0.99 on the App Store, and only 100 people bought it, I would still make around $100. One man made over $500,000 off of his app in a few months. Sure this is the exception and not the rule, but you get the idea. I gain a user base, experience at making better apps, and I get feedback from my users as to what they would like to see in the app. As a poor high school or junior high kid the fun of letting other people see your work is incentive enough to make cool stuff, but getting paid for it is like the icing on the cake. The same way Steam has been a godsend for indie developers to get their game out there, the App Store has been a boon for iPhone and Android developers who want a good way to let people know about their work. I make it sound as if the App Stores are without their drawbacks, but I’m talking about how they mainly effect younger people, and if you just want to get your product out there, it’s a good way to go. Herein lies the kicker,  a still smaller subset of kids are becoming interested in what it means to write better software, how the computers and software they love to use works, and what types of skills it takes to become a professional software developer.

The end goal of any programmer

With the decline of state and therefore school budgets, less and less money gets pushed into expensive subjects. We are left with English, math, history, and science. Which of these are students probably the most interested in? If you said none of them, you are mostly correct. This is partly because the teaching styles used in schools and the lack of resources to teach in other ways besides lectures, homework, and then tests. Most students crave doing things hands on, because they don’t have to listen to someone else tell them what to do. They are in control and have to take ownership of the learning themselves. Programming lets you start with nothing, using just your own brain and the things you have learned, apply them to a problem, and end with something cool that you can share with other people. If you look at the subjects that people are really interested in it usually follows this pattern. Start with nothing, Create, Share. This is why students don’t like math or science, until you are doing college level mathematics or science, you don’t get to experiment or create. With music and art, creation is intuitive and almost anyone can do them. With something like invention or programming, you have to mix logic and the intuitive sense of creation, which is often difficult. The earlier you start thinking this way the better you will be at doing both. So when kids start programming at a young age, it gives me hope that it will catch on and have kids using logic to create. The end hope is that kids will then apply their logical minds to other problems outside of programming and make the world a better place.

Advertisements

Written by dfockler

03/04/2012 at 2:53 AM

Nerds abound, get yer finger based controller boards at the ready!

leave a comment »

This may come as a surprise to people who don’t understand what is it like to take a blank screen and add barely functioning logical rules, years worth of complicated half-coagulated libraries, backlogs of bad habits and terrible ideas, undocumented purely wizardry based command line tools, and little bit luck, but programming is a challenge, on par with golf. Sure you may say to yourself, “but there’s 16 year olds who make a million dollars on the app store.” I admit programming has been made much easier in the last half-decade. But, ask any one of those 16 year old prodigies what a quicksort algorithm is and in all honesty he could probably tell you. There are prodigies in every field, but computers are cool and kids like cool things, apparently. Back to the point, unless you have been thinking in a programmatic way for a few years, or have an aptitude for logical thinking, which of course your’s truly has one of these, programming is hard. It’s by definition not intuitive.

I personally don't wear a balaclava when I code

If you don’t adapt to it immediately it probably means you are a perfectly normal person. Changing your way of thinking from one in which you can communicate in a vague, expressive way, into one in which you must describe exacting specifications is not an easy task. You must be able to keep multiple variables juggled in your mind at the same time, and be able to imagine how each of those variables will affect the others. Here’s a thought for those intrepid few who have fallen down the slide and made it this far into my epilogue about my favorite subject. Imagine you are a girl, *wink wink*, you have 4 friends who need to come over for a party, Amy, Becka, Cindy, and Darla. They can come over in any order you want, but each order comes with dire consequences. If Amy comes over first, Becka will die. Uh oh. If Becka comes over first Cindy won’t come over at all, and Darla will bring her boyfriend Ethan, gross! If Cindy comes over first, the next person who can come over has to be Darla or Cindy. Now imagine these are variables in a billion dollar spaceship controlling the guidance computer of said ship.  If you get them out of order, the ship might crash into a major city. Bad news for you, the programmer of the control chip. I think you get the idea of being able to handle multiple variables. Sure it’s not equitable to either of these scenarios except the last one. *GASP*

I don't even...

Though once you learn to program and to love to learn to program, it is one of the most fulfilling things you can do. It’s both technical and creative, boring and exciting, applicable and trivial. It encompasses so much of everyday life and you learn to examine everything around you in a different way than you did previously. It will get you laid and/or paid. On second thought only paid. But I guess if you get paid enough you can get laid. It will get you extra laid if you are a girl, but we won’t go into that. You’ll always be able to both impress and shun yourself at parties, and most of the friends you end up with will also be programmers. It’s a very inclusive lifestyle, and I say lifestyle because that’s what it is. If you spend more than 5 hours a day doing the same thing, that thing is part of your lifestyle, so deal with it. Your interest in programming might go through ebbs and flows like it did for me, but it has stuck in my brain, and won’t let me escape at this point.

Written by dfockler

02/23/2012 at 4:40 AM