Nornagest comments on An attempt at a short no-prerequisite test for programming inclination - Less Wrong

4 Post author: ShardPhoenix 29 June 2013 11:36PM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (68)

You are viewing a single comment's thread. Show more comments above.

Comment author: ShardPhoenix 29 June 2013 11:40:09PM 1 point [-]

Poll for test takers:

Programming experience vs. whether you got the correct results (Here "experienced" means "professional or heavy user of programming" and "moderate" means "occasional user of programming"):

Did you think this was fair as a quick test?

Submitting...

Comment author: Nornagest 30 June 2013 12:32:14AM *  3 points [-]

I got this right, but ended up having to invent notation to keep track of the indirection in the last segment. I think it's likely a decent test of whether you're likely to quickly pick up an intuitive head for pointer math and a very basic variable name-value distinction, but it won't capture other forms of abstraction that're necessary for programming: loops, types, conditional branching, Boolean logic. You could probably get away with dropping conditionals (I get the impression they're fairly intuitive), but I've had trouble teaching the others in the past.

Has a bit of an old-school feel to it, too; I'd expect the results to correlate better with talent for C than they would with, say, Python.

Comment author: J_Taylor 30 June 2013 01:02:44AM 0 points [-]

I got this right, but ended up having to invent notation to keep track of the indirection in the last segment.

This is also the case for myself. I would be very impressed by anyone who did not have to do this.

Comment author: James_Blair 30 June 2013 01:44:28AM 12 points [-]

The trick is to evaluate right to left.

Comment author: AlexSchell 30 June 2013 01:28:58PM *  3 points [-]

I opted for doing this and also checking the answer once, as opposed to using notation.

Comment author: Alsadius 30 June 2013 08:28:31AM 3 points [-]

I didn't. Instead, I just kept taking the least-condition-laden part of the instruction, replacing it with a number, and repeating the operation on the newly simplified sentence.

Comment author: palladias 30 June 2013 07:02:12PM 0 points [-]

Ditto.

Comment author: NancyLebovitz 30 June 2013 01:11:12AM 0 points [-]

I didn't invent notation, but I did write

number whose number [redacted] box whose number = [redacted]

so that I could keep track as I worked from bottom to top.