Hello! I'm a freshman piano/mathematics major with interest in using GSoC 2009 to contribute to Moodle. I first learned of Moodle in September when I enrolled in a course that made use of it and have recently been delighted to see that it is open source. With 4.5 years of programming experience behind me, I would like to prove that I am well-suited to serve Moodle as a student this summer. I have two proposal ideas, either of which I am ready to pursue if a community member is willing to mentor.
As an OS X user, I enjoy using OpenOffice and (occasionally) TextEdit to write essays that reach my professors via Moodle. Because they have no use for .ODTs or .RTFs, I've made a habit of converting to Word 97 format once I've finished revising my final drafts. This works fine for my professors, since all that concerns them is the text. From the loss of formatting (things like double-spacing, tabs, or margins) that accompanies the conversion, however, I am left with lesser files on the server that I would prefer not to print if given the choice; my original essays are the ones that I have made aesthetically pleasing, and the assignment type limits me to one uploaded document per assignment. Therefore, I (would) propose to extend the Assigment module to allow for downloading text documents as either 1) the original file uploaded by the student or teacher or 2) a .DOC equivalent of the file, prepared by a PHP converting script. This would save time, space, and would eliminate the constant need for a local copy of non-DOC documents.
Course topic outlines are very useful. So necessary, in fact, that students could benefit from having access to them from any location on campus. Not everyone has the luxury of an unfaltering and omnipresent wireless internet connection, let alone a smart phone or other device to utilize one. What most students do have, though, is a graphing calculator residing faithfully in his or her backpack. Texas Instruments has dominated the graphing calculator market with their TI-83+ and 84+ families of graphing calculators and, more recently, the TI-Nspire, all which support Zilog Z80 Assembler and a higher-level BASIC language. Any of these calculators could easily run a topic outline viewer that could go so far as to show assignment details, the weekly schedule, etc. Such a program would function as a result of two parts: the assembled code and an inline database. Because the code could be independent of changes to the database, the program could be constructed by a simple PHP script that appends the most recent version of the course details (given that the teacher keeps them ASCII-compliant). I propose to write such a viewing program in Z80 Assembler, with which I am already familiar, and a script that builds an output .8XP file that students can then run from graphing calculators.
One issue with the second proposal is that there are probably not many people in the Moodle community who are familiar with Z80 Assembler, meaning that it would be difficult to mentor and the plugin may not be continued by anyone but myself after GSoC. But before I shoot myself down completely, how do these proposals sound? Are either worth preparing applications around?
Thank you guys in advance, I want to help this project in ways that people see as practical.
Zachary Hoffman
Cool! A piano/math major!
I learned clarinet while studying computer science (but I didn't do a double major). I wonder how many other musical Moodlers we have.
I just have a few minor comments on your proposals.
For your first proposal, instead of just making an "x to Word" converter, it would be more interesting to make an "x to y" converter, where x and y can be almost any word processing format. I'm not sure how you were envisioning doing the conversion, but I know that several projects use OpenOffice (running on a fake X server) to do the conversion. You may want to take a look at this project as well: http://dag.wieers.com/home-made/unoconv/
For your second proposal, it would be best to try to make this project able to support many different devices (e.g. Sharp calculators, iPhone, Android, Java-based cell phones, etc.). Obviously you won't be able to do all of those within the GSoC time limits, but you should keep this in mind when you are doing your design. It might even be easier to find a mentor who can at least help you with part of your project if you can find a device that both you and he/she both own (or at least have access to emulators).

I just have a few minor comments on your proposals.
For your first proposal, instead of just making an "x to Word" converter, it would be more interesting to make an "x to y" converter, where x and y can be almost any word processing format. I'm not sure how you were envisioning doing the conversion, but I know that several projects use OpenOffice (running on a fake X server) to do the conversion. You may want to take a look at this project as well: http://dag.wieers.com/home-made/unoconv/
For your second proposal, it would be best to try to make this project able to support many different devices (e.g. Sharp calculators, iPhone, Android, Java-based cell phones, etc.). Obviously you won't be able to do all of those within the GSoC time limits, but you should keep this in mind when you are doing your design. It might even be easier to find a mentor who can at least help you with part of your project if you can find a device that both you and he/she both own (or at least have access to emulators).
Continuing to veer off-topic: http://moodle.org/tag/index.php?tag=music answers the first question.
Wow, that really has a wide following here. It's like... why does Moodle need a tracker anymore, since we've already found all of these music bugs? 
I like your suggestions, Hubert; thanks! Ideally, that's what I would like this idea to lead turn into—a tool that removes the barriers between common text file formats while preserving the source file. The relevant documentation that I am aware of (odt, doc) leads me to think that even odt~doc support could make for a full GSoC project by itself.
This idea might be better implemented as a Java applet. I guess the real challenge there would be to retain a Moodlish look and feel.
...it might even be easier to find a mentor who can at least help you with part of your project if you can find a device that both you and he/she both own (or at least have access to emulators).
I agree. If nothing else, it helps that Texas Instruments provides emulation software with their free SDK.
I like your suggestions, Hubert; thanks! Ideally, that's what I would like this idea to lead turn into—a tool that removes the barriers between common text file formats while preserving the source file. The relevant documentation that I am aware of (odt, doc) leads me to think that even odt~doc support could make for a full GSoC project by itself.
This idea might be better implemented as a Java applet. I guess the real challenge there would be to retain a Moodlish look and feel.
...it might even be easier to find a mentor who can at least help you with part of your project if you can find a device that both you and he/she both own (or at least have access to emulators).
I agree. If nothing else, it helps that Texas Instruments provides emulation software with their free SDK.
The relevant documentation that I am aware of (odt, doc) leads me to think that even odt~doc support could make for a full GSoC project by itself.
Well, you probably don't want to write the conversion process yourself. That would be far too big for a GSoC project. It would be better to look for a tool that will do the conversion for you, such as the one I pointed out above (although there are probably others out there).
IMHO, it would be best to implement it on the server side, rather than on the client side.
I agree. If nothing else, it helps that Texas Instruments provides emulation software with their free SDK.
That would be good to note in your project proposal. So at least if nobody knows Z80 assembler, they can at lest test your work.
Well, it's all submitted. For anyone who is interested, my application is downloadable (a pdf) here. [edit: it looks like the site's down right now. direct link] I ended up submitting only one proposal so that I could write in greater detail. I forgot to mention this, but I have left my summer completely open, other than the negligible piano practicing that I do. 
All that I can think of now is to submit a bugfix. Good luck to people sifting through all of those applications!
All that I can think of now is to submit a bugfix. Good luck to people sifting through all of those applications!
Sorry for the double post, I didn't know where else I would put this. My patch is for MDL-18704. Any questions, clarifications, or criticism?