Why Learn to Program?
Five years ago, the answer to "why learn to program" may have been simple: to get a nice, cushy job with beanbag chairs and a six-figure salary. Recently, the job market for programmers has lost some of its previous luster--no longer can anyone and his dog start a tech company, get venture capital, and pay programmers a combination of stock options and worth millions and a high salary.
This seems to have taken its toll on the number of prospective programmers; at some colleges, intro computer science classes are at all-time lows in attendance. This is a real shame because programming isn't really about making the big bucks. Though you will certainly be well paid if you are very good, your doctor friends are unlikely to be jealous of your finances once they pay off their medical school loans.
They will, however, be envious of the intangibles.
You Can Play God
When you program, you are a creator. You go from a blank text file to a working program with nothing to limit you but your imagination (and maybe some issues like how long your program takes to run). Programming is like having access to the absolute best set of legos in the world in almost unlimited qualities. Even better, you can get all of your building materials completely for free (once you own a computer) on the internet. Amazing!
It's also great fun to see someone using something that you made. Your ability to improve your life and the lives of your friends and family is limited only by your ideas once you can take full control of your computer. Moreover, your work can be extremely high quality because the limiting factor is not manual dexterity or other non-mental attributes. If you can understand a programming technique, you can implement and use it.
Automate Away Daily Drudgery
Programmers are famous for being lazy--in fact, being lazy is one reason people are drawn to programing. After all, why do something routine and repetitive when you could have your computer do it for you? Programmers have written all sorts of simple-to-use tools that make life easier for them--especially tools to manage the complexity of creating software (for instance, tools to help keep track of all the ways of making a program, or debugers to help improve their understanding of a running program).
But more than that, every programmer has a collection of simple tools that he or she uses on a day-to-day basis, from custom calendar reminder programs to processors for large data sets (especially useful for scientists!). Indeed, the physics community has a history of writing powerful tools that make their lives easier--one tool, HTML over HTTP, created by Tim Berners Lee, eventually became the world wide web. It was originally designed by a physicist programmer coming up with ways of simplifying his life.
Improve Your Computer Literacy and Know the Answer to the "Why" Questions
People are often frustrated by technology when it fails. Although operating systems such as Windows have become much more stable, there are still many security holes exploited every day. For a non-programmer, these issues are mysteries: the machine that never makes mistakes is full of problems, and who knows why?
Programmers, on the other hand, are familiar with the limits of the machine--what happens inside the computer when it takes several minutes to open large files, why a particular security hole is a problem, and why it's so difficult to get large-scale software projects right.
They understand it because they've dealt with most of these issues in their own programs and work with the ``stuff'' of the machine (to varying degrees across different programming languages). This can lead to some exciting finds, such as realizing how you can earn thousands of dollars in Windows solitaire set to Las Vegas style. Maybe not as good as earning real money, but how many of your friends have made $32K on under an hour playing cards?
In sum, programming lets you work with your mind to free yourself to create things that are interesting or useful instead of being limited by the confines of what others have done before, and even when using those other things, you'll find that you can better appreciate and understand them.
Tuesday, May 27, 2008
Tuesday, May 20, 2008
Thursday, May 15, 2008
Sunday, May 11, 2008
Wildcat Robotics Take First Place in the Spring 2008 Robot Track Meet!
The Wildcat Robotics Team "The NXT Generation" recently took part in their very first robotics competition and managed to bring home the overall first place trophy! Stand out performances included the Slope Climber team of Luke Krebs, Nicholas Krebs and Devin Cristianson. The slope climber robot was nearly out of the competition at the 60 percent incline level but came back to win as the lightest robot to climb a 72 percent incline. Team member AC Parson's robot beat out 17 other competitors to win first place in the fastest robot category. Strong placement in the Delivery Mission, Ping Pong Shot Put and Bridge Building categories contributed to winning the top prize at the competition.
Congrats to all team members who attended the competition - Dylan Richardson, Gabriel Grash, Audrey Beal, Kai Fox, Luke Krebs, Caffrey Fielding, Nick Krebs, Devin Christianson, Connor Ratcliff, Kohl Shaw, AC Parsons and Kat Murphy. The team was coached by Edward Fielding, Jim Fox, Jandrea Warren, Tammy Crossman-Turner and Max Crain. This season's track meet team was sponsored by Morris Yachts, Fishboy.com and Indalo Marine.
More Results: http://www.mainerobotics.org/trackmeet.html
Friday, May 9, 2008
Friday, May 2, 2008
Thursday, May 1, 2008
Why use robots to get kids excited about science?
Because robots are complex systems that integrate several different fields, including computer science, mechanical engineering and electronics, they are a good example of applied science and engineering. They can also be exciting and fun to build and operate. Robot design competitions are being used at the high school and undergraduate levels to help students understand how these fields can be used to produce real-world applications.
This top-down approach to science and engineering education is the reverse of how these fields are usually introduced to students. The authors note that typically students must go through years of learning theoretical concepts in mathematics, physics, and other fields before they are allowed to think about putting these concepts into practice. Many students, the authors believe, lose interest in these fields because they must wait so long before experiencing the excitement and creativity that comes from finding solutions to intriguing challenges.
This top-down approach to science and engineering education is the reverse of how these fields are usually introduced to students. The authors note that typically students must go through years of learning theoretical concepts in mathematics, physics, and other fields before they are allowed to think about putting these concepts into practice. Many students, the authors believe, lose interest in these fields because they must wait so long before experiencing the excitement and creativity that comes from finding solutions to intriguing challenges.
Subscribe to:
Posts (Atom)