Programmer Education

How does one best teach programming? What are the fundamental concepts novice programmers need to understand? How can we teach those concepts most effectively? Can we distill insights from the behavior of experienced programmers and train novices accordingly?

We are currently developing Informa, a platform for educating programmers. Informa is available for download. Feel free to try it out.