D&C Lug - Home Page
Devon & Cornwall Linux Users' Group

[ Date Index ][ Thread Index ]
[ <= Previous by date / thread ] [ Next by date / thread => ]

Re: [LUG] Learning a language with linux



Tony Atkin wrote:
Sorry, but I felt obliged to change the subject header

On Wednesday 04 February 2004 14:22, James Wonnacott wrote:

We were having a discussion on this topic today at the school where I
work. Some of the students want to start to learn some programming:

Abstract concepts are the thing to teach, and only a little bit of the
mechanics. If you understand why modularisation is a good thing, or
information hiding, or inheritence, you can easily discover how to use
it on a particular language or system.

My problems with programming mostly stem from not covering enough
general concepts.

Also too much emphasis on procedural programming languages hurts - they
should learn SQL (or similar) - so at least they understand programs
don't have to look like C/Basic/Fortran - but perhaps also a scripting
language (bash/Perl). I never mastered much of the list processing
languages (except maybe LOGO), nor functional programming languages, and
I fear it shows.

Maybe you can even leave language choice to the students, if they
discover a better language to solve a particular exercise in that is
worth a few extra points (I think).

Also ask them to (constructively) critique their own solutions and if
that fails each other.

we have staff willing to learn and want to know what language to use. As
we have a system where most of our PCs will boot into Linux or windows I
suggested using a C on Linux, however the question which arose was what
help/ teach youself/getting started is there.

I've still to find a good book on C programming - it is messy - and to
teach it without teaching bad habits is I fear challenging unless your a
C guru. Even plagarising bits of the GNU "Hello World" package got me
into trouble, as it used some out of date syntax in places.

I'm not a progammer myself
and have no experience of using C but said I'd post
on this list for any advice you could give.
I'm trying to increase the use of Linux here and demonstrate its
advantages so please, any help would be great.

One of the big pluses is the vast amount of source code you can read -
some of it is very good. But I fear much of it is C.

I'm not an educationalist so maybe someone else can describe what I am 
trying to say a little better, but I think the question is about reward.  
If you are trying to learn something then it helps if your learning is 
rewarded by results - feedback loops start occurring.  The problem with C, 
is that you have to learn so much before you can start writing code which 
will give you some really interesting results.

That is why LOGO had a turtle - even the most novice programmer got a
clear graphical output - even if it was only a line going off the screen.

LOGO is far more than a toy language.

http://www.linuxgazette.com/issue43/silva.logo.html
http://www.cs.berkeley.edu/~bh/

And at the end of it they'll be able to program EMACS - or at least make
a far better stab at mastering LISP than I ever did.

Attachment: pgp00022.pgp
Description: PGP signature


Lynx friendly