473,748 Members | 10,737 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Which kid's beginners programming - Python or Forth?

Please forgive me if this is TOO newbie-ish.

I am toying with the idea of teaching my ten year old a little about
programming. I started my search with something like "best FREE
programming language for kids." After MUCH clicking and high-level
scanning, I am looking at Python and Forth. Both have advocates that
say each is a great approach to learning computers.

My programming classes were a long, long time ago in a land far, far
away. My programming muscles, which were never truly developed, have
atrophied even so. That said, I want to learn this as we go. The
PROCESS of research and using net resources for a self-learning
adventure is almost as much of the goal as learning a programming
skill.

That said, a good learning goal for my kid would be to create a
spelling tutor for his little brother. My (simple) vision would be:

1. an input file of this week's word list
2. use a free text-to-speech engine to call out one word at a time
3. in turn, monitor each key press as a particular word is being
typed, beeping on an incorrect keystroke and going to the next word if
correct

I don't care if it takes a year or two to get to this level, I just
want a vehicle that will take us there.

I told my son, who wants to learn how to compute probabilities, that we
have to start with some boring stuff so we can learn how to do the cool
stuff. Adding and subtracting aren't really fun, but figuring odds on
rolling dice IS fun. Learning to program will be kind of like that.
He accepted that explantion.

So, that said... In ~simplest~ terms for the stated goal -- Forth or
Python?
....the goal is NOT the spelling tutor... it is learning how to use a
tool to solve a problem. I am asking which tool is more suited to an
otherwise arbitrary direction of "spelling tutor program."

[NOTE: This is not a troll. I'm geting ready to bark up a tree and I
prefer to avoid the wrong one. I am cross-posting.]

Thanks

Jul 19 '05 #1
38 4805
Hi,

A couple links ...
http://www.summerland.uku.co.uk/
http://pylogo.org/
http://www.python.org/sigs/edu-sig/
BORT wrote:
Please forgive me if this is TOO newbie-ish.

I am toying with the idea of teaching my ten year old a little about
programming. I started my search with something like "best FREE
programming language for kids." After MUCH clicking and high-level
scanning, I am looking at Python and Forth. Both have advocates that
say each is a great approach to learning computers.

My programming classes were a long, long time ago in a land far, far
away. My programming muscles, which were never truly developed, have
atrophied even so. That said, I want to learn this as we go. The
PROCESS of research and using net resources for a self-learning
adventure is almost as much of the goal as learning a programming
skill.

That said, a good learning goal for my kid would be to create a
spelling tutor for his little brother. My (simple) vision would be:

1. an input file of this week's word list
2. use a free text-to-speech engine to call out one word at a time
3. in turn, monitor each key press as a particular word is being
typed, beeping on an incorrect keystroke and going to the next word if
correct

I don't care if it takes a year or two to get to this level, I just
want a vehicle that will take us there.

I told my son, who wants to learn how to compute probabilities, that we
have to start with some boring stuff so we can learn how to do the cool
stuff. Adding and subtracting aren't really fun, but figuring odds on
rolling dice IS fun. Learning to program will be kind of like that.
He accepted that explantion.

So, that said... In ~simplest~ terms for the stated goal -- Forth or
Python?
...the goal is NOT the spelling tutor... it is learning how to use a
tool to solve a problem. I am asking which tool is more suited to an
otherwise arbitrary direction of "spelling tutor program."

[NOTE: This is not a troll. I'm geting ready to bark up a tree and I
prefer to avoid the wrong one. I am cross-posting.]

Thanks


Jul 19 '05 #2
"BORT" <UN**********@s pammotel.com> wrote:
So, that said... In ~simplest~ terms for the stated goal -- Forth or
Python?
...the goal is NOT the spelling tutor... it is learning how to use a
tool to solve a problem. I am asking which tool is more suited to an
otherwise arbitrary direction of "spelling tutor program."


Forth is an interesting language. But, as a practical tool, Forth is
somewhat of an orphan. You're going to find a lot more in the way of
Python resources than you're going to find Forth resources (for example,
1945 posts to comp.lang.pytho n vs 236 to comp.lang.forth in the past 2
weeks). I know "most popular" doesn't always mean "best", but in this
case, I think it's an important factor. The more you can find in the way
of tutorials, libraries, and on-line help, the easier it will be to master.

Not to mention, that when you're done learning Python, you will have
learned a modern language which includes concepts common to many languages
in common use today. When you learn Forth, you will have learned Forth.
About the best that can be said about that is that It'll give you a
head-start if your next goal is to learn PostScript :-)
Jul 19 '05 #3
D H
BORT wrote:
So, that said... In ~simplest~ terms for the stated goal -- Forth or
Python?
...the goal is NOT the spelling tutor... it is learning how to use a
tool to solve a problem. I am asking which tool is more suited to an
otherwise arbitrary direction of "spelling tutor program."


Python is easier to learn that most other popular programming languages.

For a games approach, check out this online "book" targeted to kids:
http://staff.easthighschool.net/lee/computers/book/
It uses pygame and Lee Harr's pygsear.

For another graphical approach, playing around with images and sound
files, see the Jython Environment for Students (JES). Jython is python
running on top of java's virtual machine.
http://coweb.cc.gatech.edu/mediaComp-plan/94
http://coweb.cc.gatech.edu/mediaComp-plan/27
http://coweb.cc.gatech.edu/mediaComp-plan

For text-to-speech, if you are using Windows and python, see the pyTTS
module and this link: http://www.cs.unc.edu/~parente/tech/tr02.shtml
If you are using jython, see FreeTTS instead:
http://freetts.sourceforge.net/docs/index.php

But since your son is only 10 years old, I'd really recommend first some
non-python development environments that are even more geared to kids:
- Lego Mindstorms, which has a graphical programming environment to
control robots you build (you connect a flow chart to describe the
program instead of having to type and indent everything perfectly). It
is targetted specifically for kids his age, but it is a bit expensive.
- http://agentsheets.com/ - Very neat java-based authoring tool, but
unfortunately costs money too. Trial version only lasts 10 days, but
you can learn a lot in that time using this tool.
- NetLogo (and the older version StarLogo):
http://ccl.northwestern.edu/netlogo/ Uses Logo to script hundreds of
"turtles" in parallel. This is a free tool.
- http://e-slate.cti.gr/ really awesome authoring tool, but hasn't been
updated in a couple of years because I guess the funding ran out.
Jul 19 '05 #4
Hi All--

Roy Smith wrote:
When you learn Forth, you will have learned Forth.
About the best that can be said about that is that It'll give you a
head-start if your next goal is to learn PostScript :-)


In which case, you should start with PostScript;-) I learned it by
plugging a glass tty into the serial port on one of the very first
AppleWriters and typing away. None of this fancy-shmancy '>>>'
business;-) But what a great reward, having graphics come out the
printer when you typed 'show'.

Seriously, PostScript is a lot more fun to learn than Forth, and more
directly useful. Since the rewards are so immediate, a kid's attention
could be gained and kept pretty easily.

But I'd still recommend Python as a first programming language. Keep to
the standard stuff--ignore list comprehensions and so on--until he or
she has the basic control flow down pat.

Metta,
Ivan
----------------------------------------------
Ivan Van Laningham
God N Locomotive Works
http://www.andi-holmes.com/
http://www.foretec.com/python/worksh...oceedings.html
Army Signal Corps: Cu Chi, Class of '70
Author: Teach Yourself Python in 24 Hours
Jul 19 '05 #5


BORT wrote:
Please forgive me if this is TOO newbie-ish.

I am toying with the idea of teaching my ten year old a little about
programming. I started my search with something like "best FREE
programming language for kids." After MUCH clicking and high-level
scanning, I am looking at Python and Forth. Both have advocates that
say each is a great approach to learning computers.

You may find RUR interesting
http://rur-ple.sourceforge.net/
("Learning Python: Child's Play with RUR-PLE!")

Jul 19 '05 #6
BORT said unto the world upon 27/06/2005 23:16:
Please forgive me if this is TOO newbie-ish.

I am toying with the idea of teaching my ten year old a little about
programming. I started my search with something like "best FREE
programming language for kids." After MUCH clicking and high-level
scanning, I am looking at Python and Forth. Both have advocates that
say each is a great approach to learning computers.
<snip>
[NOTE: This is not a troll. I'm geting ready to bark up a tree and I
prefer to avoid the wrong one. I am cross-posting.]

Thanks

Hi,

I don't know a thing about Forth. I'm a hobbyist programmer with
enough Python , and a "tourist's" level of a few other languages. So,
no pro here :-) Qualifying done:

A great thing about Python is the community. Roy Smith's stats
comparing mailing list activity is useful data. I would also add that
with the leading and closing bits of your post, it seems like perhaps
you've seen an ugly flame or two in the past, no? Well, this is a very
friendly place by 'net standards. One can get flamed in
comp.lang.pytho n, but you have to work at it. Hard.

Another good community resource would be the Tutor mailing list --
there are a core group of posters who are very good at explaining
things in a patient and novice-friendly way (and a number of
intermediate folks like myself who sometimes ask, sometimes answer):
<http://mail.python.org/mailman/listinfo/tutor>.

A useful (and free) book aimed at high school students is How to Think
Like a Computer Scientist: Learning with Python
<http://greenteapress.c om/thinkpython/>. Though an adult when I came
to Python, I found it useful while first starting and a bit
intimidated by the prospect. It quickly got me to a place where
reading "grown up" books like Learning Python was easy enough.

Best,

Brian vdB

Jul 19 '05 #7


Ivan Van Laningham wrote:
[...]

Seriously, PostScript is a lot more fun to learn than Forth, and more
directly useful. Since the rewards are so immediate, a kid's attention
could be gained and kept pretty easily.
PostScript is easy, but I'm afraid some technical details could get in
the way of enjoyable exploration, e.g. font types or scaling.
PostScript is also a single purpose language: it can print static
graphics and with a slightly more complex setup it can display static
graphics on the screen, period. No interactivity, no files, no network,
no general computation or data structures.
But I'd still recommend Python as a first programming language. Keep to
the standard stuff--ignore list comprehensions and so on--until he or
she has the basic control flow down pat.


Python is general purpose; it can do graphics with a path/stroke model
like Postscript's and a whole world of other things. There are many
complex features in Python that shouldn't be introduced before the need
arises.
List comprehensions, however, *are* the basic control flow; loops are
much more verbose and they should be used only when necessary.

Lorenzo Gatti

Jul 19 '05 #8
BORT wrote:
I told my son, who wants to learn how to compute probabilities, that we
have to start with some boring stuff so we can learn how to do the cool
stuff. Adding and subtracting aren't really fun, but figuring odds on
rolling dice IS fun. Learning to program will be kind of like that.
He accepted that explantion.


I'm not sure that you actually have to start with the boring stuff.
Imagine that you have a small, but complete program that executes some
random function a thousand times and plots the distribution. Your son
could probably
* start to change parameters to the function
* try out the different distributions in the library
* combine them to form new distributions (e.g. roll two n-sided dice)
* build more complex simulations (pit two Dungeons&Dragon s fighters
against each other by rolling simulated dice)

It's a bit more work for you as you'll have to decide on each step how
much of the infrastructure you implement without taking away all the
challenges.

Python vs. FORTH: what you learn from Python is more easily transferred
to other programming languages. And if you happend to speak German,
there is "Python für Kids"
<http://www.amazon.de/exec/obidos/ASIN/3826609514/qid%3D111995045 7/302-9800191-4449651>

Daniel
Jul 19 '05 #9
ga***@dsdata.it wrote:
List comprehensions, however, *are* the basic control flow; loops are
much more verbose and they should be used only when necessary.


List comprehensions are probably a bad idea for entry level programmers:
- for and while loops are much easier to debug as you can insert print
statements everywhere
- list comprehensions don't allow you to break complex expressions into
several simpler ones by using local variables, everything has to happen
in one expression

Daniel
Jul 19 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
1151
by: yps | last post by:
as a new learner of python,which book in <python in a nutshelland <programming pythonis more suitable? and recommend several books? thanks best regards pase.Y
0
8991
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9541
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9370
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
8242
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6796
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6074
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4874
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3312
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
2215
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.