LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 11-09-2014, 06:25 PM   #1
qweasd
Member
 
Registered: May 2010
Posts: 621

Rep: Reputation: Disabled
Slackware way of teaching coding?


My daughter is 3, and she can type, draw with GIMP, and play ktuberling. I am wondering what slackers think about best ways to teach programming. I know I am kind of cheating by bringing this very general question into this forum, so how about this: what does Slackware already have in the way of teaching tools? I am afraid that if I leave it up to chance, her first language is going to be bash. But who knows, may be it's for the best?

Thinking back to my own childhood I find that I learned to code not because but seemingly in spite of the languages that were thrown at me: Pascal, Logo, MSX Basic. Well, Logo was kind of OK. And the thing is, I mostly appreciated how both Logo and MSX Basic allowed me to draw graphics more or less from the command line.
 
Old 11-09-2014, 06:39 PM   #2
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,224

Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
Quote:
Originally Posted by qweasd View Post
My daughter is 3... I am afraid that if I leave it up to chance, her first language is going to be bash.
You mean she'll be the best person in the world?

Anyway, check this out:

http://www.nostarch.com/pythonforkids
 
Old 11-09-2014, 06:41 PM   #3
metaschima
Senior Member
 
Registered: Dec 2013
Distribution: Slackware
Posts: 1,982

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
A bit young for programming. Bash would be the simplest and easiest to learn, but I don't think you can get a kid at this age to program. Either way, the first thing I programmed was a Lego Mindstorms at age 10 or so. You can do things with Lego mindstorms on Linux too:
http://tldp.org/HOWTO/Lego/

I guess some type of programming game might work as well ... I mean there has to be something interesting for a kid.

Last edited by metaschima; 11-09-2014 at 06:42 PM.
 
Old 11-09-2014, 06:44 PM   #4
Richard Cranium
Senior Member
 
Registered: Apr 2009
Location: McKinney, Texas
Distribution: Slackware64 15.0
Posts: 3,858

Rep: Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225
Slackware comes with all sorts of languages. Python, lisp (via clisp), perl (the flatus of the devil IMO), ruby (almost the flatus of the devil IMO), whatever gcc supports [there's several], and various shell scripting languages.

It's not much effort to add go, forth (via pfe or ficl), haskell, lua, and even more.

I can't provide any insight on what a 3 year old girl would find fun enough that a computer would do if you if you told it how to do it, much less your 3 year old.
 
Old 11-09-2014, 06:46 PM   #5
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,057

Rep: Reputation: Disabled
I suggest LOGO, that is designed for that purpose.

Ideally that would be to remote control a physical turtle with a pen to draw, dunno if that's available/expensive
 
2 members found this post helpful.
Old 11-09-2014, 06:55 PM   #6
T3slider
Senior Member
 
Registered: Jul 2007
Distribution: Slackware64-14.1
Posts: 2,367

Rep: Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843
Slackware includes kturtle which would probably work for the very young, but even better would be a drag-and-drop LOGO-like programming language to start. I don't have any suggestions but it may be wise to look for such a program...kturtle is not really *that* kid-friendly which is unfortunate considering what it is.
 
Old 11-09-2014, 07:00 PM   #7
astrogeek
Moderator
 
Registered: Oct 2008
Distribution: Slackware [64]-X.{0|1|2|37|-current} ::12<=X<=15, FreeBSD_12{.0|.1}
Posts: 6,263
Blog Entries: 24

Rep: Reputation: 4194Reputation: 4194Reputation: 4194Reputation: 4194Reputation: 4194Reputation: 4194Reputation: 4194Reputation: 4194Reputation: 4194Reputation: 4194Reputation: 4194
That is a bit younger than I started mine (7-11), but I think they could have grasped much of it even earlier!

I started mine programming with PHP, set up a web server and gave them a place to keep and run their pages and also easy access to the PHP manual online supplemented with a few printed books. (Mine were all home-schooled as well, so this was a good fit.)

With some really simple introductions to the basics of writing valid PHP (<?php echo"Hello World!"; ?>), simple loops, variables and such... they took off on their own! In particular, they all were immediately energized by having a real application fo their math knowledge - it all fed on itself!

My reasoning for PHP was that within a simple web page it gave them a simple but powerful UI, avoided data types and let them get down to the flow control and rather much instant results.

As it turned out, within a couple of years my son (the oldest) was dreaming in C/C++, Java and just about anything else he could get good information on!

So, you will certainly need to do a bit simpler intro for a 3/4 year old, but make it easy for her to try some simple things on her own, input, IF/ELSE, output, and don't underestimate her ability to soak it up!

Last edited by astrogeek; 11-09-2014 at 07:02 PM.
 
Old 11-09-2014, 07:11 PM   #8
qweasd
Member
 
Registered: May 2010
Posts: 621

Original Poster
Rep: Reputation: Disabled
Wow, kturtle, talk about a solution under my nose. By the way, I don't mean just for right now (although that would be cool too), but also in the next few years.
 
Old 11-09-2014, 07:22 PM   #9
genss
Member
 
Registered: Nov 2013
Posts: 741

Rep: Reputation: Disabled
my first contact was QuickBasic at cca 8 years of age
after i got the hang of it i drew a few pictures and made a menu to choose (think i made an animation too)

found this basic version while googlin, it looks nice

LOGO is awsome though


i usually recommend basic to people of any age to start learning programming
reasoning is that it is easy to learn the basic logic behind programs in... well basic (if, if-else, goto, variables, etc)



@Richard
couple of assemblers too

Last edited by genss; 11-09-2014 at 07:23 PM.
 
Old 11-09-2014, 09:14 PM   #10
mlslk31
Member
 
Registered: Mar 2013
Location: Florida, USA
Distribution: Slackware, FreeBSD
Posts: 210

Rep: Reputation: 76
Quote:
Originally Posted by qweasd View Post
I know I am kind of cheating by bringing this very general question into this forum, so how about this: what does Slackware already have in the way of teaching tools? I am afraid that if I leave it up to chance, her first language is going to be bash. But who knows, may be it's for the best?
I tried to learn bash bit by bit from the bash man page. I'd rather have my teeth pulled out with pliers then have to do that again!

It used to be that my Barnes & Noble had a nice selection of O'Reilly books. I did OK on learning something if there was such a book to go with it. [Of course, the Camel is always at hand.] However, my local Barnes & Noble closed years ago, so I don't know if the B&N bookshelf is as nice as it used to be. All I have here is Books-a-Million, and my luck has never been good there. To learn "______ in 24 Hours" never takes 24 hours, and "______ for Dummies" doesn't quite get me up to speed.

Just my two cents about saving myself long periods of frustration.
 
Old 11-09-2014, 10:35 PM   #11
TracyTiger
Member
 
Registered: Apr 2011
Location: California, USA
Distribution: Slackware
Posts: 528

Rep: Reputation: 273Reputation: 273Reputation: 273
Plotter Simulation

Many years ago I taught a school-year long programming class to 2nd, 3rd, 4th, & 5th graders using BASIC. Different days for each grade level, one class 90 minutes long each week. There were homework assignment and quizes. This was a volunteer after-school program I established at a public elementary school.

At first I introduced a set of instructions to "program" a simulated plotter device. First they created and followed the instructions on paper, they were the computer. Next they typed instructions into the computer to have the computer display the results.

After they grasped the ideas of instructions controlling a device, typing and storing instructions on a computer, dealing with errors, I then taught them the BASIC language the rest of the year.

We concluded the year with a hangman program where different groups of students were responsible for different routines used in the program. The younger students required a lot of help with this final project but the older students required only a little help.

--------------------

Next year I'm considering teaching an introductory programming course to "economically challenged" teenagers through a charity organization. So a few months ago I recreated my imaginary plotter device with its instruction set so it would run on a Slackware system.

My plan (if I teach a class) is to use this simulated plotter to introduce basic concepts then move to kturtle for additional programming concepts. I've tested it out for a couple of hours on a few kids with encouraging results.

The first version of the program written in the summer grew "organically" as I learned the nuances of ncurses and tried to figure out what I wanted the program to do. Not the best example of good coding practices.

Two weeks ago I cleaned up and simplified the program "specs" so I could rewrite the program and be less ashamed of the coding.

My plotter simulation is more about a sequence of instructions and doesn't qualify as a programming language. It has branching, looping, and subroutines but it's missing conditional execution/branching and variables among other features. The program is not meant to stand on it's own. It's intended as a computer lab tool that accompanies lecture, handouts, etc.

In case anyone is interested in my program, I'll resurrect this thread in a few months when I finish rewriting it.
 
Old 11-09-2014, 11:06 PM   #12
ttk
Senior Member
 
Registered: May 2012
Location: Sebastopol, CA
Distribution: Slackware64
Posts: 1,038
Blog Entries: 27

Rep: Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484
My niece is ten, and is starting programming with Javascript. It's not my favorite language, but has the advantages of being as simple for starters, and as complex as the programmer can handle as they get more experienced. There are also good tutorials out there and Logo-like teaching tools which start the novice with a graphical interface (in their browser) instead of vi or nano.

http://learn.code.org/

Barring that, there's nothing *wrong* with bash! :-)
 
Old 11-10-2014, 06:12 AM   #13
kooru
Senior Member
 
Registered: Sep 2012
Posts: 1,385

Rep: Reputation: 275Reputation: 275Reputation: 275
With all respects, but kids should play with stuffed animals or out of home playing with their little friends.
What's the sense to teach programming at 3-10 years old? Just to say, wow my son is the best son of the world..and your?
My 2 cents.
 
3 members found this post helpful.
Old 11-10-2014, 07:43 AM   #14
Soderlund
Member
 
Registered: Aug 2012
Posts: 185

Rep: Reputation: 81
Quote:
Originally Posted by kooru View Post
With all respects, but kids should play with stuffed animals or out of home playing with their little friends.
What's the sense to teach programming at 3-10 years old? Just to say, wow my son is the best son of the world..and your?
My 2 cents.
They will have a much easier time in school if you teach them things when they are young. They will already know how to read, write and do maths while the others are struggling. Of course the reason is not to laugh at how stupid the other kids are -- that's horrible, man -- but to give your children a head start in life.

I'm not going to say that programming is too early. My daughter played chess and go with me when she was 3. I think I'll wait until she is 7 or older until I start teaching her programming though (English is a prerequisite och här talar vi svenska).

They also need to think it's fun, by the way. Don't be like the parents who failed at ice hockey and try to force it on their sons even though they hate it. I knew many of those when I grew up.

C teaches you the best habits and mindset in my opinion. I shall start with that, I think. It's a bit much with the memory management and pointers. A functional (NOT object-oriented) language without malloc/free and pointers would probably be easier. I've never programmed in BASIC. Java is not such a bad idea because Swing is so easy, and they will get a graphical result rather than a text prompt, but on the other hand Java is a disgusting language. Maybe web development...

Good luck and let us know how it goes. I have thought much about this too.
 
Old 11-10-2014, 07:58 AM   #15
moesasji
Member
 
Registered: May 2008
Distribution: Slackware Current / OpenBSD
Posts: 322

Rep: Reputation: 104Reputation: 104
Quote:
Originally Posted by qweasd View Post
My daughter is 3, and she can type, draw with GIMP, and play ktuberling. I am wondering what slackers think about best ways to teach programming.
I'm very surprised on the rather technical suggestions. All you would aim for at that age is to develop the logical reasoning skills. Therefore my suggestion would be to have a look at Scratch developed by MIT. This is relatively easy and done in such a way that it is fun for children. Personally I would consider it still be a bit much for most 3 year olds, though!

There are slackbuilds for it, although I can't comment on how well they work. My children used it on a Debian system until I had enough of maintaining it.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Teaching myself C++ Amdx2_x64 Programming 28 07-21-2008 01:08 PM
Word teaching mindspin Linux - Software 3 09-27-2004 05:22 AM
Teaching Linux madunix Linux - Networking 4 05-12-2004 01:53 PM
teaching active directory w/o teaching network concept (possible???) Tafta General 4 01-21-2004 06:12 PM
Teaching Linux evilmrhenry Linux - General 5 11-14-2003 06:38 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 12:26 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration