Linked by Thom Holwerda on Thu 20th Sep 2012 20:27 UTC, submitted by MOS6510
General Development "Online Python Tutor is a free educational tool that helps students overcome a fundamental barrier to learning programming: understanding what happens as the computer executes each line of a program's source code. Using this tool, a teacher or student can write a Python program directly in the web browser and visualize what the computer is doing step-by-step as it executes the program."
Thread beginning with comment 535958
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: barrier...learning
by dnebdal on Fri 21st Sep 2012 11:07 UTC in reply to "RE[2]: barrier...learning"
dnebdal
Member since:
2008-08-27


In a university context, one might imagine having one course on high-level programming and another on low-level computer architecture. It has been done before, and seems to work quite well...


Certainly, and I've been in both kinds - but that doesn't really solve the question of "if we want programmers that care a bit about the lower-level effects of the code they write, while still being decent at high-level code and structure - what's the optimal order to teach in?"

Reply Parent Score: 2

RE[4]: barrier...learning
by Neolander on Fri 21st Sep 2012 11:54 in reply to "RE[3]: barrier...learning"
Neolander Member since:
2010-03-08

Well, both courses can be taught simultaneously, isn't it ?

Reply Parent Score: 2

RE[5]: barrier...learning
by dnebdal on Fri 21st Sep 2012 17:00 in reply to "RE[4]: barrier...learning"
dnebdal Member since:
2008-08-27

Sure, though that could also be argued to be the only way they can learn both without benefiting from already having learned the other. ;)

Reply Parent Score: 2

RE[4]: barrier...learning
by renox on Fri 21st Sep 2012 14:08 in reply to "RE[3]: barrier...learning"
renox Member since:
2005-07-06

I think that it may depends on the student..
Me, I find learning low level first easier because when something "magic" happens in a high level language you can look at how it is implemented to better understand it.

Reply Parent Score: 2

RE[5]: barrier...learning
by satsujinka on Fri 21st Sep 2012 16:05 in reply to "RE[4]: barrier...learning"
satsujinka Member since:
2010-03-11

I find that a low-level description is actively harmful for most new students. It's simply too irrelevant for their attempts at learning the language at hand and only adds to the information they have to memorize. Of course, I may be misunderstanding what you mean by low-level. I take it to mean explicitly detailing what op codes/assembly instructions and registries are/do.

Typically, I find that functional languages are easier to teach because everyone has some experience with math and can do basic substitution (even if that's not how things are actually evaluated, substitution is a good enough model to start with.)

Reply Parent Score: 2