Live data from Hacker News

Online Python Tutor

people.csail.mit.edu

41–50 of 50 posts

Re: Online Python Tutor

#41
post #7

Although I like these kind of tools, I doubt that they're useful to learn basic programming as they need a lot of prior knowledge to be present to already understand the visualization. For example, what is a stack or heap to a novice programmer? What will the effect of this visualization be on their construction of an operational understanding of basic programming language concepts? And these constructs, will they be…

The diagrams used here are similar in style and content to the environment diagrams used in SICP (Structure and Interpretation of Computer Programs), which is an introductory (and quite comprehensive) CS text. At Berkeley at least -- and I think MIT as well -- SICP is taught in a course taken by both majors and non-majors are taking CS courses.

MIT did away with SICP in its intro class a few ago. Quite a shame, but that's the subject of another post.

Re: Online Python Tutor

#42
post #19
post #15

Earlier quoted context omitted.

Using this tool, a student would get a visceral sense for what the stack and heap are, from experience (even if nobody had mentioned those words before). e.g. "Pointers point at stuff on the heap." Teachers and students have been drawing pictures like this on the blackboard, or on paper, for a long time. Many experienced programmers visualize these pictures in their imagination (unless they're implementing a familiar…

> Can you give an example of a "more complex programming structure" where this would be detrimental to understanding? It is difficult to imagine what kind of knowledge novice learners will construct while using this tool. I could imagine, for example, that their operational meaning of a variable becomes that of consecutive boxes with values in them. Given that knowledge, how would such a student start to understand a…

I think if you tried to teach programming to two groups of people who had minimal programming experience, one using say the normal python interpreter and one using this tool, the latter group would acquire a better understanding of what is going on in less time.

Re: Online Python Tutor

#43
As someone who went through Intro to CS courses. I must say that including the object oriented paradigm of Java in an intro class really confused me for a good three years. It wasn't until I learned how data was organized and executed inside a computer that it all became clear to me what programming really consisted of.

This tool is wonderful. It visualizes the inner workings of a computer very well and how it translates to code. I hope this teaching tool is used on students after they've learned some basic programming concepts and syntax.

Re: Online Python Tutor

#44
post #2

This is awesome. Would be cool to see a version for a lower level language like C that would help people understand the stack and visualize pointer arithmetic.

If you found this awesome, Bret Victor will blow your mind (the coding tool is the third example): http://vimeo.com/36579366

WOW!

This is simply amazing.

I hope this guy makes millions off his work. For something this revolutionary, he deserves it.

Re: Online Python Tutor

#45
post #2

This is awesome. Would be cool to see a version for a lower level language like C that would help people understand the stack and visualize pointer arithmetic.

If you found this awesome, Bret Victor will blow your mind (the coding tool is the third example): http://vimeo.com/36579366

Mind blown. Not just from the coding tools or the other examples, but the combination of those with a simple and powerful personal philosophy.

I can't believe the original link (submitted 5 days ago) has gotten so few views/points.

Re: Online Python Tutor

#46
post #22

If you want to learn Python, MIT OCW Intro to Programming is probably the best resource there is: http://ocw.mit.edu/courses/electrical-engineering-and-comput...

I got through 20% of Learn Python the Hard Way, stopped for a number of months, and have now delved into a few of the linked lectures. Learn Python the Hard Way is already much more intuitive and simple to pick up (in a good way). http://learnpythonthehardway.org/

However, I think the lectures are complementary. :D

Re: Online Python Tutor

#47

Earlier quoted context omitted.

Thank you. This guy is unbelievable. He blows my mind every time he publishes something. I want his editor.

I've emailed him asking for it! Gregory Bell asked him on twitter as well: https://twitter.com/#!/worrydream/status/169497569855143937 No response so far.

I don't think he will answer positively. It's only a demo and somehow I don't see him releasing an unfinished program. But I can imagine other people picking up his ideas.

Actually there is someone in the Vimeo comment thread who has started a live canvas editor(1) inspired by one of the demos.

Edit: (1)http://www.youtube.com/watch?v=TBUC-7D1LIc

Re: Online Python Tutor

#48
This is a fantastic tool. I love it.

On line #9 of the example program, the string "hello" is assigned to y. On line #12 another string "hello" is used. I don't know anything about the inner workings of Python, but I imagine that these strings would be stored on the heap and possibly 'interned' by the interpreter. Maybe this is being ignored for simplicity, or I am way off the mark.

Re: Online Python Tutor

#49

whoa what a pleasant surprise seeing my project on the HN front page this morning! just an FYI: this is a "demo-quality" project, not production-quality. it's probably not ready for HN-level traffic! please email me if you have more detailed suggestions or bug reports, thanks.

Have you seen this presentation by Bret Victor [0], as he touches on user experience in writing code? It seems like it might improve your product. :)

[0] http://vimeo.com/36579366

Re: Online Python Tutor

#50
post #2

This is awesome. Would be cool to see a version for a lower level language like C that would help people understand the stack and visualize pointer arithmetic.

If you found this awesome, Bret Victor will blow your mind (the coding tool is the third example): http://vimeo.com/36579366

have you come across any such real-time tools for Wireframing/Mockups?

Thanks.

Post reply on HN