[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [school-discuss] Teaching programming on Linux



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=yishaym%40gmail.com
+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,

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:
http://www.doc.ic.ac.uk/~wjk/c++intro/<http://www.doc.ic.ac.uk/%7Ewjk/c++intro/>

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.