Questions on Using Python to Teach Data Structures and Algorithms

Wayne Brehaut wbrehaut at mcsnet.ca
Wed Nov 7 23:06:24 CET 2007


On Thu, 28 Sep 2006 17:23:25 +0200, "Ramon Diaz-Uriarte"
<rdiaz02 at gmail.com> wrote:

>Going back to the original question, a related question: does anybody
>know why there are so few books on data structures and algorithms that
>use Python?
>
>I remember that, at least ~ 12 years ago there were many (and very
>good) books that used Pascal for this topic. So when I did my own
>search for one in Python (just for my own consumption and
>enlightnment) and could only find the same one as the original poster
>of this thread [1], I was very surprised. No publishers have felt the
>need to fill this gap?

No, and you'll know why if you check for the number of university and
college computer science students  learning Python in their
introductory programming course (not the number of  institutions  that
teach a little bit in a physics course), and the number of textbooks
available to support that (and not free online or print tutorials).
There's just not a big enough market for (traditional) publishers to
be interested in publishing them or (traditional) authors in writing
them. 

Preiss (http://www.brpreiss.com/page1.html) translated his original
C++  text (1999)  into a number of other languages: Java (2000), C#
(2001),  Python (2003), and Ruby (2004). So he could easily afford to
Translate the early money-makers into less used languages because the
initial writing overhead was no longer an issue--and much of the
tyranslation was "automated". And he uses his free online versions to
help market the publishe'rs small (relative to C++ and Java) print
runs, so they can afford to service this very small market.

DSA--formerly (i.e., in the "Good Old Days") just Data Structures-- is
or was,  in the "usual" CS curriculum (a la ACM+IEEE)  at least, a
second-level course based on CS1; hence, "most efficiently" taught
using the students' introductory language (if it's at all suitable,
and texts are available) so only some finer points of the language
needed covering and one can concentrate on implementation of the data
structures themselves. 

So very  little CS1 in Python translates into very little--and
probably even less--CS2, etc., in Python.

wwwayne

>Best,
>
>R.
>
>[1] http://thread.gmane.org/gmane.comp.python.general/486698/focus=486698
> "Data Structures and Algorithms with Object Oriented Design Patterns"
>(http://www.brpreiss.com/books/opus7/html/book.html) and was surprised.



More information about the Python-list mailing list