Introduction to Programming Using Python

Author: Y. Daniel Liang
Publisher: Prentice Hall
Pages: 558
ISBN: 978-0132747189
Audience: Students starting to learn Python 3
Rating: 4.5
Reviewer: Mike Driscoll

A "fundamentals-first" approach to teaching programming. Does it succeed?

This book is written for someone who is beginning to learn Python. The target audience is probably college or high school students. The author teaches using Python 3. I think this is a good book for someone interested in learning Python 3.

Each chapter ends with a “Key Terms” section, a Chapter Summary, a link to some test questions and some programming exercises. There is an accompanying website that includes answers to the review questions and the even-numbered programming exercises as well as source code examples from the book. It also includes some interactive self-test questions and supplements to the text.

 

 

The first chapter is more of an introduction to computing in general then to Python. Oddly enough, when the author does get to Python, he ends up covering almost nothing and then jumps into using the turtle module, which is used for teaching children programming. There’s nothing wrong with learning turtle, but it seems a little incongruous at this point. I think I would have held off on that until Chapter 2.

 

Banner

 

Chapter 2 is basic stuff like variables, constants, operators, etc. Chapter 3 goes into math functions, strings and drawing shapes with turtle. Chapter 4 is titled “Selections”, but focuses on Boolean expressions and conditionals (i.e. if statements). Chapter 5 is on loops, which in Python means “while” and “for” loops. Chapter 6 dives into functions. It has an odd section that states that you can create a function that doesn’t return anything. In reality, if you don’t code in an return statement, the function will automatically return None, which is a special type of value in Python. I found this section of the book a little misleading.

Chapter 7 jumps into the subject of objects and classes. In Chapter 8, we dig into the many string methods that Python provides. We get into an advanced topic with Chapter 9 where we begin some GUI programming using Tkinter, a toolkit built into the standard distribution of Python. Then we jump back to basics with a chapter on lists in Chapter 10. There’s also a little more GUI programming with an interesting looking little card shuffling script. Chapter 11 goes over multidimensional lists and includes a way to check a Sudoku solution using them.

Chapter 12 ramps up the difficulty level by going into inheritance and polymorphism in Python. In Chapter 13, we learn about file i/o and exception handling. Chapter 14 goes back to some basic building blocks with tuples, sets and dictionaries. I think this is an odd place to stick this chapter. I would have expected it in the first 3 or 4 chapters. Anyway, the final chapter is all about the topic of recursion.

This book has tons of examples, programming exercises and things to do. The exercises range from your typical simple stuff to some fairly challenging items. The case studies that are sprinkled throughout can be interesting too.

I found the writing to be clear and pretty concise without a lot of witty banter. Yes, it is a little dry, but most programming textbooks are. While the chapter order is a little screwy to my mind, it states in the Preface that you don’t have to read them in the order printed. If you’re new to programming or just new to Python, then this book should get you going pretty well.

 

Banner


Computer Concepts And Management Information Systems

Author:  C.P Gupta and K. K. Goyal
Publisher: Mercury Learning
Pages: 250
ISBN:978-1683925866
Print:1683925866
Kindle: B08CVSHKG3
Audience: General
Rating: 3
Reviewer: Kay Ewbank

This book is an introduction to the basics of what a computer is, what software is, and what management information syste [ ... ]



Balancing Coupling in Software Design

Author: Vlad Khononov
Publisher: Addison-Wesley
Date: October 2024
Pages: 320
ISBN: 978-0137353484
Print: 0137353480
Kindle: B09RV3Z3TP
Audience: General
Rating: 4.5
Reviewer: Kay Ewbank

This book looks in detail at coupling, the degree of interdependence between software modules, and how to use coupling  [ ... ]


More Reviews

Last Updated ( Thursday, 29 November 2012 )