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

Re: [school-discuss] Teaching programming on Linux



Scratch is very very good.
Love it.
Problem is that at this stage will not run on Linux.

When choosing a language it is important to consider how students will be able to make progress outside of school with out being encumbered with expenses.  The cool thing about _javascript_ is that you only require a text editor and a browser.  Another factor is relevance.  Web related stuff has application in an environment that students are very familiar with.

In a way I agree with you about promoting structured thinking but my goal at the start is simply to teach sequence, selection and iteration, variables and modules.  Moving from there to PHP or Python is possible.

I've just had a group of students go through the Python Challenge (http://challenge.ncss.edu.au/about/)  Feedback from them has been extremely positive and I recommend this as an approach and language.  The students I had were all high achievers and so I'm not sure how this might go for the average student.

2008/9/1 Yishay Mor <yishaym@xxxxxxxxx>
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,

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/

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/




--
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/