Thank you very much for your thoughtful points and resources -- well-taken, useful and appreciated.
David
----- Message from yishaym@xxxxxxxxx ---------
Date: Mon, 1 Sep 2008 09:14:05 +0100
From: Yishay Mor <yishaym@xxxxxxxxx>
Reply-To: schoolforge-discuss@xxxxxxxxxxxxxxx
Subject: Re: [school-discuss] Teaching programming on Linux
To: schoolforge-discuss@xxxxxxxxxxxxxxx
I beg to differ.
_javascript_, PHP etc. are very powerful scripting languages. They get the job
done (in web environments), but for introduction to programming / CS you
would want something that promotes structural thinking. Hence, I'd probably
go with a strong-typed, object-oriented language. Java would be my choice,
just because I know it well. I've heard good things about Python, but I have
no first-hand knowledge. One of my favorite textbooks here is:
http://mindview.net/Books/TIJ4
Another path to consider is using one of the many great educational
programming languages, such as scratch, squeek, NetLogo, ToonTalk, etc. Some
more here:
http://en.wikipedia.org/wiki/Category:Educational_programming_languages and
http://en.wikipedia.org/wiki/Educational_programming_language, although the
list is far from complete.
Then there's the question of educational approach. Is programming a means or
an end? Do you "teach" programming or do students learn by using it to solve
problems? There's a long tradition of constructionist programming, starting
from Papert's work. Scratch is in that vein, and so was the WebLabs project
http://www.weblabs.org.uk/wlplone. Randell Monroe recently blogged about
http://projecteuler.net/, which I think is a very neat reasource.
Finally, you can probably find all the text you need at
http://en.wikibooks.org/wiki/Wikibooks:Computing_department
___________________________
Yishay Mor, Researcher, London Knowledge Lab
http://www.lkl.ac.uk/people/mor.html
http://www.google.com/calendar/embed?src="">
+44-20-78378888 x5737
2008/9/1 Peter Ruwoldt <ruwoldtp@xxxxxxxxx>
I would consider _javascript_.
It permits students to learn the 3 constructs plus the use of variables and
modularisation. It is available to do at home and at school so seamless
working between home and school and is highly relevant in all sorts of ways.
Do you have Moodle?
I have a _javascript_ course that you could use. It could be improved by
having some screen casts but the course structure is sound for learning the
basics of programming
A nearly current version is at http://www.watiwara.org/mdl1/
It is called Website Programming 1.
I see this leading into PHP which again is very accessible.
You might also like to have a look at LiveLAMP as a way of easily having a
webserver on the LAN for students to play with
http://linux.softpedia.com/get/System/Operating-Systems/Linux-Distributions/LiveLAMP-5902.shtml
Peter
2008/9/1 David M. Bucknell <dbucknell@xxxxxxxxxxxxx>
Dear Colleagues,
http://www.doc.ic.ac.uk/~wjk/c++intro/<http://www.doc.ic.ac.uk/%7Ewjk/c++intro/>
I have two questions from a reluctant-Linux computing teacher:
1. With what should he introduce computing (in a Linux lab)?
- He would like experienced-based suggestions for teaching lower and
middle secondary introductions to programming. Apparently, he used visual
basic before. He knows of Pascal. Perhaps that's the best direction then?
2. how can he teach C to secondary-level students on Linux?
He is looking for
a) an environment suggestion
b) suggestions for on-line and offline materials
c) good sites
I would appreciate hearing from anyone who has experience in these areas.
Sincerely,
David
P.S. Here are some preliminary resources I've found:
An Introduction to Programming Using C:
Introduction to Programming Using Java:
http://www.faqs.org/docs/javap/
Introduction to Programming on Linux:
http://linux.omnipotent.net/article.php?article_id=12484
Introduction to Programming with Python and TKinter
http://wiki.python.org/moin/Intro_to_programming_with_Python_and_Tkinter
MiniLesson: An Introduction to Linux in 10 Commands:
http://librenix.com/?inode=4052
Bash Shell Programming in Linux:
http://www.arachnoid.com/linux/shell_programming.html
Introduction to Programming in C/C++ with Vim:
http://www.justlinux.com/nhf/Programming/Introduction_to_C_Programming.html--
An Introduction to the Linux Command Line:
http://www.makeuseof.com/tag/an-introduction-to-the-linux-command-line/
Developing Web 2.0 Apps with the Google Web Toolkit:
http://linoleum.leapster.org/
CS510: An Introduction to Programming Using C:
http://intranet.cs.man.ac.uk/Intranet_subweb/Postgrad/ACS-CS/webpages/syllabus/cs/CS510.php
C and C++
http://www.luv.asn.au/overheads/prog/c.html
Introduction to Perl Programming:
http://www.euler.com/publiccourses/programming/intro_perl_programming.php
An Introduction to Ruby:
http://www.hosting-review.com/hosting-articles/ruby.shtml
Introduction to Programming:
http://www.freebsd.org/doc/en/books/developers-handbook/tools-programming.html
Teach Yourself Programming in Ten Years:
http://norvig.com/21-days.html
A Byte of Python:
http://www.swaroopch.com/byteofpython/
http://www.ibiblio.org/swaroopch/byteofpython/read/
Irie Pascal Details:
http://www.irietools.com/iriepascal/
---
ITEACHNET.ORG
http://iteachnet.org * Sustainable Learning Technologies by
International Knowledge Networks, Co., Ltd., Thailand
Linux and Open Source/ Cross-platform Everything:
Training, hosting, design, development, Server admin, network admin.
66(0)84 329 1183 (cell phone); 66(0)2 260 0640 (office); 66(0)2 260 0646
(fax);
E-mail: information@xxxxxxxxxxxxx
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
--
Free and Open education for all
Peter Ruwoldt
Grant High School
Hosking Avenue
MOUNT GAMBIER SA 5290
P. 08 87263128
F. 08 87250173
ruwoldtp@xxxxxxxxxxxxxxxxx
http://ruwoldtp.googlepages.com/
----- End message from yishaym@xxxxxxxxx -----
--ITEACHNET.ORG
http://iteachnet.org * Sustainable Learning Technologies by
International Knowledge Networks, Co., Ltd., Thailand
Linux and Open Source/ Cross-platform Everything:
Training, hosting, design, development, Server admin, network admin.
66(0)84 329 1183 (cell phone); 66(0)2 260 0640 (office); 66(0)2 260 0646 (fax);
E-mail: information@xxxxxxxxxxxxx
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.