GSoC 2011 Application Geoffrey Ehrman - sympy/sympy GitHub Wiki

TODO: Cleanup/Merge & Expand Google Summer of Code 2011 Application Template

You

* Name
* University / current enrollment
* Short bio / overview of your background
* Join the sympy GoogleGroup and introduce yourself
* Get yourself an account on our Wiki and add your project proposal
* How can we contact you (email, IRC handle, etc.).

Your Coding Skills

In your project proposal let us know

* What platform do you use to code?

Set yourself up

Do the following:

  • Set up your platform to develop with sympy (install git, clone https://github.com/sympy/sympy.git, execute tests)
  • Create an account at GitHub and fork SymPy (https://github.com/sympy/sympy)
  • Find something in sympy that doesn't work or needs improvement and send us a git patch fixing it (if you need inspiration, feel free to fix any issue from our easy to fix issues list http://code.google.com/p/sympy/issues/list?q=label:EasyToFix
  • Report success on the sympy list
  • Publish your patch for peer review by creating a pull request on GitHub. You must submit a patch that is successfully reviewed and pushed in to be accepted. We do not consider applications without patches. This shows us that you know Python and that you are able to interact with the community.
  • If you need help with anything, ask on the sympy list (http://groups.google.com/group/sympy) or our IRC channel (#sympy on freenode) (don't be afraid if you don't know git for example, we'll teach you everything that is needed, the only required thing from you is enthusiasm and willingness to learn new things)

Your Project

Start a wiki page to work on your proposal at https://github.com/sympy/sympy/wiki/. If add your proposal there, we will help you edit it (though understand that we will not help you write it).

Answer the following questions in your proposal:

  • What do you want to achieve?
  • If you have chosen an idea from our list, why did you choose this specific idea?
  • If you are proposing a project of your own, what is unique about it?
  • What qualifications do you have to implement your idea. For example, if you are implementing solvers for partial differential equations, what courses have you taken or books have you read on PDEs?
  • What makes you suited to do the project?
  • How much time do you plan to invest in the project before, during, and after the Summer of Code? (we expect full time 40h/week during GSoC, but better make this explicit)
  • Please provide a schedule of how this time will be spent on subtasks of the project over the period of the summer. While this is only preliminary, we will use it to help monitor your progress throughout the program. Also understand that during the project you will issue weekly progress reports against that plan on your blog.

You do not need to format your application as a question/answer format for the above questions, but we expect to see all of the above questions answered in your application somewhere.

#About me: I am currently a 2nd year PhD student at UNH. I have a BS. in mathematics with a minor in computer science from UAkron.

##Coursework: Undergrad: 1 year algebra, analysis, combinatorics & graph theory; 1 semester probability, topology, Grad: Algebra I & II, Analysis I & II, Topology I, Knot Theory*, Algebraic Geometry** (using Ideals, Varieties, and Algorithms by C-L-O), Tensor Categories*, Algebraic Graph Theory* (2 semesters) *-seminar **-reading course

##Work Experience: I worked for approximately a year and a half as a junior sysadmin at the Applied Mathematics Research Lab at UAkron.

##Programming Experience: I started programming about 12 years with TI-Basic on a TI-83+. I have been programming in python for about 10 years; however, most of my work to date has been quite simple shell scripts and small GUI applications primarily written with PyQt. I have also written a moderately large application in VBA on top of MS Access. My minor in CS at Akron was primarily in Java. I did take a class in assembly language, and an independent study in bioinformatics which used perl, python, and Octave. I spent two summers at UIUC; the first refactoring and extending python code to visualize quasicrystals, the second writing Mathematica code to visualize fractals on sub-Riemannian manifolds.

#GSoC '11 Ideas: Quantum Mechanics on Graphs Symbolic Computations Groebner Bases