Think Python is a concise introduction to software design using the Python programming language. Intended for people with no programming experience, this book starts with the most basic concepts and gradually adds new material. Some of the ideas students find most challenging, like recursion and object-oriented programming, are divided into a sequence of smaller steps and introduced over the course of several chapters.
Type of Material:
Open (Access) Textbook
Recommended Uses:
In-class, self-paced
Technical Requirements:
Think Python is a concise introduction to software design using the Python programming language. Intended for people with no programming experience, this book starts with the most basic concepts and gradually adds new material. Some of the ideas students find most challenging, like recursion and object-oriented programming, are divided into a sequence of smaller steps and introduced over the course of several chapters.
Identify Major Learning Goals:
As the author says, the goal of this book is to teach you to think like a computer scientist. This way of thinking combines some of the best features of mathematics, engineering, and natural science. Like mathematicians, computer scientists use formal languages to denote ideas (specifically computations).
Target Student Population:
All level of learners who are interesting computer programming
Prerequisite Knowledge or Skills:
Basic computer knowledge
Content Quality
Rating:
Strengths:
- This site presents the programming skill is a widely adopted manner that learners are learning step-by-step on the features or functions available from Python a programming language.
Its presentation is easy to follow without unnecessary technical jargons.
- On each topic, it comes with clearly explained and illustrative examples to help learner to understand and grasp the concepts.
- While it is a set of very good materials for studying in programmers, especially for the beginners, the title, "Think Python: How to Think Like a Computer Scientist" seems to suggest that every computer scientist will work with programming as in writing Python codes. In many other books on programming, such as in the area of object oriented programming the approach of code development is not quite the same.
In summary, this is a very complete and comprehensive book for learning Python. It covers essential topics like syntax, flow of controls, OO, etc. The information is very sufficient and clear.
Potential Effectiveness as a Teaching Tool
Rating:
Strengths:
- For each chapter, the name of the chapter is the key topic or term to be introduced. Even without the explicit description on the learning objectives, the explanation of the chapter titles or section topics can give the idea of the context and expected learning scopes.
- It provides a number of exercises in each chapter so the learner can work out by himself, and the exercises at end of chapter are further provided with sample solutions, which is useful for enhancing learning.
- Users can read the site as html based site or download the pdf version for reading it as an online book .
- Some links to the terms introduced or jargon used leading the further explanation are expected for readers further reading or deeper understanding. Furthermore, for the terms listed in the Glossary at the end of each chapter, the corresponding terms can be added with links to the Glossary.
There are exercises at the end of each chapter. These exercises are easy to integrate into assignments or homework. They can serve a good resources for students to reinforce their concept and practise their skills.
Ease of Use for Both Students and Faculty
Rating:
Strengths:
- For web-based version, the navigation arrows appear at the top and the bottom of the page and it appears that readers should read through all contents in a page before going to the next one. It may not be so user friendly as some readers may just need to skim the key terms to proceed to the next topic in the middle of a chapter.
- The web is not designed as a responsive one, so the display and style is too fit for reading in the mobile devices, which are the most popular user interface.
- As the overall impression, the online version is the replicate of the original printed book. While it does enhance the accessibility, the feature of online version for enhancing interactivity is not obvious in the site.
In summary, the organization of the book is clear and easy to follow. It provides some examples and program output. This can help learners to understand clearly.
Concerns:
Overall the book is a bit wordy, though it still contains some diagrams for explaining some concepts.
Creative Commons:
Search by ISBN?
It looks like you have entered an ISBN number. Would you like to search using what you have
entered as an ISBN number?
Searching for Members?
You entered an email address. Would you like to search for members? Click Yes to continue. If no, materials will be displayed first. You can refine your search with the options on the left of the results page.
Searching for Members?
You entered an email address. Would you like to search for members? Click Yes to continue. If no, materials will be displayed first. You can refine your search with the options on the left of the results page.