Is this what we need?

Share tips, tools, and other resources for helping educators bring LiveCode into the classroom

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller

Newbie4
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 327
Joined: Sun Apr 15, 2012 1:17 am
Location: USA
Contact:

Is this what we need?

Post by Newbie4 » Sat Jun 05, 2021 2:10 pm

I saw this in a post in the Computer Science Educators group on Facebook:
Join us! The University of Northern Iowa is pleased to announce the commencement of the summer 2021 offering of our popular online course "Introduction to Programming with Scratch." This course has been offered a dozen times since its initial offering in 2014 and has been completed by over 1500 teachers from at least 25 countries. It has been adapted for local use by several school districts including San Francisco Public Schools and Broward County Public Schools.
The course consists of approximately 25 hours of lecture videos, practice labs, and formal programming assignments completed at your own pace between now and July 23, 2021. It is available free for those looking for personal development. Graduate workshop credit is available (for a fee of $125) for those needing formal license renewal/PD credit (applicable in most states).
More information can be viewed at
https://csed.uni.edu/scratch-intro/
Look at the course description. It is nicely done. Having an Intro course on LiveCode aimed towards teachers would be a good start. I could see this being perfect for LiveCode.

Perhaps looking for grant money would be a good start? If LiveCode does not have the funds, perhaps we could get funding from CS groups or others? I proposed this a few years ago when I gave a presentation to teachers at a CS4HS convention. LC was mildly interested but did not offer ant support or encouragement. They do not see the long term advantages. With use in the classroom, students graduate to use it in their jobs which leads to sales in companies. As the language gains widespread attention and use in the schools, businesses look more seriously at it as a language because new hires are already trained in it. This is the best path for LiveCode to become a mainstream language or at least gain more attention in the media and in homes.

Any suggestions?
Cyril Pruszko
https://sites.google.com/a/pgcps.org/livecode/
https://sites.google.com/a/setonhs.org/app-and-game-workshop/home
https://learntolivecode.com/

bogs
Posts: 5435
Joined: Sat Feb 25, 2017 10:45 pm

Re: Is this what we need?

Post by bogs » Sat Jun 05, 2021 8:58 pm

No suggestions, but it is an interesting thought.
Image

richmond62
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 9249
Joined: Fri Feb 19, 2010 10:17 am
Location: Bulgaria

Re: Is this what we need?

Post by richmond62 » Sat Jun 05, 2021 10:22 pm

They do not see the long term advantages.
Spot on.

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9801
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: Is this what we need?

Post by FourthWorld » Sat Jun 05, 2021 11:53 pm

How much grant money is handed out at the CS4HS convention?
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

Newbie4
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 327
Joined: Sun Apr 15, 2012 1:17 am
Location: USA
Contact:

Re: Is this what we need?

Post by Newbie4 » Sun Jun 06, 2021 12:07 am

I do not know but there are many sources of grant money. LiveCode was not interested and had no resources to assign to it. They had other priorities.

I understand.
Cyril Pruszko
https://sites.google.com/a/pgcps.org/livecode/
https://sites.google.com/a/setonhs.org/app-and-game-workshop/home
https://learntolivecode.com/

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9801
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: Is this what we need?

Post by FourthWorld » Sun Jun 06, 2021 12:17 am

I'm asking for myself. I have an LC-based EDU CS learning environment in early design stage here, and a few years ago did extensive research on crowdfunding. What I learned is that crowdfunding isn't really the way to go for open source software. Have been considering grants, but have only pursued two, both rejected. Would consider others if I can justify the time.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

richmond62
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 9249
Joined: Fri Feb 19, 2010 10:17 am
Location: Bulgaria

Re: Is this what we need?

Post by richmond62 » Sun Jun 06, 2021 8:08 am

Any source of financial support (well, just as long as it isn't politically compromised) for any Educational
outreach project has got to be good.

And, at the price of sounding like 'the heavy teacher', some of that money might best be invested in 'Free' seminars
for computer programming teachers from Primary and Secondary school where they are taught some basic stuff
in LiveCode, mainly so that they can see how shallow a learning curve LiveCode has in comparison with Python,
Java, C++ and C#.

If you want a 'quick-n-dirty' curriculum I can put one together in an afternoon on the basis of 7 years teaching
intro classes every Summer.

Here's a vague idea of the sequence of stuff in it:

1. Mucking around with numbers.
2. Mucking around with text.
3. Mucking around with images.
4. (Mucking around with sound).
5. Making images move.
6. Simple animation.
7. Simple game dev.

I normally manage to get reasonably bright kids to stage seven after about 16 hours.

The reason I have stage 4 in parentheses is that on the manky-franky Pentium IVs running 32-bit Linux I have
in my school sound does not enter into the picture. 8)

One would hope that the average computer teacher could see how one might do those things in a 90 minute session
explaining the basics.

---- Rant follows -----

And one thing I do know about Scratch is that children find it very difficult to apply any skills learnt with it
to another programming language, which is just not so with LiveCode.

One of the things that blows my mind about what people think about Scratch is that from working with it
children will learn computer programming. This is all the more surprising when on the Scratch website it states:

"Your students can use Scratch to code their own interactive stories, animations, and games. In the process, they learn to think creatively, reason systematically, and work collaboratively  — essential skills for everyone in today’s society. Educators are integrating Scratch across many different subject areas and age groups."

https://scratch.mit.edu/educators/

No mention of computer programming is made at all in the section for Educators.

Perhaps disingenuously it is mentioned in the section for parents:

"Scratch is a programming language"

https://scratch.mit.edu/parents/

Which begs the question.

Bill
Posts: 57
Joined: Sat Apr 08, 2006 8:22 pm

Re: Is this what we need?

Post by Bill » Fri Sep 24, 2021 7:21 pm

Scratch is developed by MIT, so they have funding that comes from alumni who have profittable careers in technology and get a nice tax write off for throwing money back at their school.
Scratch is stupid simple and can be learned by a six year old, all by themselves with no help from an adult: Open up someone else's project, look at the blocks notpage after page of code, modify the blocks with drag and drop and fudging one or two words or numbers, save to your own account as and publish it as a remix, show mom and dad "Look what I made", get responses from other Scratch users, easy peasy.
Scratch has possibley hundreds of thousands of users with all their materials available online for the next six year old to marvel at and learn from.
Scratch is used by universities to teach the very basics of programming to young adults before moving on to other languages.
Every semester of CS50 introduces programming to over 800 in class students and thousands of online students via Scratch.

To do what Scratch does livcode would have to:
A) Be adopted by a unviversity as their pet project
B) be distributed FREELY by that university
C) offer a web based IDE that runs instantly
E) have a course work that follows the same 'learn the very basics of programming other languages with livecode" that Scratch has, abandoning Scratch at some point is a built in accepted paradigm
D) offer free online computer software development classes that use Livecode the way Harvard.edu does.

Since Runrev is a for profit company who has to have an income to feed it's employees instead of relying on college students to make advances/support the software to get a degree that they are paying hundreds of thousand of dollars for, and requires people to stick with the product for a prolonged period to increase the knolwege pool and community support around the product, the Scratch success can not be gained simply by throwing around free classes to teachers who will just tadopt an easier to learn more embedded and supported free solution. A free seminar will simply come across as a sales pitch.

Berkeley has SNAP, used to be BYOB (Build your own blocks) is a more 'grown up' version of Scratch, it's been around at least a decade and has MUCH less of a following/adoption, basically it's only used by Berkeley students who are required to use it to get a grade in one class before moving on to other languages in another class. Unity has BOLT visual programming, Unreal Engine has .., visual tools that turn into C++. Both products are free.300 to 500 new games a month are released to Steam.

I follow a link from the livecode website and I get:
(Mar 12, 2020) TMHO, there is no progress with LC's HTML5 platform ("web apps") since a long time. So I stopped making new HTML5 standalones.

One person did all that work and it's closed source, nobody can gain from the knowledge it took to develop those abandoned projects, at the same time tens of thousands of kids learned Scratch from some other kids project, and Scratch is still going strong, gaining new users.

In near conclusion, in order to repeat or even attempt to mimic the success of Scratch the entirety of the Scratch model has to be copied:
1. free
2. instant web access
3. open projects
4. drag and drop programming
5. univeristy adoption
6. univeristy distribution
7. community
8. child friendly interface
9. training to learn other languages has to be a core principle

Did I miss anything?

Btw, the source code for TOSH is available on github it converts Scratch projects to text, at least before Scratch 3.0. I often think ,what if I could parse the scratch blocks/text into Livecode and generate something more advanced from that simple Scratch project outline...but then I realize Livecode costs hundreds of dollars and the Scratch to Livecode market for a process like that is stillborn. The source code to Scratch is avialable online, so in theory a Scratch interface that outputs Livecode UIs and code is totally doable. I can see a "If you already know Scratch, then you know Livecode" selling point, if the pricing was reasonble, and of course if the features/performance matched alternative free solutions.

richmond62
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 9249
Joined: Fri Feb 19, 2010 10:17 am
Location: Bulgaria

Re: Is this what we need?

Post by richmond62 » Fri Sep 24, 2021 7:58 pm

2. instant web access
That is NOT true, both Scratch and SNAP have offline versions: you just need a web-browser.

stam
Posts: 2599
Joined: Sun Jun 04, 2006 9:39 pm
Location: London, UK

Re: Is this what we need?

Post by stam » Sat Sep 25, 2021 1:04 pm

richmond62 wrote:
Sun Jun 06, 2021 8:08 am
And one thing I do know about Scratch is that children find it very difficult to apply any skills learnt with it
to another programming language, which is just not so with LiveCode.
For discussion's sake, can i just ask how you came to these conclusions?
You've mentioned this many, many times, but is it based in any kind of evidence? I ask, because the way you phrase this suggests you took a look a the language and just decided it was so.

Do you know for a fact that Scratch, is really a hindrance to learning other languages? The uptake and deployment numbers of scratch would suggest the opposite of your subjective view. And are you sure that LiveCode skills are transferrable?

If so, how? is there a study showing that kids using Scratch fails children moving to other languages? The fact that this is deployed in huge numbers and has been adopted by so many teaching authorities suggests otherwise.
Have you actually deployed this to children yourself and found this to be the case?

On the other hand, is there *any* evidence that LiveCode does a better job at this? Yes, teaching livecode makes them good at livecode - but is that proven to make youngsters better programmers *in other languages* ?

I would argue not - x-talk has only passing resemblance to any other language out there and the less said about OOP the better. Most languages are both strongly typed and richly steeped in object orientated programming, which is definitely not the case in LiveCode.

Rather than the repeated rants, it would be actually interesting to hear some kind of objective evidence that teaching livecode to children is better than teaching scratch...

Newbie4
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 327
Joined: Sun Apr 15, 2012 1:17 am
Location: USA
Contact:

Re: Is this what we need?

Post by Newbie4 » Sat Sep 25, 2021 2:12 pm

I know from experience that LiveCode results in more students taking advanced CS classes and doing better in learning more advanced/complicated languages like Java and C.

I have taught many languages including Assembler, Basic, Visual Basic, Fortran, Python, Java, etc as a first language and it was with LiveCode that more students continued on in Computer Science and did better. I have feedback from students as well as in class experience teaching those more complicated languages. I could tell the students who took LiveCode vs those who took Scratch or Basic or something else. I saw their difficulties first hand.

In retrospect, I would attribute it tfor the following reasons:

#1. Build On What Students Already Know
“The first step when learning is to connect to what students already know. Nobody comes to class as a blank slate. Learning is a process of making sense of the world. We "make sense" of new concepts in terms of what we already know. Teachers know and use "Scaffolding" in teaching new concepts to students

“Bruner and decades of cognitive psychology researchers have said that a teacher should relate new material to previously learned materials. The first step is to figure out what the learners already know and care about.”

Students know apps and games. You will have their attention, interest and they will work hard at creating their own. LiveCode makes this easy without succumbing to the drag-n-drop programming schools like Scratch or AppInventor. LiveCode is GUI based and object-oriented but the heart of it is still line-by-line coding and debugging. 
Students know and use cell phones, tablets and laptops. Give them the opportunity to create programs to run on them. Allow them to easily share what they have written with their friends and family.
 
Students also know English and constructing sentences. They do not have to learn a whole new vocabulary or way of writing. They are immediately comfortable writing statements. LiveCode commands are very much English-like. With LiveCode, programming is simply a matter of describing what you are going to do in common terms. Think pseudo-code.

#2. Do Not Overwhelm Them
“Human working memory is notoriously small and short-lived. We can only handle seven new digits or five words at time, and even fewer chunks for children and young adults. We underestimate how much cognitive load our modern programming languages require, because as experts in programming, much of our programming knowledge is tacit -- we do it automatically without attending to the details, and without even being aware that we're doing it.

Programming is overwhelming in terms of cognitive loading. Most languages require learning a new vocabulary, basic algebra, logic and strange concepts. 

Some Examples:
1. Variable types:
[indent]In most languages, types (byte, int, double, float, char, string, etc) are important and besides getting errors mixing them, you can also get incorrect answers in calculations. You need to know when to use each and how. You have to declare the type upfront and never, ever try to change it or mix them.
In LiveCode type is not a worry. Students do not have to deal with types and worry about mixing them.The simple command is “put b+1 into a” and the necessary conversions will take place. [/indent]
2. Comparisons:
[indent]In Python, you need to know the difference between x=y+1, x==y+1, x===y+1.  The number of equal signs matter. Assignment statements are different from comparison statements. Java is much the same where x=1 is an assignment statement and x==1 is a compare statement. Students easily confuse them and get frustrated.
In LiveCode, if you want a compare the you say - "is x equal to y+1”? That is it. There is no confusion between the statements: "put 1 into x" and "is x equal to 1".[/indent]
3. Loops, Lists and Counting:
[indent]In most languages (Python,, Java, etc), you start counting with zero and you stop at the total minus one. That is so confusing. Students rarely get past that concept. They get confused with what numbers to use in loops, lists and other calculations. They run into "off by one" errors and mistakingly add one or two. They have trouble indexing - e.g. "January" is month[0] not month[1].
In LiveCode, counting always starts with 1. Lists, arrays and indexes start with 1. There are no problems.[/indent]
4. Logic 
[indent]They have to learn a whole new set of symbols, vocabulary and basic algebra. They have &, &&, |, ||, ! and other symbols to learn (depending on the language). They have to deal with complex logic statements (e.g. "not (a or b) or not a and not b") and ( x=x+1:  x<0 || x>1, for (i=0 ; i<10 ; i++) )  These are necessary to learn but not at the beginning when you are just getting started.
LiveCode accomplishes the same goals but with English ("add 1 to x, if x is less than 0 or more than 1, repeat 10 times").  With LiveCode, the students are ready to start coding. They write what they would say. They do not have to translate it into strange forms.[/indent]
4. Text Handling 
[indent]Doing simple text manipulations can be complex and require prelearning of other concepts and functions. A simple task of deleting the last character of a string stored in a variable (like deleting the period at the end of a sentence). In JAVA, you would write "var = var.substring(0, var.length()-1);". In Python, it would be "var = var[:-1] or var = var[:-1])"
In liveCode, it would be "delete the last character of var". They are able to concentrate on their algorithmns and logic not struggle with more new concepts and constructs along the way. [/indent]

With a low cognitive load language like LiveCode, you do not lose half your class after a few months. Those advanced concepts are not necessary to begin learning programming. They are overload and too much detail at the beginning levels. 
Teach them the basics, they can learn the harder aspects later. Get them productive and successful from the start. You also have more time to spend on real computer science topics such as logic, computational thinking, problem solving, and on creativity, debugging, etc. 

I did not teach Scratch but I had many students who had Scratch in programming classes before and They seemed to do no better than students who had no programming before Only the LiveCode students seemed to do well in languages like Python and Java. They had less trouble with the advanced concepts and constructs.

I would be interested if there are any formal studies or research on these topics

Thanks
Cyril Pruszko
https://sites.google.com/a/pgcps.org/livecode/
https://sites.google.com/a/setonhs.org/app-and-game-workshop/home
https://learntolivecode.com/

stam
Posts: 2599
Joined: Sun Jun 04, 2006 9:39 pm
Location: London, UK

Re: Is this what we need?

Post by stam » Sat Sep 25, 2021 2:24 pm

Thanks Cyril, very interesting insights.

With respect to Scratch however (playing the devil's advocate here) i don't see how that could be worse than livecode.

It has even lower cognitive load, but still encompasses similar data structures, text structures, event management as well as program flow control with loops, conditional processing etc (at least, that i what i got from checking out the web based IDE at https://scratch.mit.edu/projects/editor ... getStarted. The left most column neatly categorises all these things).

My point really is that I cannot see what Scratch is so bad at for the intended use of teaching youngsters, compared to LiveCode.

Objectively looking at Scratch and LiveCode, i would actually come the conclusion that Scratch would be better. The only difference is you don't have to type code, but the ideas beside code management are the same, and if it gets them creating simple examples quicker that will only encourage them.

On the other hand, i can see how a similar interface could be adapted to LiveCode...

Newbie4
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 327
Joined: Sun Apr 15, 2012 1:17 am
Location: USA
Contact:

Re: Is this what we need?

Post by Newbie4 » Sat Sep 25, 2021 3:07 pm

A powerful advantage LiveCode has is that it produces executables. Students can share what they produce with their parents and friends. And the finished product looks professional. The parents can then show it to their friends and coworkers. They can do more serious, useful programs.

To demo your Scratch program, you need to install Scratch on the computer. Many times you can not install software on your work computer or don't want to for the fear of viruses.

Many Scratch programs look too cutesy and more like a video/graphic program than a written program.

Thats as far as what I have seen written in Scratch
Cyril Pruszko
https://sites.google.com/a/pgcps.org/livecode/
https://sites.google.com/a/setonhs.org/app-and-game-workshop/home
https://learntolivecode.com/

stam
Posts: 2599
Joined: Sun Jun 04, 2006 9:39 pm
Location: London, UK

Re: Is this what we need?

Post by stam » Sat Sep 25, 2021 3:32 pm

Newbie4 wrote:
Sat Sep 25, 2021 3:07 pm
A powerful advantage LiveCode has is that it produces executables. Students can share what they produce with their parents and friends. And the finished product looks professional. The parents can then show it to their friends and coworkers. They can do more serious, useful programs.
Undoubtedly - but a 7 year old probably cares less about producing a serious, useful standalone and is probably thinking more along the lines of a game.
Newbie4 wrote:
Sat Sep 25, 2021 3:07 pm
To demo your Scratch program, you need to install Scratch on the computer.
Errr.... no.
It can produce a web app; i just played a simple web app game that was on the website and it was moderately entertaining. I did not have to download anything. Attached to this is a social media platform that lets kids comment on each other's work. Arugably that is more exciting for kids.
Newbie4 wrote:
Sat Sep 25, 2021 3:07 pm
Many times you can not install software on your work computer or don't want to for the fear of viruses.
What, you mean like downloading a liveCode standalone? (sorry had to be said ;) )
Newbie4 wrote:
Sat Sep 25, 2021 3:07 pm
Many Scratch programs look too cutesy and more like a video/graphic program than a written program.
Well yes, if you're trying to engage kids under 10, this stuff must surely be more attractive. I suspect many of us apply adult values to a child's perspective.

The platform itself has all the data and control structures needed to produce more 'serious' software. It's just packaged in a child friendly facade.
I can really see this being adapted to livecode - after all it's just a visual structure that generates code behind the scenes, but there's no reason why that couldn't be liveCodeScript.

stam
Posts: 2599
Joined: Sun Jun 04, 2006 9:39 pm
Location: London, UK

Re: Is this what we need?

Post by stam » Sat Sep 25, 2021 4:24 pm

Oh and another key aspect to the success of scratch can be found here: https://www.scratchfoundation.org/supporters
This is free software funding done properly...

Post Reply

Return to “Educational Outreach”