Introduction to Python by Andrew Ng

A free ebook or a very reasonably priced paperback that provides a very broad coverage of the Python language.

Andrew Ng is a well known figure in the world of AI and since Python is a major language in that world, you'd imagine that Ng is quite an authority on Python.

This books demonstrates that this is, indeed, the case. It is an extremely comprehensive book covering just about every aspect of Python that you might want to know about. It is a conventional book that starts with how to install the software and then moves on to the language itself. It covers data and variables, moves through operators, control statements, libraries, functions, OOP, and databases, giving a detailed coverage of each topic.You'd be hard-pressed to find anything missing.

While it is well explained, the examples are fairly trivial which, in a book of less than 300 pages, is not really very surprising, particularly given the amount of ground the author covers.


Ng is clearly an expert in the language and an experienced programmer. This is, of course, is what you want in an author but there are occasions when he rather takes for granted knowledge that a beginner in programming will not have. And this is my main bugbear. In the introduction, it suggests that this is a suitable book for just about everyone from beginners to experienced programmers. I beg to differ. If it were used in a supportive classroom environment (which I suspect it actually is) then beginners might be able to cope but this is really a book for those who have, at least, some programming experience. Indeed the chapter on object-oriented programming begins with the assumption that the reader has some experience in OOP using a language such as Java, C++ or C#.

So if you are a beginner learning by yourself, this probably is not the book for you; go through a beginners tutorial first. For, teachers, or those with a reasonable knowledge of another language and who know something about OOP, this is a good but rapid treatment of Python.

I've been reading the free Kindle version of the book which renders very well on both my tablet and my phone. I would definitely recommend reading on a colour screen, though. Furthermore, for my own purposes, I would rather have a paper copy (which is extremely reasonably priced), as I would use it more as a reference book, dipping into parts of interest as I needed, rather than reading it from beginning to end.

You can order the free Kindle version or the paperback, below.

You might also like 
Learning to Code with C by Simon Long
The C Programming Language by Kernighan and Ritchie

Just Enough Python
An brief introduction that will get you programming quickly


  1. Replies
    1. I don't think so, unless Andrew Ng hosts something himself. From Amazon it's Kindle or paperback.


Post a Comment

Popular posts from this blog

Which language on the Raspberry Pi?