Category Archives: Computer Science

Programming FTW

trophyThis is a cross-post from my personal blog, Constant Safari.

“Victory is mine! I drink from the keg of glory. Bring me the finest muffins and bagels in all the land.”
(Josh Lyman/Aaron Sorkin)

It was a simple request. An administrator wanted to analyze all the assessments teachers had entered into the assessment calendar over the year. He wanted to look for trends, get some statistics, etc. His assistant wanted to look at the submission dates and see when people were posting things.

No problem. Our system exports calendar data. Click, click, click. Here you go, sir.

<crickets>

Calendar programs export calendar files. ical files. (.ics, to be exact.) They’re intended to be read by other calendars. Not spreadsheets.

This is what an appointment looks like in an ical file:

event

This is not pretty stuff. But it is analyzable. I showed the admin where the data was that he wanted. He’s a savvy guy and not afraid of getting his hands dirty with back-end computing, but the look he gave me was grim. There were thousands of events in this calendar. And he was going to do this every year.

No problem. I said. I’ll clean it up with Python.

About an hour (most of it QA & me looking commands up in a reference book) and 34 lines of code later, I was able to offer him the same data. Only this time it looked like this:

cleanedup

And, I told him, we could now do the same data cleanup any time he wanted to look at information in a matter of seconds.

Programming is not just for software developers!

Please note: I am not a developer. I do not consider myself a “real” programmer. I dabble. I teach high school students to program. I know my way around a program. I’ve coded various things but nothing terribly serious.

The program I wrote is not highly technical coding.  One of my high school students could have done it. (I showed it to them the next day. They all got it. One student suggested an tweak.)

ANYBODY can learn to do this. And it can be very practical. Al Sweigart has written a new book about how non-developers can write simple Python programs to automate boring real-life tasks. (Read about it here.)

EVERYBODY should know how to do this. (At least some of it.) Computers are here and they’re not going away. Learning to program them in this age is like learning to read was in centuries past. Christan Genco makes the case (far better than I could) in this TEDx talk:

If you’re ready to try, start out with Dr. Chuck (Charles Severance)’s Programming for Everybody course. He’s a great teacher and will get you going with Python.

Thank you. I’m going off now to slay a dragon.