Re:Eve: the dev diary of a programming environment aimed at ...
by acbart on Thursday May 14, 2015 @01:05PM
(#9546198)
Iteration and Decision are key concepts, yes, but don't underestimate the idea of "Program State". Beginners struggle with the concept that computers have a mind that changes over a program's execution. Honestly, it's baffling to me as a teacher sometimes how to breach the subject.
[ Parent
| on HN ]
Re:Eve: the dev diary of a programming environment aimed at ...
by dragonwriter on Thursday May 14, 2015 @01:32PM
(#9546352)
> Beginners struggle with the concept that computers have a mind that changes over a program's execution. Honestly, it's baffling to me as a teacher sometimes how to breach the subject.
Start with not discussing computers having a mind. The metaphor that I've usually seen working well with neophytes is variables (or memory locations, depending on context)-as-boxes, and assignment and mutation as putting something in the box or doing something to whatever is in the box, respectively.
"Mind" is a fuzzy concept that lacks the concreteness of boxes, and makes a poor (in utility terms) metaphor for program state (no matter that it might actually be reasonably analogous -- most people don't have a good concrete intuition about the operation of minds to make it a useful metaphor.)
Re:Eve: the dev diary of a programming environment aimed at ...
by icebraining on Thursday May 14, 2015 @02:20PM
(#9546653)
An alternative is using a tape (as in the turing machine), with cells that can be erased and re-written.
You can even make it physical: http://aturingmachine.com/