Introduction to Programming in Python: An Interdisciplinary Approach emphasizes interesting and important problems, not toy applications. The authors focus on Python's most useful and significant features, rather than aiming for exhaustive coverage that bores novices. All of this book's code has been crafted and tested for compatibility with both Python 2 and Python 3, making it relevant to every programmer and any course, now and for many years to come.