Python Programming for the Absolute Beginner - 3rd Edition

ByMichael Dawson

feedback image
Total feedbacks:22
8
6
3
2
3
Looking forPython Programming for the Absolute Beginner - 3rd Edition in PDF? Check out Scribid.com
Audiobook
Check out Audiobooks.com

Readers` Reviews

★ ★ ★ ★ ☆
jonathan litton
It help you visualized programming as if you were a game programmer. So it's great for someone
who needs to get his head wrap up around solving problems, even if it's not for games.
Great for beginners.
★ ★ ★ ★ ★
betty dickinson
I learned Python in three months using this book. I don't usually post reviews but felt the need to do so because of another reviewer's claim that this book is only for windows users. The cd that comes with this book is unfortunately for windows users but the chapter lessons and challenges work for any operating system. In fact, I used this book exclusively under linux and OS X.
★ ★ ★ ☆ ☆
jacobsson
Python Programming for the Absolute Beginner has a great premise: explain programming fundamentals and python language specifics with frequent "games" interspersed to show off new skills. The first six chapters follow the premise and include great explanations. They introduce basics like printing text and interpreting user-entered data and move on to arrays and functions. The games are simplistic but serve as great reinforcement or practice, and they come with challenges to ensure you really understand the concepts.

However, beginning in chapter seven and continuing through the rest of the book, topics get increasingly complex while the explanations stay the same length. The code samples still work, but are increasingly difficult to follow, and the challenges appear more and more daunting. As other reviewers have mentioned, the book moves onto new topics without complete explanations of previous topics. After completing the book, you'll recognize objects and classes, graphical user interfaces, and basic games, but you won't feel confident enough in your skills to use any of this knowledge on your own unless you're supplementing this book with others.

By the end of the book, you're "reproducing" a simple pizza-dropping game and a version of Asteroids, but most users will have no idea how to make their own game. Indeed, most beginners who start Python don't intend to use the language to build games! Rather than rushing to the games at the end of the book, I wish I could have spent more time really learning and understanding files and the principles of object-oriented programming; those skills would have set me up to continue learning about Python. However, if you'd like to have something to "show" at the end of the book, the games included are great to show off to friends!
Invent Your Own Computer Games with Python, 4E :: Python In Your Pocket (Pocket Reference (O'Reilly)) :: Python for Beginners with Hands-on Project. The only book you need to start coding in Python immediately :: Who We Are (When We Think No One's Looking))] [Author :: A Playful Introduction To Programming - Python for Kids
★ ★ ★ ★ ☆
donna downing
I'm rewriting this review based on more thought, and a comment.
It is well written. But, beware that if you are using python 3, your code may not work.

The code can be found, but on a different site then what the book says, and that greatly improves it's usability.
★ ★ ★ ★ ☆
josie
It clearly goes through each subject and shows how to use the techniques in real aspects of programing! I was using it to teach me CS 1301 at Ga Tech because I did not take that course and needed it during CS 2316.
★ ★ ★ ★ ★
adhityarama
Python Programming for the Absolute Beginner is a must have for the person who wants to pursue a career in Computer Programming and have no background whatsoever.It is useful for people who only uses the computer primarily for internet and email.Added to that,Python is a great programming language to start with.
★ ★ ★ ★ ☆
chris leveille
Python has become very popular recently, as a perusal of the list servers on the various programming languages attests to. The author of this book points to its widespread use in game programming, and a perusal of the contents of the book will reveal the influence of Python in this area. This reviewer has used Python in the context of Web application modeling, where it's conciseness and ease of use made it very helpful. This book was helpful in the actual learning of Python in order to carry out this effort, but this reviewer cannot speak to its power in game programming since he has never used it in that context. The book therefore was not read in its entirety, but only parts deemed useful for learning Python in order to carry out useful tasks. The book is advertised as one that is directed to readers who are `absolute beginners', so some of the contents will seem very elementary to those readers with programming experience. Readers who might be thinking of learning Python but want evidence of its success can go to the Python.org site to find examples of its application. This reviewer does not know of any cases where Python has been used for heavy-duty number crunching, but it looks as though this is in the realm of possibility.

When learning Python one will observe a certain simplicity in its syntax, and for those readers/programmers who despise creating user-defined interfaces from scratch, Python come with its own GUI, which is called IDLE (IDE on a Mac platform). Python is touted as being object-oriented, and is compared in this regard with C# and Java in the book. However, these languages are not truly object-oriented, given the existence of primitive types in them. The author though points out that contrary to these languages, the use of Python as an object-oriented language is optional, to be used only for large projects where object-oriented programming really has its power.

The scoping rules in Python are typical for a language that is globally scoped. The variables inside function definitions are local to the function, i.e. are in its `namespace' and cannot be accessed from any other namespace. This allows variables with the same name to be used in different functions. But even though you cannot access variables in a local namespace if you are in a global namespace, you can change global variables from inside functions, as the author illustrates with an explicit example. In addition, one can give a variable inside a function the same name as a global variable and `shadow' the global variable. This allows one to change the value of a global variable inside a namespace for processing purposes, but the original value is unchanged in the global namespace. The author correctly warns against the use of global variables, due to the possibilities of side effects. Global constants however are encouraged.
★ ★ ☆ ☆ ☆
david dexheimer
I regret buying this book, and have since gone on to purchase other Python books that actually suit my needs. My two stars are essentially for the style and approach the author has taken to teach the language, it just does not suit me. Some of you may like this approach but I prefer the convential, language driven method rather than games for which I have no interest. I'll keep it around, maybe there I'll find something useful in it at some point.
★ ★ ★ ☆ ☆
hendra purnama
The book is excellent but all the comments before this one apply to previous editions. Those editions included a CD with supporting software and all the programs discussed in the book. This third edition (Jan 1, 2010) asks the book owner to connect to a web site to download the support files. The instructions to do this are incorrect as the book now has a new publisher. Once on the web site, the files cannot be found. A phone call to their customer service was unproductive. "Our editorial staff will contact you by e-mail". Didn't happen.
★ ☆ ☆ ☆ ☆
wendy e
I bought this book trying with no programming experience. I took me a good 2 hours with the help of text support to download, the version in the book is different than the version downloaded. This becomes an issue in the first chapter because it leads to programming errors. In chapter 2, they tell to look at a companion website to see how code should be written (because there is no way from looking at the book you would have any clue on how to do it) but it doesn't exist. I also agree with all the comments in 1 and 2 star category
★ ★ ☆ ☆ ☆
alex hegg
This is a pretty good book for learning basic python... and how to use the basic tools of Tkinter... and how to use a modified version of Livewires... The problem here is that you never learn how to access anything beyond the scope of basic self-contained programming and the highly limited capabilities of these pre-made modules. If you want to be able to interact with your hardware, the internet, or anything other than math and games, you're out of luck. Common sense would tell you not to start a beginning programmer with a reliance on one graphics module and one GUI module, neither of which you expect them to even take a peek at the source of, but then, common sense would require students not to expect to have graphics handed to them on a silver platter. The first nine chapters are good work though... The 10th and 11th simply give in to the students' wishes that they could go ahead and have a graphic interface without doing any of the work, and that's not good teaching.
★ ☆ ☆ ☆ ☆
cheryl klein
I bought this for my kindle, and have been frustrated and discouraged from the beginning.
Its chock full of syntax errors, so any example you type into python is wrong.
Since I'm a beginner trying to learn, I have no idea where the syntax errors are, and have to resort
to online tutorials etc.
Kind of defeats the purpose of buying a book doesn't it ??
★ ★ ★ ★ ★
daphne cheong
This book is the only programming book that didn't bore me to death! I've read 20-30 programming books and never made it through them. I always find it too much writing and not enough hands on. This book uses one program after another to show you how and why the code is written.

Every time I finished a section I really had a firm grasp on the concepts and was working the challenges at the end of the chapter with only minimal reference to the book. The programs are simple, fun, and perfect to teaching. The book is laid out well and you keep rushing through the chapters to get to the next section which is more advanced and more fun. I like that it includes GUIs and graphics.

I would disagree that this book is only for those without any Python. I knew a little and had written some scripts before I read it. The simple and structured approach is great.

Buy this book and you will have a solid foundation for expanding into the more advanced areas like graphics, networking, etc.
★ ★ ★ ★ ★
chrisel gonzalez
I enjoyed reading the entire book & the game programs that come with it. Initially the book starts at a beginner's level & by the end of the book it goes to an intermediate level of Python. Throughout each chapter, you'll interact with a series of example programs that help prepare you to making the chapter game program. In the last chapter, you progressively build a nicely developed Asteroids-like Game.
While Python is a unique language compared to others, it is easy for beginners to learn from because programs can be made in a short amount of time & OOP (a higher-level topic) is optional.
The author's writing style is objectively clear & understandable & he repeats the info. you learn as you study Python. He explains the concepts, source code & the reasons behind various things thoroughly & very well. You also get helpful programming practices which some are to watch out for or avoid certain things.
Making programs especially larger ones can be challenging & overwhelming. One important concept that must always be incorporated in any learn how to program book is Program Planning. Chapter 3 introduces this topic by going into algorithms, pseudocode & step-wise refinement to your algorithm which you practice using on some programs in the book.
One of my favorites was reading about Object oriented programming that comes later on. You learn about base & inherited classes, encapsulation, polymorphism & how to communicate with different objects by sending messages to them. You then explore how to make GUI Programs & lastly Game Graphics Programs which uses modules from the Livewires package.
A list of some games you make are: Jumble, Hangman, Tic-tac-toe, Trivia, Black Jack, Asteroid-like & Pizza Program.
I like the analogy the author made between the tinted window & global functions.
Some things I learned more of or that was new to me were: tuples, slicing strings, negative string indexes, dictionaries, pickled data.
If you would like to learn more about the Pygame Package & take your Python learning to a next level, I recommend Jonathan's Harbour's book "More Python Programming " which also covers games more.

There were some minor typos.

Suggestion:

In the Asteroids Game: give visual examples on certain pieces of code like on pgs 403, 407 that use the game advance function & a modified ship update function to help understand what's happening better.

on pg274 show that cards.Deck is on the same hierarchy level as BJ_Hand which both inherit from cards.Hand

Con: One major thing I dislike about Python is that its syntax, from reading the book, doesn't use symbols but uses indentation for blocks of code. This makes it difficult to view & code nested blocks or even a block of code.

Book is definitely suitable for a beginner. It does covers a lot but in a smooth pace & sequential
manner. I highly recommend it to a friend.
★ ★ ★ ☆ ☆
chiquitahannah
I have a lot experience with programming and python.

I picked up this book a while a go and (finally) decided to delve into it. First things first:

This book is for games, nothing else. Alot important Python internals are ignored or glossed over.

While it achieves its purpose, you will NOT know how to make your own game after reading this book. That much is clear.

Towards chapter 9+ it starts turning into a little pile of goop. It all makes sense (if you stare at it for hours), yet the explanations are borderline horrendous. After a while I just ignored them. Glossing over important features, lack of defined game structure, and using shortcuts instead of typing it out (which would be helpful for beginners) are all done here. Case in point - Chapter 9's blackjack has you jumping all over the place with only a single, crappy, diagram to go on and psuedocode that does nothing. More pictures with arrows would have helped tremendously here for visual learners. I found myself actually crafting my own diagram to keep up with something he should have put in the book.

He REALLY should have spent more time going over the initial parts of OOP. Instead he says 'now that you have it!' as an semi convoluted cop-out. Once again, one crappy picture and he moves on, no examples or more in depth explanation.

I give it three stars because it does lay out some initial features very, very well. Helps you get going. Also explains modules well. But the simple matter of fact is that the best way to learn a programming language is to ACTUALLY DO IT. No amount of teaching will substitute practice and struggling with the syntax.

If I were entirely new and had to do it over: look up learnpythonthehardway.org and get a quick tutorial (also helps with internals). After that pick up a reference guide (there are some available online, once again, free). Look online and check out stack overflow for detailed help. Codingbat.org is also a good free resource you can use for python practice. I learned the hard way after years of learning languages via books, people make these things for $$ and not necessarily to help you. The best resources are exactly that - FREE.
★ ☆ ☆ ☆ ☆
narike lintvelt
I'm still going through the EBook version ann only in chap 2 but there's alread syntax errors. It's not looking good because I followed the link (which redirects to a totally different URL). I search by the book title hoping to download the example files but the only thing available for download is a word doc. The word doc states:
"For Ebook and Kindle Users:
To obtain the accompanying CD-ROM files for this title please contact Jennifer Blaney at [email protected]. Please include in your email the title, author, ISBN along with your mailing address and we will send a copy of the CD-ROM to you."
SERIOUSLY???????!!!!!!!! If the publisher is able to upload a word doc to the website, they can't upload a zip file? Who's running that shop?
★ ★ ★ ★ ★
mandy mcdonough
This book is fun, entertaining, and works on a principle of "quick success," so that you start writing simple programs right away, and progress in a logical fashion. The examples are engaging and the challenges at the end of the chapter help to reinforce the lessons without being tedious work. Like the Pimsleur method for spoken languages, you start seeing results immediately and gain confidence continuously. It would be nice if the companion website still matched the appendix instructions, but I was able to muddle through without it quite well.
★ ★ ★ ★ ☆
minmin
Apart from some minimal experience with BASIC, I have very little experience with computer programming (html and css don't count). As a first language, I decided to pick up Python, and I figured I'd go with two books: Dawson's "Python Programming for the Absolute Beginner" and Zelle's "Python Programming: An Introduction to Computer Science." These two books serve different purposes, and I'm very glad I bought both of them, especially since they've both been updated to incorporate Python 3 (the latest version).

"Python Programming for the Absolute Beginner" definitely seems to be a Python book for absolute beginners. If you've had no coding experience whatsoever, then this book is probably for you. The author never dumps too much information on you at one time, he is clear in his explanations, and he starts from the very beginning. He defines every single concept as he comes to them, and he explains concepts using helpful, real world analogies and metaphors.

Where "Absolute Beginner" is somewhat lacking, though, is in teaching one how to think like a computer programmer (or computer scientist). The author will teach you the language and prepare you for learning other languages by providing a firm foundation in programming concepts that are used across the board, but the purpose of this book doesn't seem to be to turn you into a full blow computer programmer/scientist. For that, you need a book like Zelle's.

I could see Zelle's book as being somewhat more difficult for the "absolute beginner" (maybe), but he excels at getting the reader to think like a computer programmer should think. Programming is not just knowing a language - it is problem solving. Zelle does a great job, from the very start, of teaching important concepts and problem solving skills (ways of thinking) that will be invaluable to any computer programmer.

Dawson and Zelle definitely have different approaches; overall, I liked Zelle's better, but I would not knock Dawson. They're two different books with two different purposes, and I enjoyed (and learned from) them both. If I had to do it over again, I'd still buy both and work through them together, at the same time, just like I did (and am doing). I think the two work incredibly well together, and I'd recommend them both to beginners in the computer programming/science fields.

For those who already have a firm foundation in other programming languages and computer science concepts, while I'm sure these books could potentially be useful, I have to imagine that they would also be boring and work at a pace that's too slow. I would probably recommend something else.

One important note: For those who want to use view the source code and download the applicable programs that Dawson mentions, you will no longer find them at the location he references in the book. It took a while for me to hunt them down, but you can find them here, now:
★ ★ ★ ★ ☆
dewi indra
Good book for learning python. Only complaint I have is it is impossible to keep open and read at the same time. When programming, you need both hands on the keyboard, obviously, and this book will not stay open.
★ ★ ★ ★ ★
deniece
The only prior programming I had before this book was that of using SQL (very simple compared to `regular' languages since it's a query language).

I'm basically going to repeat what everyone else has said, saying that it is very easy to read through and it's also easy to pick through the language to understand EXACTLY what is going on. I have always been afraid to delve into programming because of the immense math etc. and the fact of having no "wading pool" to get my feet wet safely, but this book is not mind boggling at all. For one who doesn't know anything about scripting, etc. this is great!

I would assume it's good for any beginning programmer, regardless of what language they are looking to specialize in. Also for anyone who uses ESRI ArcGIS products, this is definitely a must if you wish to use their scripting methods for geocoding/processing, etc. (unless you choose VB). After only reading through the first four chapters I found that running scripts with tools in ArcGIS is easily understandable now.
★ ★ ★ ★ ★
ramiro rodriguez
I really wanted to learn a programming language badly. Through some design of fate I chose Python. And only afterwards got to know that I had made the best choice for a beginning programmer. Since I cannot stand to read "tutorials" on the internet, flipping HTML pages, I prefer to learn through reading curled up with a book, I had to get a book or books.

Even though Learning Python 2nd edition seemed to be the most popular, there was something about it I didn't like while reading the index. Then I saw this book, read the index, the reviews (even though only 4) can't lie, and if this book was more popular this column would be full of 100 5 star reviews undoubtedly.

After only a week, I am writing programs that would have caused me to quit a week ago if he had said I have to write such and such a program by a certain time.

You don't have to go as fast as me, you can take your time, I am just putting in a lot of hours.

Anyway, what I found good about this book, is he explains each line of code while introducing a new topic/technique/syntax etc... And the progression of topics combined with learning is excellent. At the end of every chapter you are given 4 challenge programs to write on your own to put into practice mainly what you learned in the chapter. This helps you put into practicality what you read and see if you really know what method or code you need to write the program.

Like the book says, at times you will be challenged but never overwhelmed. This book is true to topic. It is for the absolute beginner, if you have NEVER programmed before this book is for you. It holds your hand if it has to, and you can walk on your own soon. It is a solid introduction to Python. Right now I am looking for my second book which I believe will be Dive into Python and Python Cookbook.

This book is almost exactly like Michael Dawson's other book Beginning C++ Game Programming. Which like this book as received a great response from reviewers and users. It's funny because I can't tell which one was conceived first. This book teaches you programming and Python by using small simple games, like hang-man, tic-tac-toe and others, but is in the "Absolute Beginner Series" and just uses the games as a fun tool to learn.

So either he used this idea for his C++ book and wrote it for the game development series for a specific marketing purpose, or he wrote the C++ one first and used its idea for this Absolute Beginner series.

Regardless of what you want to learn programming for, or this Python language specifically, you have to start at the beginning. Don't go thinking you can create the next Windows or 3d game engine, because a book talks about game programming... and this book Learning Python for the absolute beginner is the most solid foundation you can get for programming and learning Python, to go onto more complicated stuff applications or games.

Sorry for the long winded- fluffy review. The point is

If you == Beginner

get this book.

If you want fastest easiest most fun creative way to learn Python as a beginner get this book. Hope this helps.

== is a comparison operator from Python :)
★ ★ ★ ★ ★
irena vidulovic
If you're a beginning or intermediate programmer (with a year or less of programming under your belt), then this is the best, first Python book you can find. Not only is it the best intro to Python out there, but it's one of the best intros to programming in general I've ever read.
The book is clear, well-written and won't put you to sleep like many other technical books. The author knows how to teach and keep things interesting. And while the book is entertaining, it still covers the Python basics, including:
* Variables
* Branching
* Strings
* Lists, Tuples and Dictionaries
* Functions
* Files
* Exceptions
* Classes (including new-style classes)
But the book goes beyond the fundamentals to cover more advanced topics that most other intro to Python books don't, including:
* Program Design
* Object-Oriented Programming
* GUI Programming
* Multimedia Programming (including graphics, sound and animation)
If you're already a programming whiz, with years of coding experience and mutlti-language fluency, then this book may be too basic for you. In that case, I recommend the Python Visual Quick Start Guide. It's aimed at readers with a solid programming background. And while it doesn't have extensive OOP coverage, it will get an expert programmer up and running with the Python fast.
Finally, once you've got some Python experience, I highly recommend Python in a Nutshell to take you from Python programmer to Python guru.
Hope this helps you on your Pythonic journey!
Please RatePython Programming for the Absolute Beginner - 3rd Edition
More information