Learnable Programming - Bret Victor

11 views
Skip to first unread message

Selena Deckelmann

unread,
Oct 1, 2012, 2:00:38 PM10/1/12
to operation-computer-sc...@googlegroups.com
http://worrydream.com/LearnableProgramming/

A few people have forwarded this article to me (long) including my
husband. I'd love to know what you all think!

Also @MaxMartin passed this along:

http://www.nytimes.com/2012/10/01/technology/microsoft-sends-engineers-to-schools-to-encourage-the-next-generation.html?_r=1&hp

Interesting program.. would be nice if we had something like this for
open source folks. :)

-selena

--
http://chesnok.com

Katie Cunningham

unread,
Oct 1, 2012, 2:57:26 PM10/1/12
to operation-computer-sc...@googlegroups.com
I admit, the first made me cringe when I read it. I really, really
hate the idea of divorcing the theory from the tools. I've been in too
many classes where 'examples' were deemed beneath the professor, and I
found myself learning by googling the key terms from the lecture.

True, the author puts forth a theoretical programming machine, but I
found myself looking at it and just being bored.

It also seems really silly to divorce programming from the real world
when we're surrounded by technology! So many examples can come from
real life. You can explain a for loop with a timer, or a conditional
with an alarm clock.

I understand teaching the theory of programming, but I think it's best
learned next to some practical tools. After all, how much would you
trust a mechanic who knew, in theory, how a combustion engine worked,
but couldn't tell you which of those shiny silver things was a wrench?

As for the second link, I'd be curious as to what, exactly Microsoft
is teaching in the classrooms. I admit, i'm a bit of a cynic when it
comes to MS, especially after they basically steamrollered my school
district into going 100% MS.

Katie
> --
> You received this message because you are subscribed to the Google Groups "Operation Computer Science Teacher Connect" group.
> To post to this group, send email to operation-computer-sc...@googlegroups.com.
> Visit this group at http://groups.google.com/group/operation-computer-science-teacher-connect?hl=en.
>
>

Selena Deckelmann

unread,
Oct 1, 2012, 3:15:28 PM10/1/12
to operation-computer-sc...@googlegroups.com
On Mon, Oct 1, 2012 at 11:57 AM, Katie Cunningham
<katie....@gmail.com> wrote:
> I admit, the first made me cringe when I read it. I really, really
> hate the idea of divorcing the theory from the tools. I've been in too
> many classes where 'examples' were deemed beneath the professor, and I
> found myself learning by googling the key terms from the lecture.

Interesting. I guess I really identified with the "try filling in data
randomly to get the right answer" example at the start. My experience
in CS classes has often been a "this is intuitive, have at it" rather
than explaining the logic behind function design.

Specifically, I was thinking about explaining loops - and how the way
that loops were explained in the particular lesson that was part of
the python workshop from Boston didn't include a visualization of
intermediate state. Just the output from a function.

Recursion examples will show the stack (sometimes), but there's often
just a focus on what comes out at the end. So, what I observed in
trying to teach this was that several people thought that the computer
was doing some kind of complicated magic *at the end* of the loop.
They had no idea what the intermediate values were and thought that
the whole thing was a lot more complex than it actually was.

I still need to digest his examples a bit more -- but to me, the
interesting bits of his critique were about *how* we present "behind
the scenes" state, and that a small difference in the code results in
a lot more comprehension for the student.

> True, the author puts forth a theoretical programming machine, but I
> found myself looking at it and just being bored.
>
> It also seems really silly to divorce programming from the real world
> when we're surrounded by technology! So many examples can come from
> real life. You can explain a for loop with a timer, or a conditional
> with an alarm clock.
>
> I understand teaching the theory of programming, but I think it's best
> learned next to some practical tools. After all, how much would you
> trust a mechanic who knew, in theory, how a combustion engine worked,
> but couldn't tell you which of those shiny silver things was a wrench?


Ahh, I missed the part where he talked about divorcing programming
from the real world. Can you point me to a section I should re-read?


> As for the second link, I'd be curious as to what, exactly Microsoft
> is teaching in the classrooms. I admit, i'm a bit of a cynic when it
> comes to MS, especially after they basically steamrollered my school
> district into going 100% MS.

I think Max is going to find out. I'll invite him here to share. :)

Katie Cunningham

unread,
Oct 1, 2012, 3:23:04 PM10/1/12
to operation-computer-sc...@googlegroups.com
> Ahh, I missed the part where he talked about divorcing programming
> from the real world. Can you point me to a section I should re-read?

It isn't stated explicitly, but his opening section focuses on the way
a developer thinks (which, really, is theory), and separates that
fromt he tools that the developer uses (for loops, etc). He then uses
examples that I would never in a thousand years hand off to a complete
novice.

Sure, it can be fun for someone who's already experienced in
programming, but it's vital to step into the shoes of someone who has
absolutely no background in what you're talking about. You have to
find some common ground with them, and going even more abstract is
just going to make it more difficult.
Reply all
Reply to author
Forward
0 new messages