Programming and writing about it.

echo $RANDOM

The story of my first book: A personal account

The Book

My first book is slowly hitting the book stores in India. I have been notified that 1100 copies of it have been printed. I haven’t yet seen the physical copy, yet but I am looking forward to hold it in a week or so.

Book Cover

The journey began in January’2012 on an evening when I was talking to Protyusha and she suggested that why don’t I write a book on introductory programming and approach an Indian publisher with the idea, since there was a lack of good books on programming in the Indian market. Well, there were a lot of books which taught programming, and they were not bad, but almost all of them approached the topic as a subject to learn and pass exams in schools and colleges. That is not how computer programming should be taught. That is now how I wanted to teach programming. So, I sent in a proposal to Prentice Hall India Learning – one of the prominent publishers and whose books both of us had grown up learning from.

The proposal itself was interesting to say the least. I wanted to teach programming concepts and demonstrate them in three different languages – C/C++ and Python. Oh well, it was not the best of ideas – but the vision was grand – show different styles of programming. In the modern world, knowing one programming language is just not enough. Besides, I had to keep Python in it – it is something that young programmers should learn. I couldn’t keep out C, because you need to know C. By the end of several negotiations and literally selling our idea, it was finalized and I was finally convinced that the book would be on C and Python programming, also covering things like version control and open source software development. I was initially asked to send in a couple of sample chapters. And after about two weeks of near full-time writing, I had them ready. Protyusha helped me make the chapters stay to the point and also had some graphics, which sometimes I was lazy to add. She knew two things: that the book was good idea and had a business value associated with it.The publishers liked the sample chapters and I was asked to complete the entire book. I decided to complete the book by June’2012 end, when I would visit India and hand over the book in person.

But, plans are plans. I decided to quit my Ph.D in early June, and had to complete my thesis in a space of a month among various other things. I kept working on the book in bits and pieces in flights, in airports, in cafes and in shops where people would stare at me, not having a clue what I am doing with a laptop there (shops in India, i.e.). Finally, I worked for a month and half again after September’ 2012 (after I joined my new job) and finally submitted the entire book in November’2012 – covering Canberra, Kolkata, Brisbane, Singapore as the cities written in. In between, Protyusha helped me write a proper preface. The first version I had written was hilarious and had a girl, Lea talking to a robot Hal. Hilarious it was. She is a straight forward person and likes to talk and write like that. I agree with her on that, and hence I rewrote the preface and also kept that in mind for the entire book – not tell stories, but facts.

Who would I dedicate the book to? None, but Protyusha. She is super excited to see the hard copy of the book. I can’t wait to show her. This was a team effort and we saw the task to completion.

The process of writing

I went through phases of joy, excitement, frustration and doubtfulness while working on the book. That dilemma how little or how much to tell your reader got me bogged down so many times, and then that inability to exactly write and present what you have in mind led to self doubts often. By the end, I think I did about 90% of what I had initially thought the book would be like. I also feel that being in a career where I could talk to students directly might have helped.

I am feeling lucky.

Thank You Protyusha for not giving up on me for more than a decade and making me the person who can now call himself a book author. Not many can, not from where I started (and then got myself into).


Book Review: Computer Science Programming Basics in Ruby

I received a review copy of the book as part of the blogger review program.

I review for the O'Reilly Blogger Review Program

Title:  “Computer Science Programming Basics in Ruby” by Ophir Frieder, Gideon Frieder, David Grossman; O’Reilly Media.

Summary: In the book “Computer Science Programming Basics in Ruby”, the authors aim to introduce concepts from computer science to its readers. Instead of pseudo code, the authors use the programming language, Ruby (a small subset of it) to demonstrate the concepts. At the very outset, the authors make it clear that they will not go into the details of the programming language itself and instead focus on the computer science/algorithmic aspects. The book is quite brief and has an interesting objective.

Reactions: I think the book fails to achieve its objective. As far as introducing computer science concepts go, there is a chapter on computer hardware, bits and bytes, memory and a chapter on sorting algorithms. The rest of the chapters fall somewhere in between talking about purely programming constructs and computer science concepts.

Verdict: Overall, the book could do with treatment of more computer science focused topics, as it happens to be the objective of the book. This could be done with an “example” computer science focused topic at the end of each chapter which makes use of the programming concept introduced in that chapter.

Product Page(s):