3 ms·
I don't think programming is something binary - either obvious or inscrutable - but there are certainly environments which make programming seem more like one o
by kthejoker2 7y ago
I don't think programming is something binary - either obvious or inscrutable - but there are certainly environments which make programming seem more like one or the other to the vast majority of people who would fall in between those two extremes on the spectrum.
One such finding by Cantwell Wilson and Schrock:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.88.4671&rep=rep1&type=pdf http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.88....
Math background and formal programming classes before their CS101 class helped, but the dominant factor was "comfort level"
* how they perceived the difficulty of the course
* how they perceived the difficulty of completing the assignments
* how they perceived understanding the concepts of the course compared to their classmates
* asking questions in class, in labs, and in office hours
Students who felt "comfortable" in these areas compared to those who did not had a strong positive correlation with grade performance.
From my own experience you get a looooot of mileage when teaching others programming or even basic computer literacy skills out of:
* making "mistakes" yourself to show them the machine won't (literally or figuratively) break
* tell them that error messages are actually the wise words of a sherpa left behind by the developers to help you up the mountain
* Following all the awesome advice in Phil Agre's How to help someone use a computer ( https://pages.gseis.ucla.edu/faculty/agre/how-to-help.html https://pages.gseis.ucla.edu/faculty/agre/how-to-help.html )
I studied chess quite a bit, and one time I complained to my instructor that I was great at tactics but couldn't apply it in my games. He wisely pointed out, "That's because you know when you're in a tactical puzzle that there is a concrete solution."
For people who find computer science "obvious" I think it's in large part because they are "convinced" - by assumption, by proof, by experience - that the thing in front of them was designed to do things ... that you're in a puzzle, basically. So no matter how many wrong things you enter, bugs you encounter, hacks you endure, logic bombs you build ... there's an answer, and you can find it, key by painful key if needed.
And a lot of people feel more like they've been flung into the middle of a chess game, and there's no certainty at all that what's being asked of them can even be done.
"Convincing" people of that they're in a puzzle is the first step. If you fail it, they will always feel that computer science and software development and all things computers are "inscrutable."