This book is an ideal starting point for students learning the essentials of computer programming. Assuming no prior knowledge (other than basic computer operation), this unintimidating and clearly written guide introduces the student to programming terminology, fundamental concepts, and techniques for writing actual code. Python is ideal for novice programmers; it is available for free; it has simple syntax but powerful features; it supports lots of programming styles; it runs on many platforms; it has a friendly and helpful user community. Using the Python language to teach the fundamentals of computer programming, the book introduces elements of programming style and offers a look at the thinking and steps involved in designing a software solution. Several sample applications illustrate techniques and ideas in action.