<br><br><div class="gmail_quote">On Wed, Mar 23, 2011 at 10:22 AM, Jonathan Lange <span dir="ltr">&lt;<a href="mailto:jml@mumak.net">jml@mumak.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">On Wed, Mar 23, 2011 at 2:09 PM, C. Titus Brown &lt;<a href="mailto:ctb@msu.edu">ctb@msu.edu</a>&gt; wrote:<br>
...<br>
&gt; (Since I like to argue with Michael...)<br>
&gt;<br>
&gt; IMO, TDD is too big a leap for people without a fair amount of<br>
&gt; programming experience.  However, once you have a bit of testing<br>
&gt; under your belt, TDD becomes much easier to justify.<br>
&gt;<br>
<br>
</div>What makes you say that, other than an entirely understandable desire<br>
to argue with Michael?<br>
<br>
I have actually been thinking recently that if I were to have the<br>
opportunity to teach programming to a beginner then I would like to<br>
try starting with TDD (&amp; probably also VCS) from the very beginning. I<br>
have recently watched a couple of novice programmers suffer through<br>
their formal instruction, largely because they were always piling<br>
uncertainty upon uncertainty. When doing assignments, they would add<br>
some code that they thought worked, then some more code that they<br>
thought worked, then some more, and then after a few hours of<br>
difficult thinking and coding they would try to run the code and then<br>
see that it doesn&#39;t work and then be very upset.<br></blockquote><div><br></div><div>That might work for someone who is starting out as a programmer and has little</div><div>hard-wired bad practices in its head.</div>

<div><br></div><div>I would&#39;ve loved to have taken that road when I started learning but unfortunately I learned</div><div>the hard way tripping over my mistakes.</div><div><br></div><div>*That* is the crowd I have: they have learned mostly by themselves with little guidance and obviously</div>

<div>with no one to tell them why they should be writing tests.</div><div><br></div><div>TDD will probably not have the effect I want on them because of the coding level they are. My guess is that if they are</div><div>able to try it out then they can evolve to TDD (like Titus says) later on.</div>

<div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
My hypotheses are that if they were taught to do TDD, this would be<br>
much less of a problem, and that the relatively rigid discipline of<br>
TDD makes it teachable even to programming novices.<br>
<br>
I guess this is wandering rather far off topic, but I would be very<br>
interested to hear from anyone who has tried this.<br>
<br>
jml<br>
<div><div></div><div class="h5"><br>
_______________________________________________<br>
testing-in-python mailing list<br>
<a href="mailto:testing-in-python@lists.idyll.org">testing-in-python@lists.idyll.org</a><br>
<a href="http://lists.idyll.org/listinfo/testing-in-python" target="_blank">http://lists.idyll.org/listinfo/testing-in-python</a><br>
</div></div></blockquote></div><br>