Python Programming: An Introduction to Computer Science
| |||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||
| Sort customer reviews by: | |||||||||||||||||||||||||||||
|
Show All Reviews on Page
Hide All Reviews on Page
| |||||||||||||||||||||||||||||
| Python Programming: An Introduction to Computer Science | |||||||||||||||||||||||||||||
|
This book is designed to be used as the primary textbook in a college-level first course in computing. It takes a fairly traditional approach, emphasizing problem solving, design, and programming as the core skills of computer science. However, these ideas are illustrated using a non-traditional language, namely Python.
Although I use Python as the language, teaching Python is not the main point of this book. Rather, Python is used to illustrate fundamental principles of design and programming that apply in any language or computing environment. In some places, I have purposely avoided certain Python features and idioms that are not generally found in other languages. There are already many good books about Python on the market; this book is intended as an introduction to computing. Features include the following: |
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 28 of 28 | |||||||||||||||||||||||||||||
| Review Date |
Review Rating(5 High) |
Review Helpful to: |
Customer Review | Reviewer Info |
Permanent Link |
||||||||||||||||||||||||
| Reader Reviews Below Sorted by Newest First | |||||||||||||||||||||||||||||
| 10-05-08 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I've procrastinated learning computer science for a long time, as I never thought I could self teach. I've bought many books so called "Beginner Books" only to never be able to get past chapter 1. After receiving the advice of learning Python as my first language, I stumbled upon this book and ordered it due to the number of high reviews.
I have entered a whole new world. Zelle's book is so wonderfully written and aimed for the complete novice. Everything is explained in such easy and direct ways to understand. For anyone looking to break into the world of programming, this is the place to start. (Review Data Last Updated: 2008-10-08 06:36:29 EST)
|
|||||||||||||||||||||||||||||
| 09-03-08 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I am about 200 pages into this book. I have some scripting experience (Javascript), but not an awful lot. I have no real OOP experience as Javascript is more object-based than OO.
I like Zelle's approach. He takes it simply and relatively slowly. The chapter exercises and discussion questions are what impress me the most. One of my major beefs with programming books is the lack of exercises. This book does not fail here. The exercises are thoughtful and build on themselves (i.e. there are various programs which you continually revise as you learn new techniques). My only problem is that I have not found recommended solutions for the problems. These may be available on the web but I haven't dug around. All in all, it's a good introduction to concepts of programming. If you have some basic experience you may not have to go over all the material. (Review Data Last Updated: 2008-10-06 08:46:24 EST)
|
|||||||||||||||||||||||||||||
| 08-29-08 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I'm a computer science PhD student and computational biologist who is looking to convert from Perl to Python in order to create more readable and maintainable code.
Python is a beautiful language and this is a beautiful book. Python was based on the ABC programming language which was intended for teaching or prototyping. Python kept the the ease of use of ABC but allowed one to create "real world" applications. Zelle nails that Python concept by teaching CS and programming concepts by creating "real world" applications that don't get bogged down in too many syntax and implementation details. "Simple" programs that teach important concepts while having code that one can easily see adapted to a working app is a great way to teach. If I ever teach an intro to CS class I'll likely use Zelle's book and will definitely use Python and adapt his style of simultaneously pedantic and "real world" examples. (Review Data Last Updated: 2008-09-04 04:36:57 EST)
|
|||||||||||||||||||||||||||||
| 07-24-08 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I use this as a supplementary text for a computational chemistry class. It's simply excellent and student-friendly. You can't go wrong with this one.
(Review Data Last Updated: 2008-08-29 06:25:06 EST)
|
|||||||||||||||||||||||||||||
| 07-12-08 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
As a person, who has taken 4 programming courses in 4 different languages, but is basically a novice, this text was a revelation to me and explained the basics of computer science much more clearly than my previous courses. It has been invaluable in preparing the first course that I have ever attempted to teach in this area. I am sure that I will have something negative to say after using it for awhile, but, at present, I am greatly impressed.
(Review Data Last Updated: 2008-07-25 06:30:29 EST)
|
|||||||||||||||||||||||||||||
| 03-30-08 | 4 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This is an introductory CS book disguised as a python book. If you are a seasoned programmer looking to use python for advanced practical stuff, then you may want to try one of the other python references. However if you are somehwat new to CS, or are looking for a book that teaches CS principles, focusing on the fundamentals of the field instead of a reference lookup text then this is a very easy to digest book. It focuses on algorithm development and other important underlying concepts that many other references assume you already know.
This is a fantastic book with lots of good "quick hitter" excercises to nail home the concepts. I highly recommend this book for newcomers. (Review Data Last Updated: 2008-07-13 06:21:25 EST)
|
|||||||||||||||||||||||||||||
| 02-08-08 | 5 | 1\4 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I am a designer aspiring to develop stronger skills in JavaScript and ActionScript. I realized it would be helpful for me to get a better grounding in the core concepts and most general patterns of programming. I was attracted to this book for the subtitle, "An Introduction to Computer Science", and I had heard that Python is similar to the scripting type of languages that I need. I looked at a number of other books for this introductory purpose, one of which was "Learn to Program" (using Ruby) published by Pragmatic Programmers. Although "Learn to Program" is a very well done book (and Ruby similarly clear like Python), it is just a little too basic, light, and brief for what I wanted. "Python Programming" is great for beginners, but it also gives the kind of thorough grounding in clear concepts (a 'Computer Science 101') that is great for beginners to learn with and for experts to review and refresh themselves with.
(Review Data Last Updated: 2008-03-31 22:03:33 EST)
|
|||||||||||||||||||||||||||||
| 02-07-08 | 5 | 1\4 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This is an excellent introduction to Python. I also looked through the book by Alan Gauld but had some difficulties implementing code that he had in the text (could be that it uses an older version of Python?). In any event, Zelle clearly and effectively communicates the fundamentals of programming, and programming with Python. He uses examples which are immediately understandable and supportive of the underlying theory. Having little experience with programming languages, I needed someone that started at square one - Zelle does this and quickly gives the reader the tools necessary to start programming.
(Review Data Last Updated: 2008-03-31 22:03:33 EST)
|
|||||||||||||||||||||||||||||
| 01-14-08 | 4 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This is an excellent intro book for python. The fact that it touches on aspects of computer science allows it to be tied to some contextual relevancy. The book is clear, concise and explains the basics in appropriate detail. The book states that it would be a candidate for a primary textbook in a college-level, first course in computing. I think the key word here is "primary", which should not be confused with "only." The book itself is fluid and can be read through (and applied) rather quickly. The author obviously had a choice of subjects and level of detail for inclusion. That being said, this book is a great jumping off point for the more varied, specific, and finer details of the language. I personally, would not want to put students through the ongoing evolution of the dice gui or some other projects that the author uses to progress the student/self-learner through the development of the material presented. But the nice thing about the book is that given the well informed context and detail of the project environment, it is very easy to apply the concepts to a project more of your choosing and still be on the same page with the author's explanation of his project. Ultimately, the author offers a very open, yet safe (for newbies) environment to learn, explore, make mistakes, get back on track and actually come away with an understanding of the language as well as quite a bit of practice (if you choose).
(Review Data Last Updated: 2008-02-08 19:53:19 EST)
|
|||||||||||||||||||||||||||||
| 01-04-08 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I've always wanted to learn how to program and with a large number of languages available, the options can be overwhelming. Python is an excellent language to learn first due to its simplicity. This book introduces the Python language and the basics of computer science. At the end of each chapter, there are exercises where you apply the topics from the chapter. Some of the exercises can be very challenging, which I think is great.
It also helps if you know a bit of math. (Review Data Last Updated: 2008-01-15 13:43:48 EST)
|
|||||||||||||||||||||||||||||
| 08-26-07 | 3 | 4\5 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I got this book after finding a recommendation on Peter Norvig's web site. It works out pretty well as a "Computer Science 101" text. The author does a good job of explaining how one might solve typical programming problems, using Python as the example programming language. It does this pretty well, although I think it really should have an early chapter on TDD. How else is the student to gain confidence their programs are correct?
It has its deficiencies. It has examples of how to program using graphics but these aren't supported for the Mac, other than an oblique reference to Tkinter. How is a new CS student to figure that out? Also, it teaches some poor Python habits, like using camelCase naming. (Review Data Last Updated: 2008-01-05 00:55:46 EST)
|
|||||||||||||||||||||||||||||
| 05-30-07 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I've been interested in learning programming for years. This book is a very good introduction to computer science in general and python in particular. If you're just learning how to program, this would be an excellent first book to choose.
(Review Data Last Updated: 2007-08-26 15:55:56 EST)
|
|||||||||||||||||||||||||||||
| 04-02-07 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
As a young professional programmer who has never taken a CompSci class of any kind I have quite a fondness for intro books as they tend to 'fill in the gaps'/ stroke my ego. Thus I've read a LOT of intro to CompSci books most of have been rather awful. This book however, is simply not one of them.
The books small size, approachable language, excellent examples and Socratic pedagogical orientation in addition to the authors seemingly effortless lucidity is enough to drop any jaw. If we were to be critical, we should perhaps ask the author to show greater concern for data casting. Python is a loosely casted language and thus this important concept takes a back seat. Nonetheless for the books scope (a first course in Computer Science) I can not imagine and have yet to read a better primmer. (Review Data Last Updated: 2007-06-15 09:59:33 EST)
|
|||||||||||||||||||||||||||||
| 03-08-07 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I have been doing a lot of searching and this is the best book for actual beginners to get a solid working foundation with Python and programming. The logical progression of the material is by far the best. I had a fortran class many years ago and can only wish we were using Python and this book. His style is such that just when you have an important question that seems to be glazed over - He answers it just as you're pondering it! I have quickly moved on to more intricate Python and programming techniques and am even using Python coding to interact with CMS apps and databases. There is a wealth of info on the web to further your interests after you start here. Thank you, Mr. Zelle for a fantastic book. For the sake of clarity(sanity), start here and actually enjoy, grow, and use this language for REAL world projects.
(Review Data Last Updated: 2007-06-15 09:59:33 EST)
|
|||||||||||||||||||||||||||||
| 02-23-07 | 4 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I have not read the book all the way through yet, but I have found it to be a very easy read so far. I was required to use the book for my Intro to Computer Science course, so I didn't get a choice in the matter, but I have found the book to be very helpful. The explanations and examples are easy to follow, and there is no unnecessary repetition of ideas and concepts. The appendix in the back of the book is a valuable tool that gives a list of all the basic features that are helpful in writing Python programs.
(Review Data Last Updated: 2007-06-15 09:59:33 EST)
|
|||||||||||||||||||||||||||||
| 02-22-07 | 4 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I have not read the book all the way through yet, but I have found it to be a very easy read so far. I was required to use the book for my Intro to Computer Science course, so I didn't get a choice in the matter, but I have found the book to be very helpful. The explanations and examples are easy to follow, and there is no unnecessary repetition of ideas and concepts. The appendix in the back of the book is a valuable tool that gives a list of all the basic features that are helpful in writing Python programs.
(Review Data Last Updated: 2007-03-09 02:17:41 EST)
|
|||||||||||||||||||||||||||||
| 08-03-06 | 5 | 3\4 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Most beginning programming books do an ok job of explaining syntax features, but then they lose you when it comes time to put together complicated programs. This book holds it together to the end. Its to bad that "An Introduction to Computer Science" is in the title as that might scare away people who think this is beyond the basics.
(Review Data Last Updated: 2007-06-15 09:59:33 EST)
|
|||||||||||||||||||||||||||||
| 02-24-06 | 4 | 5\6 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This book provides the knowledge of programming in an easy to learn format. Good for beginning programmers, however it is very basic and does not cover any advanced topics in any way. The book is really good for a first-time programmer, however I would not recommend it as a Python resource for anybody with previous programming experience. One major drawback of the book is that it does not provide answers or any other form of solution to the chapter-end questions.
(Review Data Last Updated: 2007-06-15 09:59:33 EST)
|
|||||||||||||||||||||||||||||
| 02-23-06 | 4 | 3\3 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This book provides the knowledge of programming in an easy to learn format. Good for beginning programmers, however it is very basic and does not cover any advanced topics in any way. The book is really good for a first-time programmer, however I would not recommend it as a Python resource for anybody with previous programming experience. One major drawback of the book is that it does not provide answers or any other form of solution to the chapter-end questions.
(Review Data Last Updated: 2006-08-03 11:29:14 EST)
|
|||||||||||||||||||||||||||||
| 12-19-05 | 5 | 9\9 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I just wrapped up teaching a semester CS1 course using Zelle's book. I hope I never have to use another book besides this, because this text is simply fantastic.
This was the third version of CS1 I've taught, and the first using Python instead of C. The use of Python definitely contributed to the smashing success of this class (as did an exceptionally strong group of students), but much of the credit must go to this book. Honestly, Zelle just nailed it. The examples are illustrative and convincing: his is one of the few books that manages to avoid the trap of silly and unreal examples that therefore provide no context for a student. His writing is crystal clear and very well organized, replete with very helpful diagrams and illustrative examples (did I mention the examples?), and he has obviously paid a lot of attention to the aspects of programming that students find most difficult. And the exercises: wow. This is the first time I haven't felt the need to write my own (although I did anyway, because it's fun). They are fair but challenging (sometimes very), and for those of us on the teaching end, you'll be happy to know that the instructor's resources come with _complete_ sets of working solutions to all of the exercises. Three chapters stand out in particular. First is the chapter on graphics (Ch. 5). Students love graphics, and Zelle has included a very nice wrapper on top of the TKinter library, which makes for a GUI package that students can actually use. Second, there's the final chapter that actually introduces recursion and some of the interesting algorithms from the science (searching/sorting, permutations, etc.). I had a lot of fun demonstrating the difference between sorting /usr/share/dict/words with insertion sort (about 6 days) and merge sort (about 6 seconds). But possibly the best chapter is one I almost skipped: the chapter on software development, which is centered around a case study development of a "racquetball" simulation. At the last minute, I decided to use this chapter as the jumping off point for integrating the ideas we'd seen up to mid-term into real software development. I am convinced that this made the class. Now there are a couple of things you might want to add as an instructor: The main one is the fact that Python is such a high-level language, with so much hand-holding built in, that I'm worried that students going on to later CS classes in other languages could get a nasty surprise. I finished up my class with a primer on languages with static type systems, in which you don't have wonderful Pythony things like string/list slicing, built-in hashtables, etc. In a second edition of this book, I'd like to see another chapter on this. Second is a very small quibble, and really just boils down to a difference with Zelle about the order in which I like to teach this material. I ended up using every chapter in the book, but in the order 2,3,4,7,8,6,9,11,5,10,12,13. As yet another thing I love about this book, the chapters are independent enough from each other, that I was able to do this with only careful selection of the sections. Actually the book lends itself very well to alternative orderings. In short, I simply have nothing bad to say about this book, and lots of good. Zelle hit this one out of the park. Everybody should be using it. (Review Data Last Updated: 2006-07-07 12:41:54 EST)
|
|||||||||||||||||||||||||||||
| 11-28-05 | 2 | 3\7 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
As a student who has been assigned this book I have found it frustrating to use for the most part. Most of the text deals with the intro to computer science but in terms of helping to actually use python and solve the programming problems at the end of each chapter it has been very frustrating. There is no list of new methods at the end of each chapter and the appendix is light on details. I find myself consulting the internet and other texts frequently.
I suppose as an introduction to computer science text this book is well written, but the fact is that most of a student's grade is probably going to come from actual programming assignments and this book is almost entirely useless as a reference for when I get stuck. This is especially troublesome in the latter chapters as the programming problems get more complex. I now find myself spending hours in trial and error approaches when what I really want is a prominent list of methods and some detailed examples that are more relevent to the programming problems. I have also found that most of the programming problems ask me to modify an example program from the chapter but often the level of detail in the development of the example program is insufficient for a clear understanding of how the example program works. This also gets worse the farther along I get. This book is more suited to a course that is mainly intro to computer science and a little programming and not as in the class I am in, light on computer science and several programming problems each week. (Review Data Last Updated: 2006-07-07 12:41:54 EST)
|
|||||||||||||||||||||||||||||
| 10-19-05 | 5 | 6\6 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I have several Python programming books and scores of printed out online tutorials and documentation. This one is the best of the bunch (with the Absolute Beginner title coming in 2nd) because it explains everything a beginning programmer needs to know and has enough exercises and challenges to make it interesting. A lot of the other titles jump right in and seem kind of haphazard in their approach. This one builds topic upon topic, using what was learned previously to help tackle the next area. An excellent book!
(Review Data Last Updated: 2006-07-07 12:41:54 EST)
|
|||||||||||||||||||||||||||||
| 09-26-05 | 5 | 5\5 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I have read plenty of programming books even before comming into college. However, I haven't read one book like this. It truely is a beginner's guide not only to programming but to computer science in general. Python is a great language to start with. That was always my question, "What language do I start with?". Whether picking up programming as a hobby or starting a career I would highly recommend this book.
(Review Data Last Updated: 2006-07-07 12:41:54 EST)
|
|||||||||||||||||||||||||||||
| 01-24-05 | 5 | 8\8 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I absolutely love this book. I've browsed through many computer programming/computer science books before this one, and found this one the best introductory book by far for many reasons. For one, the book moves at a quick yet manageable pace, so I felt like I able to move quickly enough not to get bored yet still absorb the material. Honestly, and I'd never thought I'd say this about a textbook for a class, but I found this to be a page-turner!
There is a convienient Quick Reference serving as an Appendix. It quickly lists the operators, functions, techniques, etc, presented i each chapter, so I didn't need to dig back through the chapters when a concept for function name slipped my mind. MOST importantly for me are the exercises at the end of each chapter. Sure, most books have sample-code, too, but this book gives you a fair number of problems to solve using the tools you have just learned. So, if you are new to computer science and interested in learning to program in any language, I'd STRONGLY recommend this book. It's a great introduction to Python, but it's also a GREAT introduction to computer programming concepts. (Review Data Last Updated: 2006-07-07 12:41:54 EST)
|
|||||||||||||||||||||||||||||
| 01-19-05 | 5 | 6\6 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
No, really, people mean it with this one, and so do I. After trying several books promising to be good for "beginning programmers" wishing to pick up Python, I've finally managed to find one that met my needs in this one. Zelle manages to go over basic concepts of how one should view work in a well-structured, high-level language. I'm not 100% new to programming, but then I haven't really done much since banging out some things in assorted BASICs between 1988 and 1991, either. Zelle offers up just enough Python-specific information to get you moving and then uses many examples of both meta-language programs and Python code to illustrate key concepts in problem solving and basic program design. Surely this is scratching the surface for some, but it seems as though it's a useful resource for noobs such as myself.
(Review Data Last Updated: 2006-07-07 12:41:54 EST)
|
|||||||||||||||||||||||||||||
| 11-02-04 | 5 | 6\6 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
An awesome book! Would highly recommend it to anyone who is trying to learn python. I hope to see more books by Zelle. The books structure and examples provided a great outline for a student such as myself in learning python. If you can get a chance to meet John Zelle I would encourage it as well, he is remarkable guy.
(Review Data Last Updated: 2006-07-07 12:41:54 EST)
|
|||||||||||||||||||||||||||||
| 08-21-04 | 5 | 7\7 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
For those of you who don't know how to program, this book is the best starting place I've ever read. It's written as an introduction to computer science, by professional educators for a CS1 course.
This book defines all the terms and parts to programming that other "Learn Python" books seem to assume you already know. If reading the tutor section of the Python documentation that came with the language (www.python.org) was not completely clear to you, this is the best book to get you ready to program. There are plenty of example programs to keep this book interesting to intermediate programmers, but there is doubtfully anything surprising to experienced programmers. Everything in this book is very clearly explained and organized. (Review Data Last Updated: 2006-07-07 12:41:54 EST)
|
|||||||||||||||||||||||||||||
| 03-02-04 | 5 | 7\8 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This book does a great job of getting the reader familiar with the basics of python and is written as an intro text book for programming and Computer Science. For the more seasoned python fan this book makes a nice addition to the library and a handy quick reference. Chances are though, it possess little new info. It is more for the beginner, and there are Computer Science Departments use this book for that purpose.
(Review Data Last Updated: 2006-07-07 12:41:54 EST)
|
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 28 of 28 | |||||||||||||||||||||||||||||
| All Books | Arts | Biography | Click Here For An A-Z Index Of All 213 Best-Seller Subjects | Business | Children's | Comics | ||||||
| Computers | Cooking | Engineering | Entertainment | Health | History | Home | Horror | Humor | Law | Fiction | Medicine | Mystery |
| Nonfiction | Outdoors | Parenting | Professional | Reference | Religion | Romance | Science | Sci-Fi | Sports | Teens | Travel | |