Rudolf Pecinovsky: OOP - Learn Object Oriented Thinking & Programming
526 pages, 7.44x9.67"
ISBN 978-80-904661-8-0 - paperback, B&W, printed on demand
ISBN 978-80-904661-9-7 - pdf, color e-book
Price: 38 USD or 28 EUR or 24 GBP (paperback) or free (pdf)
You can find a whole range of programming textbooks intended for complete beginners. However, this one is exceptional to certain extent. The whole textbook is designed as a record of the dialogue of the author with his daughter who wants to learn programming. The author endeavors not to explain the Java programming language to the readers, but to teach them real programming. To teach them how to think and design the program as the experienced programmers do. Entire matter is explained in a very illustrative way which means even a current secondary school student can understand it quite simply.
The book comes out of the author’s long-term experience with teaching children, university students as well as professional programmers. The author teaches programming according to the Architecture First methodology which reacts at the companies’ complaints that the school graduates are usually good in coding, but bad in software architecture. Coding itself is gradually taken over by various code-generators, but the work of the architect will stay irreplaceable for a long time.
The author pursues the pedagogical principle saying that those items considered as the most important should be presented as soon as possible. Therefore he leads the readers to apply the proper design of the architecture of the created program and to avoid common mistakes since the very beginning. For designing the programs, the development environment BlueJ is used, which is proposed specially for the beginners and which enables explaining, demonstrating and programming a number of basic architectonic constructs without leaving the architectonic level and degrading to the code level.
The book is divided into three parts. The first one deals with the explanation of basic constructs of the object oriented programming and all proposed programs are created by the code-generator incorporated in BlueJ. The second part repeats the explained constructs and the readers can learn how to code the proposed program similarly as was done by the generator in the first part. The third part presents constructs which are beyond the bounds of abilities of the used code-generator, and therefore the readers have to program them themselves. Despite that, the explanation core keeps in the level of architecture.
The book is determined above all for complete beginners. However, the experience proved that even the intermediate programmers can find a lot of interesting and informative in it.
About the author
Rudolf Pecinovský is a graduate of Faculty of Nuclear Science and Physical Engeneering at Czech Technical University in Prague. He obtained his Ph.D. (CSc.) degree at Institute of Information Theory and Automation, Czechoslovak Academy of Sciences. He is a lector at Faculty of Informatics and Statistics, University of Economic, Prague, Faculty of Information Technology, Czech Technical University in Prague and at College of Information Management, Business Administration and Law. He published more than 40 textbooks.
Author's page with accompanying programs and further materials.
Reaction of Readers
I consider this book to be unique, above all due to the fact that the author has realized the importance of knowing the object programming than throwing out hundreds of statements and functions. The book is written in an autobiographical way which I noticed first time in textbooks and especially in programming textbooks. Thanks to it I had really good feeling from reading the book. Another aspect that I appreciated is a lot of available animations. Due to them I always knew what and where I should do. The book thus becomes pleasantly simplified, which has a great affect for beginning young programmers as for example me. I have no reservations to this book and I can only warmly recommend it to all who are powerlessly swamped in the object oriented programming world.
a beginning programmer
What I appreciated in the book, it was among other things the fact, that the author explained the terms in an interesting style and that, at the very beginning; he explained items which are usually explained in more advanced courses, but which have important consequences. I always appreciate progressive explaining, so that you cannot meet a situation when you are reading a code and you do not understand it because you are missing certain advanced knowledge. When reading the book, the author does not press on the reader to quickly write the code and so the reader starts to write down the source code after learning the OOP basics. I would recommend this book to anybody who wants to learn OOP. Anyway, I felt sorry for one thing, and it is that I did not know the book when I started to learn the OOP.
Programming is my hobby. I recommend the books of Rudolf Pecinovský to all who really want to get into the secret of OOP and do not want to finish at programs of “Hello World” type. The book is really suitable even for real beginners, especially for the so called “perpetual” beginners, who would like to learn programming, but the topic seems to them too complicated and discouraging. Majority of current books can teach you to develop simple programs from the beginning, but they mention OOP only marginally, as if it would be something extra. Terms like design patterns are unknown for them. Luckily the exceptions do exist. This is one of them. If not Mr. Pecinovský, I could be a perpetual beginner, maybe only pseudo OOP programmer.
an intermediate advanced student
All the literature which I have read until now on OOP was only a dry theory that I was not able to apply in practice. I am glad that I discovered this book. It helped me to transfer the theory to practice. With impatience I am expecting another volume of the book, with which I can get to the core of the OOP.
a self‐learner programmer
This book presents the OOP in a little bit different way compared to other textbooks. Not only because it is written as a dialogue of an “I‐Know‐Nothing” and “A Wise‐Old‐Man”, but the way how it presents the Object Programming differs from current programming textbooks. It’s difficult to say whether it’s a better way, but it’s fully suitable for me and I think it may be fully suitable also for those readers who started programming hundred times and hundred times they failed. I can describe it as if you would unsuccessfully cut a piece of wood, and suddenly, when you put your saw to the other hand, you could cut it somewhat more easily. And that’s the case of this book.
Despite I already knew many paragraphs from other books, this one enabled me to see certain matters from a different view. I appreciate a lot that the book shows an already developed program, i.e. not only independent examples, but you can see relations among separate parts of the program. I also welcome the possibility to see the videos/animations at the author’s websites which are of great help in case the text is not fully understandable or the description by words would be too long. I am looking forward for the second volume of this book.
an OOP beginner
This is an ideal book for beginners as well as for experienced programmers. It is written in a style which is attractive and keeps attentiveness for the firstly named. The needed knowledge and skills are gradually presented in a pleasant, gentle and natural style and immediately demonstrated and reinforced by examples and exercises. To more experienced programmers it provides a different view (and according to me the proper one) on object oriented programming.
Contrary to a number of other programming textbooks which I have read, this one does not overload the reader with only a lot of new statements, but teaches him real programming. And it makes it in a very original and comprehensible form. Despite the fact it is determined to younger beginning readers, it was a great contribution for me.
a high school student