-
Notifications
You must be signed in to change notification settings - Fork 1.3k
GSoC 2013
SWIG is a software development tool to ease the use of C/C++ code from other programming languages. These so called 'target languages' vary enormously. The most popular being the scripting languages Python, Perl, Ruby, PHP & Tcl and the strongly typed languages, Java & C#. However, the full list of target languages includes various Scheme and Common Lisp languages as well as XML. For C++, SWIG generates the glue code so that a C++ class can be called from an automatically generated target language proxy class. SWIG is coded in C and C++. Please visit the swig homepage: http://www.swig.org
Working with SWIG will expose the student to a wide variety programming languages and will give them the chance to gain some deep insight into C/C++ and one or more of the list of target languages. Exposure to Object Oriented programming in general will also be gained. Following outlines the brief step-by-step for students willing to apply to SWIG. The Advice for GSoC Students link is the one you should be referring to for general advice.
- Get to know about SWIG: Visit the SWIG homepage
- Find a project: Check out the Ideas page or suggest an idea of your own.
- Start communicating: Join the SWIG' developers list and SWIG' IRC channel: #swig-gsoc on irc.freenode.net. Begin communicating with the community. Other members of the community can help you refine your idea, and you may meet potential mentors.
- Discuss your idea: Discuss your chosen idea on the swig mailing list and on the IRC channel. Show enthusiasm, play with the existing code (if any), report problems, suggest solutions.
- Draft your proposal: Draft your proposal in regards to the application template provided below. Submit the proposal on time to avoid last minute hassle. See the program timeline at the bottom.
- Let others know: Forward your application URL with a brief description about your proposal on the SWIG mailing list.
Abstract * A short description of your proposed project Detailed Description * Background and full description of the problem and what it is going to solve * What are the main benefits for SWIG users/developers of your project? * What motivates you about doing the proposed project? * Detailed design of how it will be implemented including the areas/files that will need modifying * Please include use cases so that we can see how a user will be able to use the new feature. The more of these the better as we'd expect a test driven development approach. These use cases should form the backbone of the regression tests and we'd like to know how these tests will fit in with the current regression testing that SWIG has. Implementation timeline * Detailed outline of milestones and when they will be achieved during the course of the project (this is of course subject to possible change during the entire period) * State clearly periods that you expect that you will not be available to work on the project, eg time needed for study, exams, holidays etc. * How would you like to demonstrate and communicate regular progress? * How much time do you plan to invest into the project before, after and during the Summer of Code. Future work * Describe what could/will need doing once your project deliverables have been finished. Relevant knowledge * Describe what experience you have already had of SWIG. If you are new, we'd expect you to list the areas you understand and have experimented with. * Detail any bug fixes that you have submitted to SWIG. Students who browse the current bugs and submit a good patch to fix one of them will be looked on most favourably. * Describe what experience you have in the project specific area. Include technologies that you are implementing such as C/C++, the target language, any courses you have been on or actual code completed. * Which toolchains and platforms do you use? * Please summarize here any recent interaction you have had with the SWIG community (IRC, mailing lists etc). About You * Describe yourself, where you work/play/study and your relevant interests * Include any web links to pages that might exist about you or a blog if you have one * Your contact information. Include email address, telephone * What IRC name are you using on #swig-gsoc? Although the template is not the same, a Model application is available at http://www.dabeaz.com/cgi-bin/wiki.pl?GSoCPython3Proposal.
General Advice for GSoC Mentors
List of Mentors (to be expanded):
- Ashish Sharma
- ...
Reference : http://www.google-melange.com/gsoc/events/google/gsoc2013
- March 29, 19:00 UTC: Mentoring organization application deadline.
- April 1-5: Google program administrators review organization applications.
- April 8, 19:00 UTC: List of accepted mentoring organizations published on the Google Summer of Code site.
- April 9-21: Would-be student participants discuss application ideas with mentoring organizations.
- April 22, 19:00 UTC: Student application period opens.
- May 3, 19:00 UTC: Student application deadline.
- May 8: Slot allocations published to mentoring organizations
- May 22: First round of de-duplication checks happens; organizations work together to try to resolve as many duplicates as possible.
- May 24: All mentors must be signed up and all student proposals matched with a mentor - 07:00 UTC
- May 27 , 19:00 UTC: Accepted student proposals announced on the Google Summer of Code 2013 site.
- June 17: Students begin coding for their Google Summer of Code projects;
- July 29, 19:00 UTC: Mentors and students can begin submitting mid-term evaluations.
- August 2, 19:00 UTC: Mid-term evaluations deadline;
- September 16: Suggested 'pencils down' date. Take a week to scrub code, write tests, improve documentation, etc.
- September 23, 19:00 UTC: Firm 'pencils down' date. Mentors, students and organization administrators can begin submitting final evaluations to Google.
- September 27, 19:00 UTC: Final evaluation deadline
- October 1: Final results of Google Summer of Code 2013 announced
- October 19 - 20: Mentor Summit at Google.