[Microbit-Python] Flat API

Michael sparks.m at gmail.com
Tue Sep 22 15:05:15 CEST 2015


Hi,


Sorry if I've offended you (it looks like I might've done). I couldn't
attend yesterday for reasons beyond my control (I don't get to choose what
I work on, and had to get back to work :-( ). If I could stayed yesterday I
would've raised these comments then.

Is there a written description somewhere ? I've not seen it - other than
the small comment that's on this thread.

FWIW, I'm certain that there are good justifications for every decision
taken yesterday, and I'm absolutely sympathetic to what they probably are,
but knowing what those justifications are is good. All I've seen so far
though is what's been posted to this list.

Incidentally, I'm not talking about hypothetical 11 year olds, I work with
cubs and scouts and have done for the past 3 years, which isn't a great
selection - but it's a representative slice of non-tech focussed kids (boys
and girls) - ie the audience this is going to. (I've run simple robot
building sessions with these now for around 150 children as well) It's not
the same as an actual Y7 teacher, but it's the best I've got... :)

I'm certainly not suggesting a dumbed-down API. More one with training
wheels still attached :-)

Anyway, if anyone has a copy of the current API proposal posting here or on
the wiki would be really useful. Any single item out of context probably
doesn't paint a complete picture.


Michael.

On 22 September 2015 at 13:36, Larry Hastings <larry at hastings.org> wrote:

>
>
> On 09/22/2015 12:50 PM, Michael wrote:
>
> For many children, I expect that this ...
>
>     microbit.pins.p0.write_digital(x)
>
> .. will read as  "microbit pins p0 write digital x", and they'd wonder
> "Why are the words in the wrong order?",
>
>
> That's good news indeed!  Anything that inspires curiosity about
> programming in children can't be all bad.  Perhaps they'll ask their
> teacher "why are those words in the wrong order?", and the teacher will
> explain about going from the most general to the most specific, and the
> child will have learned something.
>
>
> Good API design for children though is not the same as good API design for
> everything
>
>
> Why not?  Children want to live in the world of adults.  And if we're
> going to teach them programming, we should start them off with good habits.
>
> I find children to be pragmatic--if they want to get something done, you
> show them how to do it, they use it and move on with their lives. If you
> say "to check if button a is pressed, use if
> microbit.buttons.a.is_pressed():", they'll say "okay", not "that's too
> much to type, I give up on programming forever, just flunk me already".
>
> You suggest children have difficulty spelling--true enough, but contorting
> the API is not the correct response.  Instead, how about we enhance upyed's
> ability to detect errors early?  It happily generates firmware files even
> when the Python has obvious syntax errors.  I suppose it's too much to hope
> for for upyed to sprout enough syntax-coloring smarts to flag misspelled
> words?
>
>
> In any case, why did we spend all day yesterday arguing about designing a
> good API, if that's a terrible bad idea and instead we need to design a
> dumbed-down API that minimizes keystrokes?
>
>
> Rather than speculate about hypothetical 11-year-olds, perhaps we could
> consult with an actual programming-teacher-of-11-year-olds to gain some
> hard data.  Do we need to minimize keystrokes?  Do we need to dumb down the
> API, or is a level or two of nesting okay?
>
>
> */arry*
>
> _______________________________________________
> Microbit mailing list
> Microbit at python.org
> https://mail.python.org/mailman/listinfo/microbit
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/mailman/private/microbit/attachments/20150922/2bceb12b/attachment.html>


More information about the Microbit mailing list