Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.