Off-Topic > Off-Topic - Tiny Core Lounge
Recommendations for a 14 years old intelligent boy: where can he start in PCs?
cast-fish:
Yes
honestly take alookat Logo programmng. Free tools like "Imagine Logo". A child will pick this up instantly and be able to create computer graphics.
Then show them "Elica Logo" which again is surprisingly simple to get stunning graphics programming capability.
It takes some understanding of how the owner has completely abstracted away any need for people to understand
object orientated techniques. Instead, a new comer just being introduced to Elica woul probably get right into
the ideas behind it. ELica uses the Logo language but in a more powerful way to produce 3D graphics.
Elica can also do most of GUI windows programming. It has many widgets and controls so it's possible to get right into making simple but effective win32 programs for the desktop. Personally i only got so far with Elica but was able to grasp the notion of how 3D programming is done in the tool. There creator told me that there tends to be issues with people from different programming backgrounds because they think Elica is "too" simple and tendto overcomplicate the issues of object orientated principles...but when Elica is explained with the good email help you can begin to see the principles of designing a 3D program. You can then also continually look atthe 800 examples in the help section and learn by demonstration.
Elica does not have a hierarchy in command listing order. Logo can have commands in any order. True each command has a syntax, but routines and structure is loose.
I think it would be perfect for young people getting into programming because you see immediate results. The actual power of Elica, in the right hands, is very high.
personally, i am a big fan of coding or programming but i am doing moreand more of system "batch" things and general up keep of operating systems and scripting. Chron jobs and sometimes makros. The kind of scrips that
belong to a host tool, for example, verysimple SQL commands and general things like that.
For your interest, there is also Limnor tool which is a win32 programming tool which is completely codeless. There is never a single line of code seen.It is quite powerful and good tutorials exist. However thiskind of tool isn't exactly commonplace at all. If your youngsters need introductions to proper scripting and thereality of computer coding
then Limnor may throw people off track. Currently there are just over 3200 computer programming languages in the world............. and i imagine a tiny tiny amount are codeless. I know of only about 10 codeless tools.
Thanks
V.
Rich:
Hi Lee
--- Quote ---Yet I'm kind afraid they'll fall in love with their first programming language and/or develop the bad habits that are so easy to develop in BASIC.
--- End quote ---
I don't know about the version your running, but I believe nowadays BASIC supports call statements.
So tell your kids "no goto's allowed", at least not to or between subroutines. The best way to move
them to a different language is to create a situation that offers a path to something they want. For
example, faster program execution. Try to give them something that BASIC does not handle easily
or very well.
@cast-fish: Abstraction can be a wonderful thing but it comes at a price. In this particular case it gives
you the opportunity to not learn about what's going on behind the scenes of that abstraction, like how
is that pushbutton made, or how do they make that cube look like it's rotating.
@Lee: By showing them how an ASCII to integer routine works you can teach them recursion. Showing
them integer to ASCII will expose them to the modulo operator, which makes a nice stepping stone
to array indexes that wrap around automatically. For extra credit, do those same indexes to a power
of 2 without using the modulo operator.
Lee:
Elica looks like an MS windows executable, which is not always a bad thing, but right now I need something that I can run on all the boxes in my basement "computer lab" - and I only have one truly "working" windows box in the entire house.
But beyond the practicality issues, I'm not convinced that Logo is the way to go for kids in this age group. I've played with Logo a bit myself over the years, though I admit I've probably never given it the consideration it deserves, and found that the whole turtle graphics idea (*) is fun but not hugely useful beyond learning the simplest concepts of programming.
For the very youngest of budding programmers, the immediate visual feedback of the graphical output is better than character based output - but I don't know if I'm ready to start my youngest (5 - 8 years old) ones on any kind of programming yet.
The 10 - 12 year olds are just (I think) able to get the idea of abstract data, distinct from its representation as character or graphical output, I'm leaning toward the character based approach and maybe having them learn how to build simple graphs the hard way. That will reinforce some of the mathematics we'll be doing this year as well.
(*) It certainly looks like Elica has gone beyond just "turtle graphics"!
Just looked at vice again... and realized that the 25 x 40 character screen is just a hair smaller than a business card on my monitor. Still a very neat toy, but I think I'll stick with smallbasic for the kids until they're ready to move on to bigger and better forms of torture programming.
Lee:
I kind of want them to go down that "goto" road, just once or twice. Then it'll be their own idea to never go there again. ;)
And you're right again, Rich, it will be features that lead them to other languages - the speed of a compiled language, the data structure capabilities of C, the utility of shell scripts, database access, the sheer horror of pointers with several-layer-deep indirection. ;)
As for recursion - Michael already learned about stack overflow - it was a "gosub" thing. If you're interested in such things, smallbasic's return stack capacity is 256 elements. That gave me the opening to describe how the stack works. Oh... you mean intentional recursion... we didn't get into that, except to mention that there is such a thing and it is sometimes useful.
cast-fish:
Yes,
very interesting to read and see the funny comment(s) like "torture"......but that kind of humour
actually touches on a serious point.
You want to be able to nurture kids into having a true buzz about computers. You want them to feel
some passion for it and drive and enthusiasm. Ok, it may start out as a hobby, but you want to be certain
that the enjoyment level is high enough that the learning then comes naturally and with delight.
Just because somebody is passionate about a hobby or interest does not always mean they are able
to convey that passion over into others and i think that's where speaking to teachers and educational people
really helps.
Logo and "imagine logo secondary" are educational programming tools and not production tools. Although they could
equally fit each role. You get the feeling that this is how the tools have been designed. They are designed to
be interesting and yield quik results that satisfy and can promote further learning.
It's real interesting is this http://www.r-e-m.co.uk/logo/?K=SECONDARY
shows types of software teaching tools about systems for younger people.
With computers being so widespread these days, and handheld computers with cheap apps (phones) to widespread
internet terminals and usage....... it's wise to assume that's computers are pretty much embedded into major aspects of
ones everyday life. Kids therefor are growing right into this embedding which is very different from my upbringing.
They say now it's not unusual for 6 year olds to be telling adults how to use java cell phones or i-phones
or indeed PC's and the like. Kids are already "into" computers because they hold one in their hand. They are far more
"imprinted" with this technology than anything close to my upbringing.
What i mean to say is that kids are genuinely "imprinted" with computing now from reading age upwards. It's something
they already really know about and enjoy. ALthough not everybody is so lucky and hence inventions like the Raspberry pi
computer are to bring computers into the hands of everybody. I live in a large city and can't believe the proliferation of
computing in society now.
PEople need to know some raw facts about a diciplin like personal computing before they embark on the lower end theory
of operating systems and computers and code. For example, Debian Linux Computer operating system BASE is
40 million lines of code. A full Linux installation like that with desktops and tools maybe more than 80 million lines of code. Apparently to print out win32 takes a shipping pallette of those blocks of A4 paper (copying paper.)
Tinycore is about 10 thousand lines is it?
I have used 3d programming tools which give you 3D results in 5 to 10 lines of code.
That's 3d graphics creations which are essentially what any kids will be interested in. There are such visual teaching tools as ALICE 3D for kids learning 3D graphics programming skills. These are simply excellent and can't be over-stated.
http://www.alice.org/
Essentially people should understand the nature of computer coding and while it's prolofic, also understand how
much of todays approaches have learned from history and are now geared towards abstracting away "coding".
This "abstracting away" is putting the computing diciplin into a more generalized interest-group for the masses now. I feel that "coding" is something adults need to step around very carefully with youngsters. The reason i say that is because computing is such a
widespread diciplin that coding is only a fraction of that diciplin. Coding is by no means a large proportion of the computing
diciplin. It's an "area" of computing. Kids have a huge arena of computing diciplins to choose from in life...it's really vast and
many many many of those diciplins are not concerning "coding" at all. All i want to say is that for adults trying to help younger people learn the "raw" tools of the trade is a very good idea. IT should just be done in a very careful manner to help nurture
the continuing natural interest the youngster has.
i hope this helps out someway
V.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version