I dived right into your lessons... Looks *very* good. I am always looking for "new" approaches to teaching programming, since this is the very topic of my future PhD-thesis. Giving the students a "standard" which there programs are to meet should indeed be very motivating and pose a positive challenge to all students. My class starts in three weeks, so I have some time (not much :) to try out doctest on my own and see if it would be suitable for my students. Did your students find it difficult to learn and start implementing TDD?

Have you considered using this approach in the exam? One thought that came to mind would be to make the grades depend on which test cases the programs pass. The test cases could be divided into groups, and in order to pass the tests in the "higher grade"-groups, the programs would have to be more flexible, advanced and so on than programs passing the basic test cases. In this way the same task could be challenging for all students. Finding suitable exam questions can, in my opinion, sometimes be really tricky, especially when there is great variation in the students' programming skills.

/Linda


Jeffrey Elkner wrote:

One more note on this topic.  I'm quickly coming to the conclusion that
the best way to teach any programming, OOP or otherwise, is using Test
Driven Development (TDD).  DocTest is an absolutely wonderful tool in
this regard (thanks to Tim Peters!).  I write the assignment as a
collection of tests, which the students are asked to pass one at a time.
They find it fun and empowering, since it helps them break down complex
tasks into simple steps.  More students are able to solve the problem,
and to better understand difficulties they have along the way.

I only discovered DocTest a few weeks ago, but if anyone is interested
in seeing my first attempt at writing lessons with it you can see them
here:

http://linus.yhspatriot.net/cs/cs

(note: this site changes rapidly, so the lessons might not be here
later, but I plan to refine them a bit and put them on the Python
Biblioteca:

http://www.ibiblio.org/obp/pyBiblio/



_______________________________________________
Edu-sig mailing list
[email protected]
http://mail.python.org/mailman/listinfo/edu-sig

Reply via email to