Page 1 of 3

LEGO kit

Posted: Mon May 05, 2014 5:46 pm
by richmond62
One way for Livecode to go, as far as Primary education is concerned, would be to develop a "LEGO KIT" front-end
that would allow end-users to drag-and-drop both pre-made objects and pre-made actions onto a "stage".

To get people talking / writing / frothing-at-the-mouth I have run up a very, very primitive mockup of what
I think would be one way for this to go.

Please take a long hard look at it; then tear it to pieces, tell me it's "OK, BUT", whatever;
but don't just shrug your shoulders and go away.

As an educator I feel that RunRev have "lost the plot" a bit as far as both Primary education is concerned
and as far as affording non-programmers a way of rapidly prototyping stuff to lever their expertise without
having to go through a learning curve that is both outwith their speciality and detracts from time they would
rather spend on their speciality.

I have explored this at length previously, and any one who wishes to read what I have written is more than
welcome to access that here:

Re: LEGO kit

Posted: Mon May 05, 2014 6:01 pm
by richmond62
It would be perfectly possible to develop a Scratch-like interface for Livecode:
Scratch.png ... getStarted

But I wonder what the point would be; after all Livecode with a Scratch-like interface would just be "Scratch #2" as with that type of
interface it, frankly, doesn't matter what the underlying language is.

I, also, don't believe children learn to CODE with Scratch; not, for that matter, how to program computers: all they do learn to do
is make "LEGO models" from which there is no obvious transition into programming "proper" [mind you, there's a socking great
chestnut": what constitutes "programming proper"].

There would, at that point, be NO advantage to using Livecode.

Re: LEGO kit

Posted: Mon May 05, 2014 6:08 pm
by richmond62
From my position, as an educator, what worries me are statements like this:

"Easily snap code blocks together to create programs. No programming syntax required!"

Now, while that may have children "up and doing" very quickly, the result is a dead-end, with no transferrable skills to
programming environments such as Livecode.

What would be better, possibly, are "snap code blocks" that can be opened and their scripts both viewed and modified.

In that sort of situation a child can develop his/her initial "snap code" program, and the can be encouraged to
hack the scripts contained within the blocks to see what happens and gain a nascent understanding of how the blocks do their work.

Re: LEGO kit

Posted: Mon May 05, 2014 6:20 pm
by richmond62
Worth a look:

MIT are really into those "code blocks" . . . AND, if they are Open Source . . . I wonder?

After all; code blocks containing Livecode script that could be accessed, examined and twiddled with might not
be a bad thing?

Re: LEGO kit

Posted: Mon May 05, 2014 7:04 pm
by richmond62
I see that the source code for SCRATCH version 1 is available under the GPLv2 licence;

so it is probably possible to "lift" the code block images and incorporate them into a front-end for Livecode
once one has sorted out how the licencing of the hybrid would work.

Re: LEGO kit

Posted: Mon May 05, 2014 7:09 pm
by sefrojones
I was thinking of something like a plug-in that is a modern day kind of "Home Stack". I remember when I was a kid, what really struck me about Hypercard was that I could just open up the Home Stack and poke around underneath the hood at the button/card/stack scripts and see what was happening. I think that something like this for Livecode would be great. I am not an educator, but I do think that Livecode has the power to bring programming to a wider audience. Another idea I have is something like a "Livecode Community Academy". I envision a crowd-sourced open source starter course to familiarize new users with the metaphor, concepts, and features of the IDE through example stacks and videos. This would have to be designed as something of a basic starter course so as not to compete with the current paid training offerings by RunRev, but rather as a compliment to them. I think it could be done.
richmond62 wrote:
But I wonder what the point would be; after all Livecode with a Scratch-like interface would just be "Scratch #2" as with that type of
interface it, frankly, doesn't matter what the underlying language is.
It seems to me that livecode is already so easy to get up and running with that something like this is unnecessary. It's already so dang easy to drag a button out onto a stack ,give it a quick script, and then test to see if it works. This type of instant gratification is (in my opinion) key to grabbing kids , who otherwise, might have never thought they could program. I know that is what sparked my interest in programming when I was kid. The first dialog box I was able to pop up was something akin to a mystical experience for me back then, and led me to spend an entire summer in the attic with an old Macintosh SE, a copy of Danny Goodman's Hypercard book, and my imagination. I think today, Livecode can give kids that same kind of experience. Maybe popping up a dialog box on an ancient Mac would be less than magical for today's kids, but being able to quickly write a program and see it run on their fancy smartphones is what I see as the modern day equivalent. But I'm rambling. In the end, while I'm not a huge fan, if something like "code blocks" helps bring more kids into livecode, then I'm for it.


Re: LEGO kit

Posted: Mon May 05, 2014 7:12 pm
by richmond62

Re: LEGO kit

Posted: Mon May 05, 2014 7:22 pm
by richmond62
My earlier statement that objects in a "LEGO Kit" front-end to Livecode should be accessible in terms of examining and modifying their scripts is born out by
this criticism levelled at MIT's Scratch:

"I have read your website and understand that your goal is to help people learn to code. I know that each block has code inside of it so I think that you should make it so that people can see the code
that makes it run and experienced coders can even learn to write there [sic] own block."

Re: LEGO kit

Posted: Mon May 05, 2014 8:30 pm
by richmond62
One of the very real snags about a Scratch-like code block front-end on anything, whether Livecode
or not, is that a significant amount of desktop estate has to be given over to the space where the blocks are assembled;
leaving reduced space for a WYSIWYG stage.

Re: LEGO kit

Posted: Tue May 06, 2014 12:44 pm
by [-hh]

thanks to the help of some big cheeses here I learned a lot in a short time, also by reading carefully your wonderful and colorful ideas.
Meanwhile I appreciate as one the greatest features of LC the ability to control other things on different platforms. This is a way to use great other work out of available applescripts, shell-, python-, perl- and php-scripts, even Mathematica features. Scratch is, as I learn now from you, one more thing that's worth studying.
Scratch is a default installation on the raspbian part of the Noobs raspberryPi installer, there is even the option to start up with Scratch (imagine that with LC).
So what do you think about looking at first for a simple/rough interface on LC for Scratch?


Re: LEGO kit

Posted: Tue May 06, 2014 2:23 pm
by richmond62
"So what do you think about looking at first for a simple/rough interface on LC for Scratch?"

Well that isn't possible as Scratch is Scratch, as you would see if you read through their documentation.

HOWEVER . . . one could make a series of code blocks similar to the Scratch ones, and an interface
that worked in the same sort of way.

The code blocks would be groups that contained Livecode scripts, that could either be
inaccessible, or accessible and editable [ and that would probably be best left to a
judgement call by an educator who was leveraging the "Livecode+jigsaw pieces"
for teaching purposes. ]

As you can see from the image below, it should not be screamingly difficult to make code blocks of the same sort
as Scratch consisting of an image grouped with a field or two [ if you look closely you will see that several of those jigsaw
bits consist of a shaped piece with one or two fields for number entry ]:
c0gq2BTeHEGKfg9WQocFbw_m.png (3.72 KiB) Viewed 6807 times
What puzzles me is how one would implement the code whereby they would lock onto one another
(drop targets isn't going to work there as one has to define EDGES rather than AREAS), and how the scripts
contained within them would then be CHAINED together.

[ Why am I using words in CAPITALS? Well; part of the reason is that as a Primary teacher I tend to
stress certain key concepts/problems, and another part of the reason is that I feel that those words are
central to any development that may come out of this discussion. ]

While I may sound "jolly impressive" at these theoretical worries, I am not at all convinced that my
coding skills are quite up to doing this sort of thing.

I am also not entirely convinced that making a Scratch-like interface for Livecode is going to
be of any particular benefit either for children wanting to learn some sort of baby-like
programming, or for Livecode: Scratch and several other systems that employ those jigsaw pieces
(both free and commercial) are already available: and I wonder if getting kids to knock together
daft games with them will, ultimately, not do more harm than good when it comes to their having
to learn programming-qua-code.

Also, teaching a sign language is not going to make things any easier when one decides
to teach the same person a spoken language. While Scratch does introduce the idea
of subroutines and sequentiality, there is an awful lot it (intentionally) leave out. The idea
behind Knopfler and Co's thing is that that will speed up a child's learning of key programming
concepts. Of course a lot of this is based on Piaget's idea that before a certain age children are
not capable of abstract thought; which may be true.

In the past I have got round the problem of cognitive development in children by playing with LEGO blocks,
chess pieces, cups with beans and so on: giving concrete models for children to manipulate either on the floor or the table.

I am not sure if my way is better, as Scratch and her cousins may give the impression to children that computer
programming consists of moving pre-made blocks around (which it does not), and seeing a physical model on a table
and then implementing it in code on a machine makes it clear that chess pieces on a table (concrete) and code
in a computer (abstract) are not the same thing, although they can be seen to have some shared characteristics.

Re: LEGO kit

Posted: Tue May 06, 2014 2:47 pm
by richmond62
Although the Valiant company don't make Turtles any more they do make something called
a Roamer:

which, at present, is only "programmed" via buttons on its 'shell'.
Roamer.jpg (20.46 KiB) Viewed 6804 times
However, I have recently been in touch with Dave Catlin (CEO of Valiant Technology) and he seems interested in the idea
of an interface to control a Roamer based on a computer working by some sort of wireless tech (Bluetooth ???).

It shouldn't be that difficult to get a Livecode control system up and running.

How valuable controlling a Turtle is for teaching computer programming is is another chewy question.

What both Scratch and Turtle stuff do require is self-discipline in getting things in the right order; a skill that children
take quite some time to learn, and as a prequel to learning programming-qua-coding they may not be a bad thing.

Re: LEGO kit

Posted: Tue May 06, 2014 4:09 pm
by richmond62
Somebody has just got a bit "hot under the collar" about at least 2 of us using "LEGO" hereabouts.

So, without further ado here are two suggestions:
LIVEkit.png (4.08 KiB) Viewed 6786 times
LIVEblocks.png (8 KiB) Viewed 6786 times
If anybody suspects me of teasing somebody just a touch, they are right; but, as the late lamented Kenny Everett used to say:

"It's in the best possible taste."

Re: LEGO kit

Posted: Tue May 06, 2014 4:24 pm
by richmond62
Sefro Jones:

" I know that is what sparked my interest in programming when I was kid.
The first dialog box I was able to pop up was something akin to a mystical experience
for me back then, and led me to spend an entire summer in the attic with an old Macintosh SE,
a copy of Danny Goodman's Hypercard book, and my imagination."

Indeed, and the mystical thing for me was a Research machine jacked into the back of a black-and-white telly with a type of BASIC called DBAS9.

But, sadly, Thee and Me are dinosaurs (and looking at things, I am even more antediluvian than thee).

Children are, arguably, over exposed and get their sense of wonder killed off very early indeed.
Very, very few children nowadays would be happy with either thy or my first experiences of computers
and programming.

Very few children, either, have the attention span (or, we could call it self-discipline) to sit down with
a manual (or even hunt through Livecode's inbuilt documentation) to find out anything: they are of
the "I want it now, and I'm not prepared to make any effort to get it" crowd.

The idea of LEGO-like front-ends does make me feel queasy, because in my dinosaur-like mind
kids' toys and computer programming are two quite different things, and I also believe that the
idea that "Learning must be fun at all costs" is plain wrong and is having deleterious effects
on children. I remember having a thoroughly fascinating time as a kid (teenager) mucking around
with BASIC, taking old wirelesses to bits and so on: nobody was telling me to have "fun".
And at school, 'Bonehead Barker', our Maths teacher dragged us through FORTRAN IV and
sat next to us while we ruined Hollerith cards with a punch machine that looked like a mechanical
numeric pad. All I remember feeling was immensely privileged that I was able to communicate with a computer
and had a teacher who could get us going on the language.


But those days are gone: and contemporary children (with the exception of a few misfits) are not the
same as we once were. So, if we want children to learn how to program computers, we have to come
up with something that is a bit more Disneyesque than either a command line on an old valve-driven TV,
or the postcard size BW screen of an early Mac.

Re: LEGO kit

Posted: Tue May 06, 2014 6:13 pm
by Peregrine
There's an interesting discussion of Visual Programming Languages, primarily as tools for high level development and not as teaching aids, here: ... s-software