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