- Getting Started Guide
- GCI timeline
- GCI Frequently Asked Questions
- Student Responsibilities
- Mentor Responsibilities
- Get in contact with the ns-3 team: ns-developers mailing list | Chat https://ns-3.zulipchat.com/
ns-3's GCI 2018
This webpage highlights project ideas for ns-3's Google Code-In 2018 effort.
The seven week coding period for projects runs from 23 October to 12 December, 2018. The full project timeline is here: https://developers.google.com/open-source/gci/timeline
Important note: ns-3 is applying to Google Code-In as a project but will not learn about acceptance until September 18.
About the ns-3 project
ns-3 is a discrete-event network simulator, with a particular emphasis on network research and education.
Users of ns-3 can construct simulations of computer networks using models of traffic generators, protocols such as TCP/IP, and devices and channels such as WiFi, and analyze or visualize the results. Simulation plays a vital role in the research and education process, because of the ability for simulations to obtain reproducible results (particularly for wireless protocol design), scale to large networks, and study systems that have not yet been implemented. A particular emphasis in ns-3 is the high degree of realism in the models (including frameworks for real application and kernel code) and integration of the tool with virtual machine environments and testbeds; we view that researchers need to move more effortlessly between simulation, testbeds, and live experiments, and ns-3 is designed to facilitate that.
Mentors will keep track of the students work and provide them constructive feedback. Mentors from companies are welcome, if the employer will permit the mentor sufficient time to perform the mentoring. Prospective mentors should notify Mohit P. Tahiliani or Tom Henderson of interest. Mentors familiar with ns-3 development practices will be preferred, to improve the chances of student code merge.
Students: how to participate
For students interested in applying to ns-3 for GCI, first wait to see if ns-3 will be selected. If so, then go through the following list to get started:
- Read how GCI works.
- Read the official Getting Started Guide.
- Look through our List of tasks below (to be extended) to see if you find a task that interests you. If ns-3 is selected, these tasks will be visible through the GCI dashboard once the program starts on Oct 23.
- Select appropriate tasks from the following categories: coding, documentation, training, outreach, research, quality assurance, and design.
- Glance through the ns-3 tutorial, if you have not already done so.
- Proceed to get in touch with the mentors: ns-developers mailing list | chat https://ns-3.zulipchat.com/
Mentors: how to participate
The ns-3 project is open to the proposal of new tasks by developers interested in being a GCI mentor. For mentors who're adding tasks to the list below, please ensure that:
- The tasks must be sized such that they can be completed in 3 - 5 hours by students. Students have 3 days to complete the tasks.
- The tasks must belong to any one of the following categories: coding, documentation, training, outreach, research, quality assurance, and design, and the respective category must be specified clearly in the description of the task. Note that tasks must not be related to language translation of the project documentation.
- The task must be sufficiently described i.e., the main aim of the task, complexity of the task, reference links and other relevant information.
- The tasks must be related to any of the following: ns-3-dev, ns-3-dce, ns-3 app store, and bake.
List of mentors
The list of mentors for GCI 2018 (more to be added):
- Mohit P. Tahiliani
- Dizhi Zhou
- Michele Polese
- Ankit Deepak
- Abhijith Anilkumar
- Vivek Jain
- Viyom Mittal
- Sourabh Jain
- Apoorva Bhargava
- Shefali Gupta
- Shikha Bakshi
- Jendaipou Palmei
- Sachin D. Patil
- Vishal Rathod
- Harsh Patel
- Kaushik Kalamady
- Vilas Bhat
List of tasks
Note to students: These ideas are not listed in any priority order.
Update the documentation of ns-3 app store
Update the User Guide in ns-3 app store wiki with latest screenshots and workflow, and the current documentation where necessary.
- Component: ns-3 app store
- Category: Documentation
- Level: Easy
Update parse_bake.py in ns-3 app store
Modify ns-3-AppStore/src/util/parse_bake.py to make sure that a bakefile is properly parsed and an app can be edited/created using the data. Make sure creation works, this will be useful when the App Creation process is automated.
- Component: ns-3 app store
- Category: Coding
- Level: Medium
Create a Deploy Script for ns-3 app store
Create a deploy script (shell script) that needs to be run each time a redeployment happens. Preferably, the deploy script should cover everything from pulling from GitHub to restarting the server. This will be useful to setup GitHub webhooks and automate the deployment process.