This text serves well as a follow-on text to Python Programming Fundamentals
by Kent D. Lee and published by Springer, but does not require you to have read
that text. In this text the next steps are taken to teach you how to handle large
amounts of data efficiently. A number of algorithms are introduced and the need for
them is motivated through examples that bring meaning to the problems we face as
computer programmers. An algorithm is a well-defined procedure for accomplishing
a task. Algorithms are an important part of Computer Science and this text
explores many algorithms to give you the background you need when writing
programs of your own. The goal is that having seen some of the sorts of algorithms presented in this text, you will be able to apply these techniques to other programs you write in the future.