This summer my wife and one of my friends (who are both programmers and undergraduate math majors, but have not learned any algebraic geometry) want to learn some algebraic geometry from me, and I want to learn how to program from them, so we were planning on working on some computational algebraic geometry together. While there are several books which we could work through, I thought it might be more fun and productive if we had the goal of developing a usable new algorithm, or at least implementing an algorithm which no one has implemented before. I do not have any ideas, but I thought that some mathoverflowers might have had an idea for an algorithm they would like to see implemented but have never had the time to work through the details. Keep in mind that my wife and friend will have to learn any mathematics past a first course in topology and abstract algebra as we go. 


So does anyone have any ideas for an algorithm they would like to use which is within the reach of my "team" to implement within a summer? We are planning on working on this stuff between 2 and 3 hours a day for about 3 months.



What algorithm in algebraic geometry should I work on implementing?
Just a thought, but maybe you should have a look at [sage](http://sagemath.org). It's a big open source project that is currently under very active development. If you're interested in contributing, I would suggest that you post to the sage-devel Google group with this same question. Some thoughts for things to do would be to improve the support for relative extensions of number fields and for function fields.


