
Ask HN: How best to teach object oriented programming? - peter_l_downs
Hey there HN,
so I've just gotten a job tutoring a highschool freshman how to program. He has a little programming experience, but not much; I'm not sure with what language. I've been programming in python and C for the last couple of years, and only recently started messing around with Java. I know most of the principles of object oriented design, but I've never tutored anyone before or had to explain object oriented programming to anyone. Eventually, the kid wants to learn how to program iPhone apps, but he understands that I've never done that before and we both think it would be best if he learned the fundamentals of programming first.<p>Are there any particularly good books I should read / have the kid read? He's open to a bunch of different languages - I figured I'd cement the basics of programming in general with python and then introduce him to object oriented programming in particular with Java (using BlueJ as the IDE because it automatically shows class structure). Do you think there would be a better way to go about it?
Thanks,
peter_l_downs
======
candre717
I'm reading "The Object Orientated Thought Process." It uses Java as the
example language, but it's not meant to teach Java. Instead, the book
illustrates what OO programing entails. As a result, readers get a high level
but practical foundation in writing OO code.

As a novice, I recommend this book. But, I would suggest accompanying it with
another book that actually focuses on learning a specific language, which is
what I did using PHP.

------
anthonycerra
I'm teaching my 11 year old cousin how to program and for now I'm just
focusing on getting him familiar with the terminology and the thought process.

I'm using railsforzombies.org as a starting point because it has everything in
one place and is noob-proof. We watch the video and then he tries to do the
exercises. Along the way I relate OOP concepts to things that he's interested
in..and zombies because who's not interested in zombies?

------
thejay
Give Smalltalk a look, it's probably the truest OO language out there and best
to teach OO with.

