Monday, March 10, 2014

Making STEM Interesting: Programming Edition

As careers go, being an engineer is pretty great. Engineers tend to work fewer hours than other comparably paid professions, and engineers report a higher job satisfaction than most other professions as well.  But the problem is that while being an engineer isn't that hard, becoming an engineer can be.  Engineering is considered one of the hardest majors at college, and it's even harder without a strong foundation before that.  It's not easy to convince a teenager that it's worth all the extra work now for a payoff in the distant future.

So the payoff needs to be immediate.  And it can be.  In this post, I'll focus on programming.  What really motivates me to write computer programs is the ability to do something useful and/or fun.  In particular, I like to be able to see immediate visual results as proof that I am doing something.

Some examples of relatively easy projects with high visual impact after the jump:

There are so many devices that can be controlled through APIs, the possibilities are endless.  For example, I have some color-changing LED light bulbs that can be controlled through a very simple interface.  It doesn't take much programming knowledge to start programming these lights.  What better way to introduce teenagers to some of the basics of programming than by letting them choreograph a light show to their favorite song?

Lots of robotic toys also come with the ability to program them.  I saw Sphero in action at CES and was very impressed with the multiple programming options for it.  There are drag-and-drop programming options and text-based programming options, depending on your age and experience level.  They list a lot of examples of projects for all ages on their education website.

These lights and toys aren't cheap, but there are free ways to get started seeing the power of programming, too.  The Google Maps API is a fun way to get started with programming.  It has very simple tools to begin changing the appearance of a map, or to show all the coffee shops near the center of a map, or plot shapes and lines on a map.  You can start by tweaking some of the examples in their library.  It's also a great way to introduce some more complex math concepts when the time is right.  Calculating great circle distance builds on concepts learned in trigonometry.  Use those concepts to calculate the distance between two points on a map.  Or get really ambitious and start making map mash-ups with other data, like the one pictured on the left, which shows you how far you can get in 15 minutes without getting in a car.

What other programming projects can you think of that are easy, fun, and useful?

No comments:

Post a Comment