A problem-solving approach to programming with Python.The Practice of Computing using Python, first editionis intended to teach problem solving within the context of CS1 to both majors and non-majors using Python as a vehicle. As such the authors cover general concepts like hardware, complexity, and software engineering as well as general concepts of programming using the Python language. In the end, if a student takes no other programming course than one such as this, they can be productive programmers who understand general principles of computation and can produce useful, meaningful results in their respective fields of study. The Study of Computer Science; Starting to ProgramBeginnings, Control, Algorithms and Program Development; Organizing: Data Structures and FunctionsWorking with Strings, FunctionsQuickStart, Lists and Tuples, Dictionaries and Sets, Files; Classes: Making Your Own Data Structures & AlgorithmsProgram Development with Classes; Becoming a Better ProgrammerExceptions and Exception Handling, Testing, Recursion-another control mechanism, Getting and Using Python, Simple Drawing with Turtle Graphics, Plotting and Numeric Tools, Python 3.0. Anyone interested in learning Python or computer programming skills in general.