An Introduction to Computer Science - 3rd Ed. - Python Programming

ByJohn Zelle

feedback image
Total feedbacks:17
10
4
2
1
0
Looking forAn Introduction to Computer Science - 3rd Ed. - Python Programming in PDF? Check out Scribid.com
Audiobook
Check out Audiobooks.com

Readers` Reviews

★ ★ ★ ★ ☆
devavrat
I selected this book to help teach myself Python after having sorted through many reviews. I found the book to be very helpful and comprehensive. My only criticism is that the author uses his own library of graphing routines. I couldn't load third party software onto the network that I was using, so this put a damper on learning in that area.
★ ★ ★ ★ ★
missy rose
The book serves two purposes: an introduction to computer science, and an introduction to Python as the first programming language.
It's easy to read because of its plain English, medium length (500 pages), well outlined chapters and sections.
★ ★ ★ ★ ★
vicki splinter
Simply stated, it's a super easy to comprehend book that teaches python. It is more of a programming book that uses the python program as its choice of medium and i'm loving every single chapter.
Granted I have only gone through half the book but I can safely say it is one of the best python books out there. The exercises are easy to understand, the concepts are well explained and everything seems to mesh together well so far.

I'd definitely recommend this for anyone who wants to learn python or just programming in general and does not have much experience.
Practical Programming for Total Beginners - Automate the Boring Stuff with Python :: A Playful Introduction To Programming - Python for Kids :: Python Programming for the Absolute Beginner - 3rd Edition :: Invent Your Own Computer Games with Python, 4E :: Python Cookbook: Recipes for Mastering Python 3
★ ★ ★ ★ ★
stephanie sun
I have been programming for 20+ years in application languages (Visual Basic, SAS). I am interested in becoming a full time programmer and wanted to start with a good foundation. This book is an excellent introduction to computer science. The book is easy to read, the examples are clear, and the coding is readable (thanks to Python). I highly recommend this book to anyone interested in gaining an introduction to computer science.
★ ★ ★ ★ ★
mitchell
I took one python programming course last semester. I think the best part of this book is many examples in this book are outstanding. They cover many relevant concepts, explanation and logic that author provides which is useful. Also, the connection between examples and exercises is clear. As long as you understand example, there will be no difficulty to finish the exercise.Even though some of them are challenging, the logic is almost the same. I highly recommend this book.
★ ★ ★ ★ ★
anita harrington
This book claims to introduce key ideas in programming, not only to teach Python language, and I think it is very successful in doing that. It is somewhat "chronological". I am a beginner in programming and I am learning a lot from this book. It has introductory material so it might not be of interest to those who already have some knowledge in the subject.
★ ★ ★ ★ ★
al sumrall
I agree with other reviewers who have rated it positively. My feedback is similar. I will just add that I started learning Python on Code Academy and now I am starting to use this book. The book does have a bit more topics than I picked up on Code Academy. Even though the book is a great beginner's book, having learnt Python on Code Academy I am able to move through the book faster than I had expected. Only way to learn any knowledge that is acquired is to build something with it and making it a daily ritual. Happy Python'ing!
★ ★ ★ ★ ★
ali vil
I was pleasantly surprised to find the level of detail included in this book towards the fundamental theories of software development. As a High School Computing teacher, it will prove beneficial as an extra resource for the theory components of the curriculum.

As for the Python content, I was competent in several languages but not Python. As someone who had a natural understanding of programming, it was easy to read this book and learn the slight differences between Python and other languages. It has enabled me to learn Python at my pace. The layout of the text also leaves itself open for you to skim through pages and sections you feel confident with already.

The revision and topic questions are relevant, and I will likely utilise some of them in my classroom.
★ ★ ★ ★ ★
macgregor wooley
The author knows how to write - uncommon among people in the computer and IT world. I highly recommend the book and found it very useful. I guess it is not a complete discussion of the subject, but hey, it's not advertised to be that. there are other "door stops" out there one can buy to cover the subject completely, but Zelle's book is a good place to begin and learn about both OOP and Python at the same time.
★ ★ ★ ★ ☆
balpreet
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.
★ ★ ★ ★ ★
ken ross
I'm a professional programmer but wanted to learn Python and teach it in classes. I tried several other books, but they often were too complicated, jumping into complex topics like Unicode, list comprehension, and full blown graphics packages before you even understood the basics. This book won't take you very far (binary search is about as complicated as it gets), but it's excellent for a first computer science class. It definitely errs on being too simple, but as a true introductory class in computer science for non majors it works wonderfully. He introduces each concept well yet doesn't go into 100% of all the options that other books do which just bogs you down. This is definitely not a reference manual. It's in true textbook format with chapter summaries, questions, and assignments. I often found that the assignments could really use more sophisticated concepts he wasn't teaching yet so I used knowledge from other books to complete assignments without having to jump through hoops (e.g. he doesn't show you how to format multiple items into a single print function until late in the book). Still, basic students can complete the assignments without the unneeded complexity while more advanced students can go the extra mile. Some reviewers correctly point out his usage of eval is dangerous. I even found a response by the author on Stack Overflow which agrees with the risks yet defends this as an appropriate usage for first time students. It's a debatable issue, but no reason to toss the book aside - a lesson for the instructor to pass on as appropriate. I hope in his next edition he starts with eval but later switches to a safer mechanism.

As an aside, the first language I learned in college was LISP and unbelievably, it lives on in Python. I read online that if you remove the outermost parentheses of LISP and change a few things here & there you can actually convert between the two! LISP is such an unknown language and yet Python has such success... very surprising.
★ ★ ★ ★ ☆
sarah grace mccandless
Well, this is my textbook for my Python programming class. The book conveys concepts well and the writing is relatively personable. I feel that the components and methods in the book could be better described at times. Many of the assignments in my class come from the Exercises at the end of chapters. Sometimes the Exercises feel like they are reaching for the reader to piece together concepts that came across as abstract during the chapter. My class is online so I can't ask for guidance to interpret the book. But I imagine to the right reader this works better.
★ ★ ★ ★ ☆
niamae
Well, this is my textbook for my Python programming class. The book conveys concepts well and the writing is relatively personable. I feel that the components and methods in the book could be better described at times. Many of the assignments in my class come from the Exercises at the end of chapters. Sometimes the Exercises feel like they are reaching for the reader to piece together concepts that came across as abstract during the chapter. My class is online so I can't ask for guidance to interpret the book. But I imagine to the right reader this works better.
★ ★ ★ ☆ ☆
valerie f
Not terrible but the author clearly doesn't (or didn't at the time of publication) understand the eval() function when teaching about input. It's the worst possible practice you can do because it opens you up to security holes if you ever use what was taught in a real-world application.

Here is what the best practice should look like for future reference:

variable=input("prompt: ") -- Is for inputting strings of text. Example: name=input("Input your name: ") would ask for a name and receive input as a string of characters and store the value into the variable named 'name.'

variable=int(input("prompt: ")) -- is for inputting integers. Example: age=int(input("Enter your age in whole years: ")) would ask for your age and receive input as a integer value and store the value into the variable named 'age.'

variable=float(input("prompt: ")) -- is for inputting floating point decimal values. Example: temp=float(input("Enter your temperature: ")) would ask for your temperature and receive it as a floating point decimal value and store the value into the variable named 'temp.'

Also, I just finished the first chapter and cannot believe it goes into chaos functions and other confusing bits for an introduction to computer science book that soon. The high reviews are certainly from beginners who don't understand what is wrong with this book. It's not terrible but there are very elementary mistakes that should have been corrected prior to publication. As it stands, I'm glad I have an internet connection. Otherwise, I would have had no idea what the eval() function did and why it was so dangerous. Otherwise, this seems to be a very good book as an intro to CS and I will update my review as I work my way through it.
★ ★ ★ ☆ ☆
ridicully
The book is great, but the author did not structured it in an organized way. Definitions of important concepts are not separated form the rest of the text. Graphics.py is written and work only on Python 2.XX, although the book is for Python 3. I had to go to Stackoverflow to find out what the problem was so I could not have the file run on Linux.

Author promotes IDLE, which is awful, nothing mentioned about Eclipse, iPython etc.

Unless you are willing to mark down concepts on your own, and dig python.org and stackoverflow.com for multiple answers, you may be luckier finding another book.
★ ★ ☆ ☆ ☆
mollyirenez
I purchased this book based mainly on the high number of 5 star reviews. I have, however, been very dissapointed. Although I learned some programming many years ago, I am more or less starting my programming career anew. I should note that I purchased this book for self-study rather than as a course book.

I found this book difficult to follow right from the introduction. On page 12 the author introduces the concept of 'chaos'. I found this to be a rather strange concept for an introduction (he never explains what 'chaos' represents or why it is usefull at this point in the book). The author immediately uses programming concepts such as for loops without any explanation of loops. Again, how is this usefull for a total beginner?

The second chapter on 'writing simple programs' is somewhat better but still moves very quickly without adequate explanation. Chapter 3 on 'computing with numbers' tend to be over-complex in my opinion and I found the exercises to be nearly impossible to do with the topics presented to that point.

In summary: This book is going to be difficult to use if you are interested in self-study and you have little to no programming experience. The topic examples tend to be dry and difficult to follow, and with no explanations to any exercises, even harder to guage how you are doing. This book, in my opinion, requires an instructor to present topics clearly. However, please read the 1 Star review to hear about that teacher's opinion of this book for use in the classroom.

I have since purchased Michael Dawson's book 'Python programming for the absolute beginner' and have found it much much better for self-study.
★ ★ ★ ★ ★
ahmed ragheb
Self taught. Have acquired a number of book on Python/computer Science from the store. This book is the most concise, explanatory volume I have read thus far. Some others were helpful, some of the more expensive books were junk. Each chapter is a delight, and doing the exercises for each significantly further one's knowledge fo the subject. Zelle's the man!
Please RateAn Introduction to Computer Science - 3rd Ed. - Python Programming
More information