From: -jg on
On Jun 29, 8:09 pm, Jon Kirwan <j...(a)infinitefactors.org> wrote:
>
> >- and I would add some functional targets too:
>
> >** Able to Source Step-Simulate on a PC
> >   So students do not need a target, to develop
>
> Hmm.  I have to think about this.  Part of what I'd like to
> do is allow the students to choose their own directions. Some
> might want to blink lights, others might have a very specific
> project in mind that I'd need to help them realize (or lower
> their sights a bit so they could realize it.) Making a PC
> simulation for an "unknown" would be tricky.  I'd like to let
> them use their imagination and then see if I can pick up that
> idea and help them through it.  So I will have to think hard
> about this possibility to see if I can manage something
> useful.  My first blush on this is that I can't. But maybe.

It does not need to be super-exact on hardware, just Boolean Watch at
the simplest.
The main point here, was to steer the language choice, so it does NOT
exclude
running code on a PC-IDE, and to allow a PC environment, to learn the
simplest things like Looping.

I did watch the TI demo, and they have a simple Source-code-Avail Live
PC Screen pathway, which looks very nice.- just running a Temperature
readout,
in a largish font, but clearly very easy to expand. - all the pathway
stuff is there
and working.

Being able to customize that PC end should appeal to many.
I'll dig some more.


>
> >** Able to Source Step-debug on the target
> >   The better this is, the less item 1 matters.
>
> Oh, yes.  This is essential.  BASIC statements without line
> numbers would need to execute right away, I suppose.
> Something like that.

Here, it really means BASIC needs to generate Debug object files,
which
is why I flipped my choice to the BCX, as it leverages all the tested
Debug,
with (hopefully) little effort.


>
> >** Able to operate on a Flash Drive
> >   So they can work on any PC
>
> The TI $4.30 system ties into the PC, as well.  I don't know
> any of its details -- haven't got one yet -- but I'm hopeful.
> But yes, USB access to a PC is important.

I was meaning able to install everything onto a Flashdrive and run
from the
flash drive. Easy to take it home then :)

-jg
From: Paul Carpenter on
In article <o9ck26lng9rcl52m3pvs2071rf68ns74qm(a)4ax.com>,
jonk(a)infinitefactors.org says...
> On Tue, 29 Jun 2010 07:54:12 -0700 (PDT), steve
> <bungalow_steve(a)yahoo.com> wrote:
.....

> >We've taught some high school students before, most of it was
> >like a cooking show on TV, you show them some basics, then
> >pull out from underneath a table the completed system they could
> >tinker with. A microprocessor controlled toy car was a big hit, we
> >had
> >all the routines written (turn left, turn right, forward, backward
> >etc),
> >they could call them as they wanted, it was just a bunch of jumps to
> >subroutines. The ones that were really interested
> >wrote their own code, others couldn't care less and just wanted to use
> >the canned routines,everyone was happy.
>
> I'm not expecting a lot. In fact, I consider it a blistering
> success if just one high school student in three years of
> time "gets it" and then applies themselves significantly
> later.

I have only been half following this thread and my first
question is what exact age range are you talking about?

Other half teaches basics of control, looping and animation to
13-16 year olds, using Scratch (scratch.mit.edu) quite
effectively. Even done some burglar alarm control simulations.

She can give them tasks and they can mainly quickly do it, some
go further. Some have even created little games on their own.

There is some external hardware that can be either purchased
or made.

....

> >Otherwise kids are used to cell phones, they won't be impressed
> >by blinking LEDs projects.

With Scratch they can do their own on screen animations, and as
it is free they can install it at home as well.

> Cripes, haven't I heard that one? One kid I talked with
> recently, when I asked him what kind of project might
> motivate him just a little, said he'd like to program his
> Nintendo DS for a new game. The darned thing has shared
> memory, an ARM7, and ARM9, and a few somewhat complex
> peripherals to manage. I knew instantly that no kid would be
> able to take such a giant step, especially as their first.

Get them to do the basics of a game in Scratch first then
see if they think they can do a DS game.

The 17-18 year olds at the other half's school in computing
course have to do a project that involves computational tasks
often as a web front end to PHP/MySQL, some of the children have
to be told that a project like Project Management scheduling
or online booking systems requiring multi-user logins and calendering
are too complicated for one person in the time. Very few across the
country (UK) even attempt the phone app or game app for the actual
device. Also they could be doing upto three other subjects with
projects.

Bearing in mind they are doing this in the second year, by

Summer break find a project, which involves finding a
'customer', documenting an interview and coming up with
documented interview and requirements spec

Autumn term is documenting design spec, system analysis
and starting and database or similar data descriptions

Spring term - doing design, testing, documenting testing
and design.

Start of Summer term (end of year) finalising project
testing and documents, doing interview with 'customer'
for feedback and adding next stages plan to project.

All the time they are still doing the course and learning some
of the stuff they need to do. Many projects are 'completed'
and handed in 'on the wire'.

> Sights way, way too high. Must take baby steps, first. My
> job is to try and make those first steps enough fun, and no
> more, to maybe get one or two to take a second step next.

Teenagers especially think they are indestructible and can
do ANYTHING without training, they always have and always will.

If they have not seen any programming before I strongly recommend
Scratch as an introduction, if nothing else to find out their abilities.


--
Paul Carpenter | paul(a)pcserviceselectronics.co.uk
<http://www.pcserviceselectronics.co.uk/> PC Services
<http://www.pcserviceselectronics.co.uk/fonts/> Timing Diagram Font
<http://www.gnuh8.org.uk/> GNU H8 - compiler & Renesas H8/H8S/H8 Tiny
<http://www.badweb.org.uk/> For those web sites you hate
From: Walter Banks on


Jon Kirwan wrote:
>
> I'm also
> considering something along the lines of Lego's dev semantics
> or ZZT (it's a game thing) like approach. Also, Paul has
> mentioned XMOS' XC language, which has some tempting syntax
> and semantics, as well.

High expectations are always a problem in introductory
programming courses. For short courses functional
languages like LEGO work quite well. The primary reason
is the language core has a very simple metaphor but
you can use it to teach most programming concepts without
overwhelming detail.

The nice thing about functional languages is for
a reasonably simple implementation the core interpreter
is very short maybe 300 lines.

Regards

--
Walter Banks
Byte Craft Limited
http://www.bytecraft.com

--- news://freenews.netfront.net/ - complaints: news(a)netfront.net ---
From: Jon Kirwan on
On Wed, 30 Jun 2010 08:09:17 -0400, Walter Banks
<walter(a)bytecraft.com> wrote:

>Jon Kirwan wrote:
>>
>> I'm also
>> considering something along the lines of Lego's dev semantics
>> or ZZT (it's a game thing) like approach. Also, Paul has
>> mentioned XMOS' XC language, which has some tempting syntax
>> and semantics, as well.
>
>High expectations are always a problem in introductory
>programming courses. For short courses functional
>languages like LEGO work quite well. The primary reason
>is the language core has a very simple metaphor but
>you can use it to teach most programming concepts without
>overwhelming detail.

I think I broadly agree with this and I need to give this
some more thought and actual testing effort to verify.

>The nice thing about functional languages is for
>a reasonably simple implementation the core interpreter
>is very short maybe 300 lines.

Hmm. Any particular pointers here that I may examine to
elaborate the details here? (In no way am I disputing your
point, it's just that I'm lazy enough to want any help I can
get.)

Thanks,
Jon
From: Jon Kirwan on
On Wed, 30 Jun 2010 10:37:54 +0100, Paul Carpenter
<paul(a)pcserviceselectronics.co.uk> wrote:

>In article <o9ck26lng9rcl52m3pvs2071rf68ns74qm(a)4ax.com>,
>jonk(a)infinitefactors.org says...
>> On Tue, 29 Jun 2010 07:54:12 -0700 (PDT), steve
>> <bungalow_steve(a)yahoo.com> wrote:
>....
>
>> >We've taught some high school students before, most of it was
>> >like a cooking show on TV, you show them some basics, then
>> >pull out from underneath a table the completed system they could
>> >tinker with. A microprocessor controlled toy car was a big hit, we
>> >had
>> >all the routines written (turn left, turn right, forward, backward
>> >etc),
>> >they could call them as they wanted, it was just a bunch of jumps to
>> >subroutines. The ones that were really interested
>> >wrote their own code, others couldn't care less and just wanted to use
>> >the canned routines,everyone was happy.
>>
>> I'm not expecting a lot. In fact, I consider it a blistering
>> success if just one high school student in three years of
>> time "gets it" and then applies themselves significantly
>> later.
>
>I have only been half following this thread and my first
>question is what exact age range are you talking about?

I believe the first post (and perhaps a few others) mentioned
ages. It may be held at high school as an after-school hour
long session once a week. Those folks might be as young as
15 or so. It may also at other times be held at a senior
residence center and those folks might be as old as 75 or so.
And I may also hold them as community education classes via a
local community college (not for credit, as that adds too
much cost, since colleges are in the business of selling
credit hours and aren't likely to cave in there.) Those
folks may be in between the other two ages.

Which pretty much means anyone, at all, except fetuses and
kids too young to walk, yet.

>Other half teaches basics of control, looping and animation to
>13-16 year olds, using Scratch (scratch.mit.edu) quite
>effectively. Even done some burglar alarm control simulations.

I just went to the web page. I have spent exactly 60 seconds
looking and stopped. I wasn't able, in that time, to find
programming source code examples and/or to see how this might
operate on a tiny embedded micro to control a small movable
toy without a PC present. If you have some good pointers to
look at there, or some thoughts about it, I'd enjoy that.

>She can give them tasks and they can mainly quickly do it, some
>go further. Some have even created little games on their own.
>
>There is some external hardware that can be either purchased
>or made.

Cheaply?


<snip of points not addressed to me>

>> Sights way, way too high. Must take baby steps, first. My
>> job is to try and make those first steps enough fun, and no
>> more, to maybe get one or two to take a second step next.
>
>Teenagers especially think they are indestructible and can
>do ANYTHING without training, they always have and always will.
>
>If they have not seen any programming before I strongly recommend
>Scratch as an introduction, if nothing else to find out their abilities.

Just as in a beginning class on pottery, there is very little
time available to explore capabilities by teaching something
_else_, first. I will have very little time, in some cases.
In a summer class done as a community education extension at
a community college I may have 4 weeks and probably no more
than 2 hours per week. As in pottery, the idea is to provide
a variety of easy to apply tools and get them to start
playing right away. I want them to actually complete
something before the end that is fun and worth taking home.
If I tried to get them through doing a Scratch project (I'm
guessing here, of course), the class might be over before
they ever begin.

I think I need to focus directly and squarely on the primary
goal. I want to reach folks who may never do much more, but
wouldn't mind taking a crack at it and maybe taking a project
or two home with them and ... never again come back.

If I were trying to find out their programming abilities, for
example, I might start them out with this:

http://pleasingfungus.com/

But most folks would run from that, screaming insanely all
the way home. And I want to reach people, not send them away
to come back with pitch forks to drive me out of town!

Jon