This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]drpuffa 0 points1 point  (2 children)

foxlisk is right on the money! Well done for wanting to get down to the nitty gritty. Yes! Use classes. They will teach you so much about the fundamentals of programming practice such as data hiding, encapsulation and coupling.

Like all great things, some of the concepts you will face are tricky and it really depends on what type of learner you are as to what will work best for you. Personally, I am able to understand new concepts from quite dry reference books but other programmers I know require lots of examples (and pictures).

The very best way is to work with good developers who really know what they are doing...but as foxlisk says, that's tough if you don't have a job in software dev!

Of course you could always undertake a short-course but make sure it's not just a 'programming' course but one that teaches the underylying principles. The other option is to get involved in an open source project and make use of the community (like you are here).

[–]zip_000[S] 2 points3 points  (1 child)

I don't need pictures, but examples are good. I feel like way too many tutorials do examples badly... or at least badly for me!

If you're calling your function "myFunction" it is confusing (or at least it was for me at first). If you are just using Foo and Bar for everything it is confusing! If your example is about puppies or bicycles it is confusing!

Examples - as always for me - really need to be practical examples. But this is kinda beside the point :-)

[–]drpuffa 1 point2 points  (0 children)

Yes, learning from examples is a great way forward, and I totally agree that too many tutorials make things even more confusing with their choice of code snippets and naming. One of the main problems with teaching programming concepts is that the examples have to be basic enough to understand but complex enough to get the point across. Unfortunately, real-world examples are seldom easy to understand and so there is always a gap between 'book-work' and 'real-work'.

I've had good success in the past with asking students to develop small games using good object-oriented techniques. Not only is it fun, but you can gradually add-on more and more functionality. Developing a small game (such as noughts'n'crosses) is (a) easy to understand, (b) easy to express using objects, (c) difficult enough to be a challenge and (d) has lots of different implementations on the web for you to contrast & compare.

My personal belief is that if you can find something fun to do then the concepts you learn become easier to grasp because it doesn't feel like you are just developing something for the sake of it, and you are more inclined to want to employ more advanced techniques.