Gifted Issues Discussion homepage
Posted By: Kathie_K Teaching Kids to Code: Scratch vs. Code.org - 10/18/14 07:28 PM
I'm thinking of teaching DS6 to code, as a way of "after-schooling" that doesn't seem so much like school. My skills in this area are non-existent, so I've been looking at the lesson plans on Code.org and learnscratch.org.

Has anyone used either that would be willing to share opinions, or is there a computer science expert who would be willing to let me know if one is "better" than the other.

Many thanks!
Kathie
Posted By: 22B Re: Teaching Kids to Code: Scratch vs. Code.org - 10/18/14 07:41 PM
Excuse semi-hijack. I haven't written a computer program for years decades, but I've been wondering. Is Scratch a real programming language?
I don't have any experience with either of the web sites you mention, but DD10 is taking (and really enjoying) a class through Youth Digital where they use Java to build a Minecraft mod.
Posted By: Bean Re: Teaching Kids to Code: Scratch vs. Code.org - 10/18/14 08:27 PM
My dd enjoyed Scratch at about 6-7. It has a moderated social component as well.
Scratch is designed to teach the basic concepts of coding, but doesn't really have practical application outside of their tutorials. It can be helpful if your child's math, keyboard and logic skills are still developing. Their interface is a little clunky, but it the underlying ideas are a bit more sophisticated.

Code.org has some Scratch-esque programs as well. However, they also will point you to Khan Academy, Codecademy, Grok and other sites to learn Javascript, Python, etc. which are standard languages. They have also partnered with licensed brands like Angry Birds to teach coding, which can be a tempting hook for some kids. Scratch has no bells and whistles like this.

So, if your DS6 has some math/logic skills around 4th grade+ and is semi-comfortable around a keyboard, you may want to skip right ahead to Khan Academy. If not, then either Scratch or Code.org would be just fine to learn basic logic and concepts while the math and keyboard skills catch up.

I would recommend trying the initial tutorials on both Scratch and Code.org yourself and you'll get a sense for how the sites try to teach. You'll know better than us which style would work best for your son.
We've gone through this in a few different threads; worth searching for. Personally, I favor Scratch particularly with some of the new structures, because the key factor is learning programmatic thinking not semantical content.

Many, many tutorials start jamming in language elements with small marginally interesting tasks. If a tutorial doesn't start with defining an interesting problem that drives the learning or create sandbox experiment scenarios, I would continue looking.

Is Scratch a programming languages? Granted it's been over a day since I've done any professional programming... I say yes as it is used to automate processing on a computing device. Can you make a commercial application with it? No. Are all the skills learned applicable to learning other languages? Fer sher.
Posted By: 22B Re: Teaching Kids to Code: Scratch vs. Code.org - 10/19/14 12:42 AM
So is it readily apparent how one would simulate a universal Turing machine using Scratch?
I was trying to teach myself some coding and have experience with both.

Scratch itself is open-ended and visual. You take a command and drag it into the "programming area" and watch the graphics respond to that command. I found it difficult to use because there wasn't a lot of direction and I'm not really the type of person who enjoys tinkering with something to figure out how it works. Also, as others have mentioned, it's not an actual language (though you can create a game and share it on the site). So it would teach you sort of how things work, but then you'd have to learn to apply specific language once you've done that part.

Code.org fit really well with my personality, as it was like "Do this" and then you'd do it and it would say "well done" and you're on to the next section (with each section building on the previous). The style was right for me, but it didn't allow for a lot of creativity.
DS9 has been using Scratch for nearly a year now. We've found that he's learned the most by looking at other people's programs to learn new techniques. The fact that you can play a game, then see exactly how it was created, then try to recreate it on your own, is great.
Posted By: 22B Re: Teaching Kids to Code: Scratch vs. Code.org - 10/20/14 03:37 PM
For example, what if you want to write a program to find the GCD of two positive integers (in terms of arithmetic operations and inequalities, not just using a pre-made GCD subroutine). Is Scratch good for that?
Originally Posted by 22B
For example, what if you want to write a program to find the GCD of two positive integers (in terms of arithmetic operations and inequalities, not just using a pre-made GCD subroutine). Is Scratch good for that?
It can do it. There is a Scratch program to compute the GCD at http://scratch.mit.edu/projects/1518558/ , where the "See inside" button leads you to the code. At age 10 my son wrote a Scratch program to find prime numbers.
Posted By: 22B Re: Teaching Kids to Code: Scratch vs. Code.org - 10/20/14 06:22 PM
Originally Posted by Bostonian
Originally Posted by 22B
For example, what if you want to write a program to find the GCD of two positive integers (in terms of arithmetic operations and inequalities, not just using a pre-made GCD subroutine). Is Scratch good for that?
It can do it. There is a Scratch program to compute the GCD at http://scratch.mit.edu/projects/1518558/ , where the "See inside" button leads you to the code. At age 10 my son wrote a Scratch program to find prime numbers.
Okay the "See inside" button let's me see what it looks like. I get it now.
ETA: Although that programmer should learn about Euclid's Algorithm, especially since there is a preprogrammed binary operation "mod" which does 90% of the work on its own.
Nobel Laureate William Sharpe "was one of the originators of the capital asset pricing model [and] created the Sharpe ratio for risk-adjusted investment performance analysis" (Wikipedia).

He is working on free "Retirement Income Scenarios" software to simulate spending strategies in retirement, in Scratch, much to my surprise. He explains Why Scratch? as follows:
Quote
As indicated in the previous blog, I am developing a suite of software dealing with retirement income scenarios using the Scratch programming language. Those who know something about Scratch may consider this a strange choice. Here I'll try to show why I consider it well suited for this project.

I have been writing computer programs for over fifty years. My PhD dissertation included (in addition to an early version of the Capital Asset Pricing Model) the description of an algorithm for solving a special class of portfolio optimization problems and a program for implementing it. Since then I have written programs in a variety of languages. I published the first commercial book on the BASIC language and wrote an interpretive compiler to implement it when I was at the University of Washington. For my own research I now use Matlab, a scientific programming language. For years I used the standard Matlab constructs but now rely on the more recently added object-oriented capabilities. I love to program – there is much gratification when a program does what you intended it to do -- more than enough to offset the frustration when it doesn't.

I also feel very strongly that everyone should be exposed to programming as part of the curriculum in Junior High School and/or High School. The benefits are many. Students can learn to think logically, divide complex tasks into a series of sub-tasks, test ideas rigorously, and explore aspects of mathematics, statistics and many other fields by doing experiments. They can also gain a deeper understanding of the ways in which computers, tablets, phones, televisions, movies and many things we encounter in our daily lives do what they do. Most people now spend hours every day interacting with technology but in an important sense they are interacting with programs. One hears “the computer did such and so” but it would be more accurate to say that a program made the computer do it.

Most important, as the Scratch team emphasizes, one can experiment and be creative when writing programs – far more so than when using programs written by others.

...
Another route: The Arduino chip can be purchased in a starter kit that comes with simple programs that can be modified as a way to start understanding code. It's fun because it DOES things (can control lights or sounds or motors).

This one was pretty good (though a few of the parts were cheap and broke): http://www.amazon.com/Arduino-Ultim...424355902&sr=8-2&keywords=vilros+arduino

It's the availability of sample, modifiable code that made this workable for us.

I imagine Raspberry Pi is similar; I haven't investigated it.

My kids also like Lightbot, which teaches about algorithms through a game. http://lightbot.com/hocflash.html
There is a MOOC from Harvey Mudd called "Programming in Scratch" that started earlier this month. DD7 is not finding it easy, but she's enjoying it.
The Raspberry Pi kits generally come with a version of Debian Linux (raspbian) and a virtual X-windows desktop that includes Scratch and Python IDEs.

There is a P2 now that is reputed to be 5-6 times faster than the B+ too but it is hard to get for the sticker price due to being so new.

In addition to the Pi, a USB keyboard and a monitor that will accept an HDMI cable (or get adaptor) is basically all one needs to get started. The board has an Ethernet port and a wireless USB dongle will cost about $10.

My DD will finish her Algebra one class with AoPS at the end month and start a Python class in March. She will be using the Pi that she got for Christmas to do this.
Madeinuk, Does your DD do all of the challenge problems?
She starts the class on March 11 so I do not know yet for the Python.

For the pre algebra and algebra 1 classes she has had solutions for all of the challenge problems so far but doesn't always get the full 8 points (7 for correct answer + 1 for style). One week she had a solution but did not enter it due to family obligations/house guests which also showed her the consequences of not doing all of her work on time (a controlled micro failure). Overall, I think she has kept her head well above water on this.

I am very happy with the AoPS approach so far!

Oh okay.. My DD11 is doing Aops but not the class, just the book, videos, and alcumus. I had her doing all of the challenge problems, but recently started having her doing just half of them. I have been trying to figure out if that is a mistake. she does all of the exercises and review problems
Chana, with AoPS I think you can take it as deep as you want - but there's a lot of depth and little repetition in those challenge problems at the end of each chapter. They're worth doing if time is not a factor; the Alcumus questions are comparatively more basic.
© Gifted Issues Discussion Forum