ActionScript as a teaching language

D. Hugh Redelmeier hugh-pmF8o41NoarQT0dZR+AlfA at public.gmane.org
Mon Jan 2 02:12:58 UTC 2006


| From: Paul King <pking123-rieW9WUcm8FFJ04o6PK0Fg at public.gmane.org>

| > Also Logo, Lisp and Prolog can be said to be birds of a feather (with 
| > Logo requiring the least typing, followed by Prolog and followed by Lisp 
| > after a large gap).
| 
| Grade 11s would be more worried about whether the concepts I am trying to teach 
| will make sense to them.

I don't know what concepts you are trying to teach.  But Logo is a
great introductory language.  It was designed for young kids
(elementary school).  Without condescension.

I showed Logo to my kids.  They thought it was OK, but preferred BASIC
because it was more real (there is no accounting for taste).

Logo is a very powerful language.  I know people who have done systems
programming in it (including me).  It could be considered simplified
LISP.

The most important commercial educational Logo is from LCSI (an Quebec
company).  It is inside their "MicroWorlds" products.  I've not played
with them in a decade, but I think highly of them:
	http://www.microworlds.com/

The Ministry of Education might have a site license for Ontario (not
sure).

| Whether the code is more concise in one language or 
| another is hardly here nor there.

If the only difference is concision, the shorter program is clearer.

One way of making a language concise is to add powerful and possibly
obscure features (think of APL or C expressions).  That requires more
learning, and is probably a bad feature for your purposes.

Another way is to leave out crap (useless details).  This makes the
language more teachable.  Logo does this.  So does Python.

| Apart from that I don't know of any Computer 
| Science program on the planet, even at the university level, who would use these 
| as teaching languages (maybe in third-year, and only because there is no better 
| language for the particular job in that course).

I was involved with a first year U of T course that used Logo.  It was
designed to be a terminal course -- for those not going on to further
CS.

Introductory programming at MIT used Scheme (a version of LISP).  The
text is excellent: Structure and Interpretation of Computer Programs.
This was definitely not terminal.

| For example, I have to teach data types, and afterward teach functions, 
| procedures, and scoping rules.

Some of those ideas don't exist or are degenerate in Logo.  That's
part of what makes it simple.

| Turing has always been a trusty language that has 
| made these concepts clear and easy to teach.

I like Turing.  A well done "conventional" language.

| But since Turing is not "sexy" 
| enough,

I've chatted with a number of students who hated it and wanted a real language
like C.  Just like my kids wanted BASIC.  The students are wrong, as
far as I can tell, but what are you going to do?

| This is why I wouldn't teach Python, because the scoping would not be obvious 
| enough.

Why is it not obvious enough?  I admit to knowing too little about Python.

| I wouldn't teach C/C++, because it is too loosely-typed.

Too many razor blades in that package.

| Java is a little 
| better, and is also taught alternatively with ActionScript, because its typing 
| and scoping rules are more sensible. I would personally favour Java.

Java seems to be reasonable.  Not inspired, but reasonable.  If being
widely available and used matters, it might be the best choice.

Perhaps the problem is the curriculum.  Without knowing it, I really
cannot be sure how you can satisfy it.  I do suspect that many
teachers are just ignoring it.

| Sounds great, but if there is ever anything like screen problems, that tends to 
| translate into classroom management problems.

Squeak is a natural successor to Logo.  The Squeak universe is much
more complex and rich.  This may not be a good thing from your
standpoint.  You can tailor it if you want (eg. cut it down).

The main version is (was?) not a browser plugin.  There surely is a
version that works OK for you.

I don't like the fact that (last I checked) Squeak uses a busy loop so
it is always using some of your CPU even when idle.  I admit to being
overly picky about this.
--
The Toronto Linux Users Group.      Meetings: http://tlug.ss.org
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://tlug.ss.org/subscribe.shtml





More information about the Legacy mailing list