From Nsnam
Revision as of 04:52, 16 March 2017 by Tomh (Talk | contribs) (Patch Requirement)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

Student Application Template

The following are specific items that the ns-3 team requests GSoC applicants to include in their proposal.

About You

Identity Information

  • Name. Your name
  • Email. Your contact email
  • Country. Your country of citizenship
  • Institution. Accredited institution where you are enrolled as student (college, university, master program, PhD program, undergraduate program, etc).
  • Advisor. (if applicable). Is your research work supervised by a professor or research group?

Patch Requirement

Provide a URL to a repository (or pointer to publicly available commits or issues in the tracker) that satisfies your patch requirement for your application to ns-3. See Patch Requirement Guidelines for details. Note, this is *mandatory*.

Note: If you opt to provide a patch to the program as described in the patch requirement, keep your solution private by pasting the link in your application to Google, not posting it on the mailing list.



Include your academic or professional background related to data networking, as well as any software experience with C++ and/or Python.
In which school program are you currently enrolled at and what is your specialty there?
When did you begin your current studies?


Be sure to denote any work experience you have in relevant areas.
Your past work experience does not need to be a job where you got paid, you can mention any projects you have participated in.

Experience with ns-3

Do you have any experience with ns-3? Do you have any experience working on the ns-3 source code?

Open-source experience

Do you have any prior experience working on open-source software?


Make sure to denote any research experience you have in relevant areas.

Why you?

Why are you the best candidate for the project you're applying for? Why are you interested in it? How does it align with your future plans?

About The Project

Project Title and Abstract

Explain what this project consists of.


What is your technical plan for achieving the goals of the project?
What components and functionality will have to be developed, integrated etc.?
Which development methodology would you use? What testing approach are you going to use to ensure the code quality?


What do you plan as a mergeable code output for your GSoC effort? Please keep in mind that the program is only 12 weeks long and try to incorporate this realistically in your plan.
Try to isolate the project's main features, group them into coherent units, and list them as 'milestones' or 'deliverables'. Note that Google has a Phase 1 milestone at 4 weeks, and Phase 2 at 8 weeks into the program.
The order in which you list the deliverables should correspond to the chronological order in which they will be implemented.


What is your task schedule to implement your technical plan and develop your deliverables?
Try to break down the deliverables into small tasks and assign to each of them the time you think it is going to take you.
Make sure you consider the time you will need to test and fix your code after every deliverable is finished.
Order all the tasks chronologically and assign a start and an end date to each of them. Verify that the resulting schedule fits into the 12 weeks you will have.
It is important to leave some time at the end of the schedule for integrating, testing and fixing the complete project.


What are your expected work hours (in UTC)?
What is your physical location for the summer?
The project places no requirements on these but it will affect chat scheduling as well as mentor availability and selection.


Do you have any other commitments over the summer that would impair your ability to participate in the project, e.g., classes, thesis defense, existing work commitments, etc? Note: The project does not expect students to take personal vacations during this period; if there is a personal vacation planned, please state when, and how you would make up the time.

Of these, the Approach and Deliverables elements will require significant thought, development, and discussion. Applicants are advised to bring their ideas to the ns-developers list and open up a discussion with the ns-3 team or with one of the listed mentors to develop these portions of their application prior to submission. Only applications that have well refined and developed technical objectives and plans are likely to be competitive. The ns-3 team will provide comments and help refine proposals somewhat after they are initially submitted, but obviously the stronger they start the stronger they will be. Also understand that the better you plan your project by discussing it on the list, the more clearer your path will seem through the summer. In all our previous editions of GSoC, our strongest and most successful proposals were those which had been discussed at length beforehand on the mailing list and on IRC.

In addition, once GSoC proposals have been accepted and reviewed, promising candidates will be invited to "meet" some of the ns-3 team and discuss their project further in an IRC chat or other online meeting.