This is a guest post by Software Carpentry , one of our Open Source & Community sponsors. Programming is not just fun, it's a fantastic tool for getting things done, making things go, and participating in the world of technology and the Internet. We all know this, and that's why a lot of us spend a lot of time teaching others how to program. But do you ever wonder if you're actually teaching effectively? If the techniques you're using actually work, or if there's something you could do better? Educational theorists have been working on the problem of how to transfer knowledge for decades (centuries, even) and there are actually answers to these questions! If you don't have decades to study education theory, come to the Software Carpentry workshop on How to Teach Programming on April 14. At Software Carpentry we've been teaching busy and reluctant people how (and why) to program for over a decade. Greg Wilson, the leader of this workshop, has create...