Monday, November 8, 2010

Teaching Algorithms and Data Structures

I'll be teaching algorithms and data structures (A&DS) at CSUMB in Spring 2011. I have (essentially) complete freedom in teaching the class and choosing a book. So far, so good.

I always like to consider first principles, so I wanted to address three issues:

  1. What A&DS will I teach, and why these?

  2. How will I convey the importance of the material? What is its relevance?

  3. What language will I use for teaching the course?



Address the third question, and something of the first two, I had an idea. You can script The GIMP to do just about anything, and it uses a scheme (and therefore lisp) variant as a scripting language. Brilliant. Not practical to teach, but wow, what a class that would be.

However, there's a simple problem; there is no scheme A&DS book in print. Nor a lisp book. In fact, if you want to teach A&DS, there are three language choices for books in print:

("Algorithms and Data Structures in Books" from Amazon for a more complete list)

Oh, nominally there are pascal options, and MIT Press has published a pseudocode-based A&DS text. But the basic problem is that neither C nor lisp are options.

I will probably go with Java, although Python is tempting, tempting, tempting.

1 comment:

  1. Python would be great for introducing data structures and algorithms for sure, but there isn't much room to expand or advance the lesson like there would be with Java and C++.

    ReplyDelete