Take the 2-minute tour ×

I have a colleague who has basic* programming skills and who wants to get a working knowledge of object-oriented programming concepts, with particular emphasis on C# (to 3.0 at least). He's generally computer-literate and has a science background (Masters in Engineering, IIRC).

What book would be most appropriate for him?

Or is there some other resource that would be better?

I'd expect that he'd need to get reasonable explanations of concepts such as encapsulation, inheritance/composition/interfaces, polymorphism/overriding/overloading and some idea of what makes a "good" (for some - hopefully objective - value of "good") design. SOLID?

* (literally: he's fairly adept with Excel VBA macros)

share|improve this question

marked as duplicate by gnat, MichaelT, Martijn Pieters, GlenH7, Dynamic May 26 '13 at 19:00


I think there is no alternative to a teacher. May be present or virtual. –  Gulshan Nov 2 '10 at 14:49
add comment

1 Answer

I know not many (especially the big guyz) do not like them, but I personally feel that the head first books are actually good if you want to start somewhere and especially if you aren't a great programmer or are new to the field.

To start with the basics of OO like encapsulation and polymorphism are given really well (for the beginners only) in Head First Java. Do not purchase this book as your friend is familiar with programming, so just get it for a day or two from some library and brush up the concerned chapters (which cover encapsulation and polymorphism).

Next I would suggest to buy this book called Head First OOAD. A book which will teach you basics of OO design and you'll be able to finish it pretty soon.

Then comes Head First Design Patterns. I loved this book.

P.S. I have recommended these books as you said you friend was a non programmer. So they will really help him understand stuff quickly. Anyway, for programmers there are many brilliant books out there. But these should serve your friend's purpose.



share|improve this answer
I will soon post the links for HF-Java and HF-DP. I couldn't now as I have just created my profile here. It seems I need some reputation before I can do that. –  shahensha Nov 2 '10 at 15:00
Let the links be posted! ;) –  ivorykoder Nov 2 '10 at 15:05
If you liked the answer you can accept it :) –  shahensha Nov 11 '10 at 9:22
add comment
