On Mon, 09 Dec 2013 12:23:41 -0000, Oscar Benjamin <oscar.j.benja...@gmail.com> wrote:

Some of the objections to the idea that were voiced in the meeting were that:
1) Some people felt that Python is not an "industry standard" unlike
C/C++/Java and that it is not as good for employability.
2) Students should learn to program in a statically typed language
because it leads to good programming discipline.
3) Python is too close to Matlab (which is considered essential for
some industries our students often go in to).
4) It is better for students to be introduced to programming with a
low-level language so that they gain a better understanding of how
computers "really work".
5) Learning to program "should be painful" and we should expect the
students to complain about it (someone actually said that!) but the
pain makes them better programmers in the end.

I have taught Python as a first language to 12-15 year old kids, and for their purposes (learning how to get computers to do stuff) it was just fine. In particular, it reads easily (as long as you steer clear of funny stuff like decorators and metaclasses), so our students found it easier to explain to themselves what examples did without all the unusual (in English) punctuation getting in the way.

While your students aren't 12-15 year olds, it sounds rather like what you want to give them is very similar. Unlike Computer Science students, they don't need to know how computers "really work" (except in the limited sense of floating point arithmetic, which is going to give them headaches however you introduce it). What they need is confidence in manipulating data and algorithms, and Python's a perfectly good choice for that.

For contrast, my CS degree of >mumble< years antiquity threw a lot of different languages at us, usually in pairs, to illustrate different concepts. 6502 assembler showed us the basics of how a computer works, while System/370 assembler showed how horribly complex those basics can get; Pascal and BCPL contrasted rigid typing with practically non-existent typing (something Modula-2 and C didn't do nearly as well); and so on and so forth. None of this is stuff your students need for their work, so I wouldn't waste time side-tracking them with it.

--
Rhodri James *-* Wildebeest Herder to the Masses
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to