Live data from Hacker News

Teach Programming to become a better programmer

zeroequalsfalse.press

21–30 of 60 posts

Re: Teach Programming to become a better programmer

#21
I thought I was a pretty hot Pascal programmer in grad school. Then, for a period of time, I was tasked with teaching Pascal to professional programmers and engineers throughout Texas Instruments. I quickly discovered that there were aspects of the language (even in a language as simple as Pascal) that I found difficult to explain because I didn't fully understand them. Getting to teach the subject multiple times and each time making the presentation clearer made me understand the language, it's limitations, and effective use much better.

Re: Teach Programming to become a better programmer

#22
post #5

I'd advise people to not teach if they don't understand the source material very well, it can lead to spread of misconceptions which can make the concepts more confusing for the students rather than less. I feel this is often left out of these discussions. You can always pretend to teach yourself to navigate the concepts though, when learning the first time yourself.

I've found that when a developer on my team is tasked with explaining something to another team member, they themselves get a much better grasp of the topic.

When we are doing work we often do "what works" to complete the job. Somehow, becoming responsible for someone else's knowledge forces some people to understand their own limitations.

Re: Teach Programming to become a better programmer

#24
There is not question that teaching Python to beginners has made me appreciate various aspects of the language better.

For one how little need is there for map,reduce,filter in Python when you have list comprehensions and generators .

Still trying to find a use for coroutines though.

Re: Teach Programming to become a better programmer

#25
post #23

I've done this on IRC since the late 90s and I think it benefited me greatly, but you should see the blank stares I get when I mention this in interviews. Best just to forget mentioning "IRC" in general. EDIT: "in interviews" to put things in real terms

Yeah I spent hours in linux IRCs helping out new users, and it helped cement my understanding.

It's funny looking back. Sometimes you can do something that seems engaging at the moment, but turns out to have been a massive waste of time. Yet hanging out in a chat room for hours on end felt like a waste of time in the moment but looking back it was very valuable to me.

Re: Teach Programming to become a better programmer

#26

I said the same thing back in the day... Nothing teaches the nuance more than trying to explain something and being wrong in front of 20 people.. you make sure you fully understand it so it doesn't happen again.

It's embarrassing at first, but it can be turned into a learning experience for everyone. It can foster a more engaged, collaborative classroom when an instructor admits when he's wrong and graciously thanks students for improving their own knowledge. That said, the instructor should have the strongest grasp of the material.

Re: Teach Programming to become a better programmer

#27
post #5

I'd advise people to not teach if they don't understand the source material very well, it can lead to spread of misconceptions which can make the concepts more confusing for the students rather than less. I feel this is often left out of these discussions. You can always pretend to teach yourself to navigate the concepts though, when learning the first time yourself.

I'd argue that teaching helps you to push yourself to understand the subject matter more clearly. You might also be fooling yourself that you do comprehend something, and that becomes obvious when you can't explain the topic clearly.

Re: Teach Programming to become a better programmer

#28
Biggest issue I continuously encounter with new engineers is reinventing the mistakes of the past due not understanding the history of engineering and in turn what criteria we measure the quality of a decision on. Does this design take us closer to an over arching engineering ideal or farther a way?

The only course I've found is this one that starts from square one and gives new engineers this context is this: https://www.udacity.com/course/software-development-process-...

It would be great if there was more material online and we systematically teach new engineers history and context in addition to the nuts and bolts of making a program.

Re: Teach Programming to become a better programmer

#29
If you're in New York City or the San Francisco Bay Area, ScriptEd (https://scripted.org/volunteer/) offers opportunities to teach programming to students at under-resourced high schools. It's especially rewarding because these are students who are least likely to be exposed to this material in their normal curriculum. If your employer is OK with you taking half days twice a week to volunteer, then I strongly recommend it. It's a unique growth opportunity.

Re: Teach Programming to become a better programmer

#30

An even better way is to program, program and program some more. Doing ( creating software ) > teaching/explaining > doing nothing. Nothing beats solving problems yourself.

If the only thing you're aiming at is to become a better programmer, you may be right.

However, I think you should try looking at the bigger picture: when you teach, you make two people better programmers. And that's when teaching a single person.

Post reply on HN