Book Review: Annie's CS101 by Dmitry Zinoviev

The full title is "Annie's CS101, A Charting Approach to Computer Programming." This is an interesting approach to an introductory programming course -- the target is for younger learners (although not children), and it focuses on the thought process behind conceiving of a programming problem and solving it. The language of instruction is Python, although this is not really a Python book.

This is an odd little book I encountered while browsing related titles on Lulu, and I felt I had to check it out.

The book follows a fairly conventional approach to programming, with an emphasis on procedural code, control structures, and data structures. It approaches a series of simple example problems in a friendly, if somewhat quirky, way, and then breaks them down into flow charts, pseudocode, and then python.

Chapter headings are written in a very idiosyncratic way, miming python syntax expressions.

Overall, this book has a lot of personality. The author does sometimes digress from the point, use strained analogies, or in a few spots, become self-congratulatory or condescending. These oddities suggest to me that the book could've done with another editing pass -- possibly by another person.

However, as self-published monographs go, it's very good work. I have a little bit of an old-fashioned feel about this one, as it is rather similar to the books from which I learned BASIC and Fortran many years ago.

I can recommend this book as a good choice for someone with the patience to approach programming at a sedate pace and work steadily through it.

Professionals looking for a quick introduction will likely get frustrated with it, though.

The book is very inexpensive, available for download or in print directly from the Lulu site.

In short:

Title Annie's CS101, A Charting Approach to Comptuer Programming
Author Dmitry Zinoviev
Publisher Self-Published / Lulu
ISBN N/A, Lulu ID: 399991
Year 2006
Pages 222
CD included No
FS Oriented 8
Over all score 5


This work is licensed under a Creative Commons Attribution 3.0 Unported License.