« June 2008 | Main | August 2008 »

Thirty

I turn thirty today.  Yeah.  It's not the end of the world... but this picture I took a few weeks ago sure looks like the end of the earth...

 

Posted by Nick Harris on July 30, 2008 at 09:00 AM | Permalink | Comments (2)

CS IQ and Turing Machines

Found a great post in Nick Bradbury's Link Blog this morning titled "Generative Models and Programming Talent" that talks about what makes a good programmer good.  The basic argument is that a good programmer is one who can easily visualize the implicit and explicit relationships between things and understands the how changing the state of one effects the others.  They (the author of the post and the author he quotes) call this "CS IQ".  It's a great read.

It reminded me of one of my favorite classes in college, CS406 Computational Theory.  It was the last CS class I took and also the one I did the best in.  The part of it I enjoyed the most was building and exploring Turing Machines

The reason why Turing Machines popped into my head while reading the article was this quote:

[Good] programmers are able to “play computer” in their head (sometimes requiring the aid of a scrap of paper). In other words, we have a model of exactly what the computer does when it executes each statement.

Writing out Turning Machines on paper was extremely easy for me - so much so that it really surprised me.  Especially since a portion of the class just didn't get it, and I couldn't understand why.  The article seems to explain this by saying that some people instinctively think this way while others don't.  I'm not surprised that I do - I wouldn't have kept in this career if I hadn't - but now I kind of get why others had so many problems in that class.

It also gives me some good ideas for interview questions :-)

Posted by Nick Harris on July 22, 2008 at 09:26 AM | Permalink | Comments (1)