I am a teacher, and I have been a hobbyist programmer all my life. I am just now starting to apply my programming skills to education problems.<p>At PyCon 2012, pg asked developers to fix search, email, and universities. When someone asked him about fixing public US high schools, he said something along the lines of "Don't try to do that, it's too hard." He really meant that it's too hard to base a profitable startup on fixing public high schools. He was not against efforts to improve public education.<p>No one will "fix" public education, just like no one will "fix" email. The only approach to large problems like this is to create something that helps people solve the core problem in a better way. Then take over "market share".<p>I believe public education is ripe for a revolution. The revolution won't happen by entering the political arena with a loud voice. It will happen by educating a statistically normal group of students in a way that can easily be scaled.<p>I believe that "easily scaled" means every tool involved in the process needs to be completely free and open. There is so much friction in education, that we need to make adoption of better methods as easy as registering a new account on a website.<p>I am working on a simple trio of open tools that I believe has the capability of bringing about widespread change. Briefly:<p>OpenCompetencies: A tool that allows a school to manage its own system of standards/ learning targets. One school's system can be "forked" by any other school, at any time. The concept of forking is clear to us, but does not exist in public education. OpenCompetencies also identifies "pathways", which are paths through the entire set of standards, focusing on particular post-high-school interests.<p>OpenCurriculumBuilder: A dedicated lesson-planning tool. Most lesson plans are still written in Word, which is like programming with an old version of notepad. This tool lets teachers focus on the intellectually interesting parts of lesson planning. It supports sharing by creating a common format for curriculum plans. It supports long-term revision by separating data from presentation.<p>OpenStudentTracker: This is a tool to import all the competencies from OpenCompetencies, creating a personal "map" for a student's learning. When a student completes their map, they are finished with high school. The map can be owned by the student, or a parent or school on the student's behalf.<p>I gave a lightning talk at PyCon this year about these tools, which was well-received. If you are interested:<p>PyCon lightning talk: <a href="http://www.youtube.com/watch?feature=player_detailpage&v=OL3De8BAhME#t=2189s" rel="nofollow">http://www.youtube.com/watch?feature=player_detailpage&v...</a><p>Brief blog post on the topic, with talk slides: <a href="http://peak5390.wordpress.com/2013/03/17/lightning-talk-abolishing-the-traditional-high-school-structure/" rel="nofollow">http://peak5390.wordpress.com/2013/03/17/lightning-talk-abol...</a><p>Github repository for opencompetencies: <a href="https://github.com/openlearningtools/opencompetencies" rel="nofollow">https://github.com/openlearningtools/opencompetencies</a>