School of Electrical Engineering and Computer Science
Washington State University
Algorithmic Problem Solving with Python
I once considered publishing a book that uses Python to introduce folks
to programming and algorithmic thinking. But, why go through the
hassle of publishing through a publisher when you can give away
something for free? (Okay, I can think of several reasons, but,
as with my book on the Finite-Difference
Time-Domain method, I’m going to ignore them!)
I teamed up with Shira Broschat and Jessamyn Dahmen and here is what
we have written so far. I consider this to be something of
a work in progress, but many of the sections are rather well polished
(as I hope you’ll agree). Here are a few things to note:
This material is presented “as is.” One of the
reasons I’m not trying to publish this via the traditional route is
that I/we lack the time to put all the finishing touches on this
material (such as adding full problem sets at the end of each chapter).
Despite the previous statement, we sincerely welcome any and all
suggestions to improve this material. If you catch a typo or
think there is some weakness in this material, please let me know
(by sending John Schneider email
at
schneidj@eecs.wsu.edu
).
If you find this material useful and see an opportunity to cite
it, we would be ever so appreciative of the
citation. Please cite this work as:
Algorithmic Problem Solving with Python, John
B. Schneider, Shira Lynn Broschat, and Jess Dahmen, www.eecs.wsu.edu/~schneidj/swan,
2013.
You may download either the entire book (via the link immediately
below) or download the individual chapters. However, this book is
completely hyper-linked and many of these hyperlinks break when you
split the book into individual chapters. Thus, unless you can think
of a compelling reason to do otherwise, we encourage you to download
the entire book.