47 of 48 people found the following review helpful
on 26 May 2012
This is an excellent book!
I am a teacher with some programming experience and am in the process of setting up a new course, for my school, OCR GCSE Computing. I needed a computer language that was easy for teenagers to learn, cross-plaform (so it can run on Macs & Windows PCs), modern with the ability to introduce object orientated programming and to lead on to other languages such as Java. I have taught Java via the excellent BlueJ IDE and the wonderful book, "Objects First with Java: A Practical Introduction Using BlueJ", but this is a bit advanced for 14 / 15 year olds. I did consider using "Greenfoot" with another great book - "Introduction to Programming with Greenfoot: Object-Oriented Programming in Java with Games and Simulations (Alternative Etext Formats), but the OCR course needs more basic introduction to loops, if statements, and arrays and doesn't strictly need objects. As for Visual Basic - well too much fiddling with interface objects, not enough "pure" programming and besides not cross- platform. So I chose Python.
Next step was to choose a tutorial style textbook, with lots of worked examples, exercises to test the students, a fun learning curve, basics and fundamental concepts explained, practically based and with lots of code to play with. I chose "Python Programming for the Absolute Beginner." I chose well, very well!
This book does everything I wanted it to do. Chapters 1 to 7 cover all the programming requirements of the course. The teaching method of building up programming via coding simple games is great. The end of chapter challenges are just about right and some are quite challenging! Any bright and motivated students can easily move on to the rest of the book which introduces Object Orientated Programming. With this book under their belt they will be very good programmers. If they need or want to switch to Java, no problem - The concepts are very similar.
I did have trouble, initially, trying to download the code examples from the publisher, but went straight to author's site - [...] - and no problem.
So if you want to learn Python yourself, as an absolute beginner, and / or teach Python to absolute beginners this is the book for you and your students. Do not hesitate - buy it. (Oh do get the most recent edition - mine is the 3rd edition - as it is written for Python 3 which is the most up to date version of Python.)
46 of 47 people found the following review helpful
on 1 September 2011
I bought this book knowing absolutely nothing about programming. It begins at the very start, with the basics and explains the concept of everything you learn. I haven't finished the book yet, but so far it has been great. It does have a website paired with it, that I thought was a little tricky to navigate, but that is only necissary in downloading python. Even then, you can also go to the python website as well(Which the book clearly explains). It has lots of entertaining programs to write, and includes the code in the book. For example, you start with the simple 'Game Over' program, and go on to Hangman, The Useless Trivia Program and even the three-year-old simulator! There is code for these on the website, but I find it more enjoyable to type it into the computer from the book. Like this you can see how it works, and add or change bits if you want. At the end of each chapter is a set of challenges which you can undertake. They vary, but usually include skills from the chapter. I have noticed that it seems to have a focus on game design and programming.
30 of 31 people found the following review helpful
on 11 October 2011
I have done a bit of computer programming in the past, I learnt C, C++ and Perl. Never used any seriously, though Perl was handy a few times. Anyway, I have never touched programming for years. Recently I had been looking at Python. Modern, easy to learn (apparently) and a language that is capable of everything from the smallest task up to very big projects. Python 'glues' well onto other languages and programs.
The small tasks are what interests me. I have a few things I need to do, a database that is in an absolute mess. It needs LOTS of alterations. I did load it up into an Excel spreadsheet and managed to sort out about 80% of bad data with search and replace. The rest needs something more. It needs a program that will scan through and find data in wrong places and swap the cells over. And I need to do a few other utilities sort of stuff.
A bit of Googling proved that Python was ideal. It can 'plug' into spreadsheets and databases, has good csv support, and lots of examples and tutorials are available to help me out!
First I downloaded Python 2.7 and printed out a few good tutorials from the internet. Then I played around enough to know I could cope with the language. Being a bit old fashioned, I like to work from a good book about any subject I want to learn. This one had excellent reviews and at a very reasonable price.
As it happens this third edition of the book is written for Python 3 rather than the more common Python 2. This has proved to be no big deal. The differences between the Python 3 and Python 2 don't make much difference at the beginner level. You will cope. Python 2 of course has far more in the way of external and useful modules. Such as Django and the xlrd module which I am using to read Excel spreadsheets. These are not ready for Python 3 yet.
However Python 3 is the future anyway. Both versions have their own advantages for the learner. Don't worry, either is fine.
In order to run both versions of Python on my computer, I installed 2.7 on my PC and Installed the excellent Portable Python 3 version on a USB memory stick, that way I get to play with both!
Python is a great language to learn the basics of programming. It has so many practical uses. It scales well and will give you a firm foundation should you wish to continue with other languages. This is the sort of I.T. our schools should be teaching rather than boring kids with Microsoft Office apps.
11 of 11 people found the following review helpful
on 20 November 2010
I can only agree with the feedback other reviewers have provided; this is probably the most accessible programming book of any sort I have come across. I already program in other languages, but I can also see that this book would be the perfect introduction for a complete beginner. The style is easy and often humorous, without being trite. Each new concept is illustrated with well-chosen, simple programming examples. New ideas are introduced quite slowly, but because the book is a pleasure to read, this isn't a problem even for those who are familiar with many of the ideas already - you just keep on reading!
All in all, the author is to be congratulated on an excellent book.
42 of 44 people found the following review helpful
on 10 December 2010
This book is very good at delivering to the target audience - people looking to learn programming in Python. Incidentally, Python is a very good language to learn for beginners as it's relatively easy to understand whilst being pretty powerful too.
The book is never boring and the teaches the concepts by example. Using games to teach programming keeps this reader far more interested than the usual boring programs.
Just because it's for beginners doesn't mean you don't learn how to program well.
7 of 7 people found the following review helpful
on 15 April 2013
I have only gone through the first few chapters, but the book seems well written and easy to follow for people who don't know much about computers.
However there are some problems with it. One major one is specific to Mac users. This book is written for people using a PC and using Python version 3. The biggest problem with this is that Macs come with Python version 2 built in and some of the commands used differ between versions. As an example this caused an error in the very first practice exercise, which lead to me having to trawl the net for solutions (not so simple for a beginner). There are also some apparent differences in how python programs are run between pcs and Macs and this is not really covered. It could be made clearer for buyers what operating system this book is geared towards.
The second problem is that the online supplementary material (e.g. code for the different practice programs), advertised on the front cover, is apparently no longer available, at least using the link given in the book.
19 of 20 people found the following review helpful
This is actually among the best teach yourself programming books I've read for any programming language, not just Python.
If you've really never programmed a computer before, I think it would be a fairly steep learning curve- this'll be a good book to choose, but you should take things very slowly, absorb each page carefully, and reinforce what you've learnt by trying the extra programming challenges at the end of each chapter. If you don't do this and just plough through from one chapter to the next, then before long it may start going over your head if you're not careful.
The second half of the book is generally excellent too, and worth reading if you're new to Python, even if you're not a new programmer. Object Orientated Programming is explained and adhered to nicely, and by using some of Python's pre-prepared libraries, you can jump from simple text manipulation to complex-looking Windows-style applications and games without much trouble.
Michael Dawson has a very understandable writing style. Occasional flashes of humour (not too flippant) and some well-chosen example programs that are actually engaging and useful make you want to carry on reading. It's very well ordered and thought-out, and the progression from one challenge to the next, although quite steep in parts, is sensible and just feels right.
I'd recommend this highly both to people new to programming, and programmers new to Python.
6 of 6 people found the following review helpful
on 4 October 2010
Five stars. I bought this book to re learn some programming after a very long gap: the last program I wrote was in Fortran 77. The book is just right, gradually teaching the concepts and because it is based on coding simple games you understand the importance of new concepts quickly and keep your interest. I'd advise (at least in the earlier chapters) typing in the code rather than copying from the website so some of the conventions in Python become second nature (I spent a puzzling 10 minutes wondering why def _init_ didn't work until I turned the page and found out). There is a jump in difficulty in the middle of the book when functions and objects are introduced: I found that I needed to work carefully through all the concepts before moving on (that may be because OO concepts were new to me). Overall, well worth the money and a great introduction.
17 of 18 people found the following review helpful
on 12 October 2011
I've had a great deal of programming experience - I started with punch cards and Fortran!! I've also programmed in a plethora of other languages (BASIC, Pascal, various flavours of C and a few languages I can't even remember). My last serious language was Borland Delphi (Object Pascal), which I loved. My licence was for Delphi 7 - a little out of date for my hardware.
I needed to update to a language that offered similar possibilities to Delphi - OOP, database applications, web applications, GUIs, simulations. and just general programs that would let me calculate difficult stuff like 2+2. I didn't want to pay a giant licence fee so I looked around to see what was available and Python seemed to be what I wanted.
Since I had some programming experience, I actually started with Mark Lutz's book "Programming Python". One of the reviewers of that book had a similar background to me in terms of programming experience. He stated that he had hacked his way through Mark's book (my summary of his words), so I decided to try that. Result...I could have done it, but I too felt that I was having to hack my way through a bit of jungle. So, I decided to take a step back and try a different approach.
Don't get me wrong...I strongly suspect Mark's book is a perfect SECOND Python book and I look forward to giving it a great review when I've worked my way through it (notice I didn't say "hacked my way through it").
So, I bought Michael's book. And I'm delighted with it. It introduces subjects in a simple manner e.g. constructors and private methods in a program that contains just a few lines of code!!??!! OOP programming is difficult for some people to get their head around (I wonder if it's easier for people with no non-OOP background as opposed to us old hacks who didn't even know what an OOP was until we publicly embarrassed ourselves). But it also gets you into the basement of programming - loops, lists, reading and writing files etc etc. Brill!
The writing style is terrific. It's light, humourous (in my part of the world, "humour" comes with a "u" ... or is that AN "u"?) and sometimes a little self-depracating. But it's fun to read...chapters are bite size...the examples are excellent.
And Python is a truly great language in which to program (or "to program in" if you're not a grammar Nazi. Its developer has been classified "Benevolent Dictator for Life". What more can you ask?
One minor criticism...it would be nice to have an exercise project/thread which started early in the book and developed throughout the book. By that I mean a thread which stands alone from the text. The exercises at the end of each chapter modify the author's code or present fairly simple new projects. It would be nice if readers could develop a program which is not related to the text/exercises but builds succesively chapter by chapter. Of course, programmers with experience can do this for themselves, but it might be handy for newbies.
In summary, if you are interested in programming in Python, buy this book. It's a great book.
33 of 36 people found the following review helpful
on 16 November 2010
The book, as mentioned in its title, first targets readers who are new to Python and even programming in general. In addition to covering many aspects of the language from basic file manipulations to GUI programming through practical examples (mainly games), the author reminds the basic knowledge and concepts hidden behind, such as variable manipulation, function design or object-oriented programming.
I needed to learn Python as a scientific computing tool. Although I have already got a fairly good background in software engineering, I decided to restart from the basics to understand the full potential of this language. And for this, Python Programming for the Absolute Beginner was definitely a good call.
Be aware that every code examples are written in Python 3 and may need some minor tweaks if you are stuck to a 2.x version like me. Nothing discouraging though.