Series: For the Absolute Beginner
Paperback: 455 pages
Publisher: Course Technology; 3rd edition (January 1, 2010)
Product Dimensions: 1.2 x 7.5 x 9.2 inches
Shipping Weight: 2 pounds (View shipping rates and policies)
Average Customer Review: 4.1 out of 5 stars See all reviews (198 customer reviews)
Best Sellers Rank: #30,780 in Books (See Top 100 in Books) #45 in Books > Computers & Technology > Programming > Languages & Tools > Python #63 in Books > Computers & Technology > Programming > Introductory & Beginning #78 in Books > Computers & Technology > Programming > Web Programming
I am a beginner with respect to programming, and do not have a particularly technical background: I know almost no math though I know formal logic pretty well. I was interested in learning something about computer programming just for fun and have looked through a number of books about a number of languages. I even spent some time with C before I decided on Python. To an absolute beginner, it seemed a relatively intuitive language without some of the messy detail required by C, for example, about memory allocation. I chose this book simply because it looked fun and very clear. Each chapter focuses on tools needed to create games. I do not have any interest at all in playing computer games of any kind, but it is a relatively painless way to learn Python. I also found the exercises at the end of each chapter very good. They are hard enough but not too hard. They generally required a fair amount of time and effort, but I was able to finally figure out all of them. This is important since I am doing this on my own.The Cons: The book aims to be simple and brief, but sometimes it is too simple and brief. Yes I learned to get the computer to do this or that, but I did not fully get some of the concepts. In fact, I think the book moved on to fancy stuff like graphics before I got down all I needed of the basics such as file control. Perhaps someone who already knew something about programming would have had less trouble. For example, the material on writing to a file stored on the hard drive for future use was fine, as far as it went. But I realized, when trying to write a program of my own, that I did not understand a key point. If you have recorded some data to a file, and then want to revise that data, Python rewrites the entire file. Huh? What about my original data?
Python Programming by Michael Dawson is a very well written book intended to enthuse amateur programmers into the world of video game programming. By the time you finish chapter 12 of this book you will be ready to create your own mini games much similar to games you find on apps on phones and such. For those of you who want this immediate pleasure I have to say, this is the book for you and disregard my poor rating. But for those who really want to get down to the nitty-gritty basics of python and develop a solid understanding of it, this is not the book for you. So if you're a programmer who dreams of being a game developer one day, I say buy this book right away - it's fun. But if you're looking for a more formal approach to programming and aren't necessarily interested in the gaming aspect of Python Programming read on.Let me tell you why I think this book deserves only 3 stars. A bit of background, I started researching with particle physicists and astronomers at my school and programming python was much required so I decided I wanted a solid understanding of creating basic python scripts. What I ended up getting was a unorganized book that seemed to toss in information only for the soul purpose of creating a game at the end of each chapter. This was very bearable for the first 3-5 chapters but after that I couldn't get through a single chapter without having to scroll through multiple pages to find what a certain thing does because of it's lack of structure. It also lacks direction, it teaches you enough to get through the chapter but doesn't let you spread your wings and become creative with the script, by this I mean that it teaches you the very basics and moves on without getting a bit creative with the code.