Jump to: navigation, search

ASCEND is applying to participate in GSOC in 2018. Please read below if you are interested in participating!

The following application guidelines are retained for future reference.

General information

GSOC is a programme that lets students be paid for work that they do to contribute to an open-source software project. It is a competitive programme for which students must make themselves known to the software project directly, and then apply to Google for selection. Students who get involved well in advance of the deadlines usually have a much better chance of being selected. Some links for people wanting to learn about GSOC for possible future participation:

We'd like to encourage anyone interested in our project to get in contact with us, and make a proposal! In general, the best way to learn about ASCEND is first to actually try to use it: so, please, get the code, build it, try writing some models, ponder our student projects list, and make your proposal. If you would like to discuss any of this, you can get in contact with us.

Please note that to actually formally apply to participate in the GSOC, you must do so via the GSOC website, you don't apply to us.

Ways to get involved

  • read the ASCEND overview and understand what ASCEND actually does.
  • download our 'trunk' code using subversion then build it, and then let us know about any issues you come across. Try to help us fix those issues. If you want an overview of the code, see our Developer's Manual.
  • use ASCEND! write some models to solve some problems that you have come across in your coursework or elsewhere. Preferably they should be non-trival: simultaneous nonlinear equations, optimisation problems, dynamic problems, etc. Send us your completed models, and work to make them general and reusable. Make use of existing reusable models from our model library where possible. If we see someone who's actually worked out what ASCEND is and how to use it, we're much more likely to sit up and pay attention!
  • read our documentation and help us to improve it: this is a wiki, so anyone can edit it. (Note: because of endless spam, you have to first register and we have to manually review your submission, but if you look like you're a real human-being person thing, then we're happy to have you.)
  • take a look at our tracker and find a bug that you can fix, or a feature request that you can implement
  • get onto our mailing list and open a discussion on features you would like to see in ASCEND
  • talk to your professor about ASCEND, and whether there might be ways to incorporate project work with ASCEND into your degree.
  • you might like to try tackling some little example problems that we previously used as tests for our GSOC applicants: OpenMP Exercise, ANTLR exercise. We'll update here if we manage to write any new example problems.
  • take a look at our Student projects page for some existing GSOC projects. Surely, you are very welcomed to propose your own project!

Application template

The following is the 'application template' that you can use when submitting your formal proposal to ASCEND via the GSOC website. Please check back here before the application deadline to ensure you have included all of the requested information. Please take care with formatting, and try to use a concise style.

About you

  • Name: full name (preferred 'friendly' name in brackets)
  • Email:
  • Location: country, city during coding period
  • University: current university and course, year started, length, expected completion date.
    • Please include an email address and website reference for a professor at your university whom we can contact to confirm your enrolment status if required.
  • Skype ID: (if you have one)
  • Are you subscribed to our ascend-sim-users mailing list? YES/NO (we prefer YES!)
  • Phone number: (optional)
  • URL link to your CV: (optional)
  • URL link to your personal blog/homepage: (optional)

Project proposal

  • Project title as provided on the Student projects page (or something of your own)
  • Then, a description of the project in your own words. What do you think you will be able to achieve, and what will your approach be? Why did you choose this idea?
  • What progress have you made already? This might be a more detailed plan, getting up and running, some initial coding, familiarising yourself with related tools, or some general bug-fixing or bug-reporting for ASCEND more broadly.


Other commitments

  • We expect our GSOC students to be online (we prefer Skype) and immediately contactable for at least 35 hours a week, working directly on their GSOC project. If you expect this to be difficult, or if you expect to work at odd hours, we want to know in advance.
  • Note that we require an absolute minimum of a weekly email update from all our students.

Programming language experience/expertise

  • Programming languages you have learnt, and how many lines of code, approximately, you have written in each.

Relevant experience

  • List jobs, projects, courses etc that show that you have the required knowledge and experience for this project. Explain briefly how they relate to the project you are seeking.
  • Only list things that are relevant, we don't want your whole CV.

Experience with ASCEND

  • Is this your first contact with the ASCEND project?
  • List or link to any code, patches, documentation or bug reports contributed to ASCEND or other projects.
  • Please give us as much evidence as you can to show that you have got our code running on your machine -- compiled it from the source code yourself -- and that you've figured out how to use it independently. The more independent use that you can show, the better. If you've identified a bug, report it and link to your bug report. If you've written a new model, or some new code to add, tell us about it. The more you've done, the easier it is for us to trust in your ability to contribute.


  • If you can, say something insightful about the ASCEND project specifically -- something about our project that interests you more than others available in GSOC.