[Edu-sig] Using objects early was Procedural front end for Zelle's graphics.py
kirby.urner at gmail.com
Thu Feb 8 04:57:44 CET 2007
On 2/7/07, Andre Roberge <andre.roberge at gmail.com> wrote:
> Programming is a tool used in studying computer science - just like
> math is a tool useful in the study of Physics. OOP is a modern tool
> used in studying computer science; just like vector-based calculus is
> a modern tool used in studying Physics.
OOP is a tool for analyzing a problem in terms of objects and their
relationships. It's not just a way of writing code, it's a style of
It's also accessible to newbies.
To bleep over it, in a course about using computers to solve problems,
seems wasteful of a golden opportunity, since Python makes it easy
("working pseudocode" "fits your brain" and all that).
> Choosing to use a simple tool (procedural programming, supplemented by
> relevant usage of "dot notation" with little if any mention of
> object/classes) so that more applications of computer science,
> including graphics, can be covered is most likely more appropriate.
I sincerely doubt it. You can try to make the case, but nothing I've seen
here so far has been persuasive.
Graphics are paradigm objects. It's very lazy to revert to procedural
techniques in the face of a language that offers so much more.
Stick to FORTRAN maybe?
> You wrote: "we're in a dark age right now". Let me agree and take
> this statement to the extreme. Forget about OOP. We need to start
> teaching kids about qubits, and the bra and ket notation. This is
> where the future lies, with quantum computing and quantum
> cryptography. Furthermore, the notation is *a lot* simpler than the
> "rib" syntax which you are so fond of, as long as you only deal with
> finite dimensional spaces. Yet, I would not argue that this would
> be appropriate for a CS0 course.
Your analogies of OO with advanced mathematics, thereby suggesting
that OO should be seen as beyond the reach of CS0 is precisely the
attitude I disagree with.
It's woven into our everyday patterns of thought, OO is, including ideas
of inheritance, even polymorphism.
What a great opportunity to connect ordinary patterns of thought with
a formal, machine-executabe language. What a waste to ignore this
Students taking a CS0 course have to be able to write simple programs,
> in various areas (including graphics). There's nothing wrong in
> teaching procedurally based programming at that level. What is
> important is to make them *think* ... not to dazzle them with the
> latest tool.
I feel sorry for students who get suckered into taking such CS0s and
wish they wouldn't get their first impressions of Python from such
Bad PR for Python Nation the way I see it.
Fortunately, not all CS0s are so crummy.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Edu-sig