Summer Projects: Difference between revisions

From Nsnam
Jump to navigation Jump to search
(127 intermediate revisions by 14 users not shown)
Line 3: Line 3:
The project coordinates a few summer coding programs in which student developers are paired with mentors to produce code over the summer.
The project coordinates a few summer coding programs in which student developers are paired with mentors to produce code over the summer.


= Google Summer of Code 2014 =
= Google Summer of Code 2024 =


ns-3 is participating with four projects in the 2014 [http://www.google-melange.com/gsoc/homepage/google/gsoc2014 Google Summer of Code].
ns-3 has been accepted to Google Summer of Code 2024.  Interested contributors may now start contacting mentors about possible projects.


* [[GSOC2014AcceptedProjects | List of accepted projects]]
* [[GSOC2024Projects | Project Ideas Page]]
** [[GSOC2014LteFFR]]
* [[GSOC2024ContributorGuide | ns-3's GSoC Contributor Guide]]
** [[GSOC2014LTP]]
** [[GSOC2014Bufferbloat]]
** [[GSOC2014MulticastIPv6]]
* [[GSOC2014Projects | Project ideas page]]


= European Space Agency Summer of Code in Space (SOCIS) 2014 =
= Google Summer of Code 2023 =


ns-3 is participating with one project in the 2014 [http://sophia.estec.esa.int/socis2014/?q=node/16 ESA Summer of Code in Space].
The organizational admins were Tommaso Pecorella, Mohit Tahiliani, and Tom Henderson.


* [[SOCIS2014TCP]]
We had three successful student projects for 2023; you can read their final reports below:
 
* '''Giovanni Grieco''', [[GSOC20235GUsability | IUNS-3 5G NR: Improving the Usability of ns-3's 5G NR Module]], mentored by Tom Henderson, Katerina Koutlia, and Biljana Bojovic:  '''''[[GSOC20235GUsabilityFinalReport | Final report]]'''''
* '''Raghuram Kannan''', [[GSOC2023NetAnim | Dynamic device registration for NetAnim simulation animations]], mentored by Tommaso Pecorella and Manoj Kumar Rana: '''''[[GSOC2023NetAnimFinalReport | Final report]]'''''
* '''Muyuan Shen''', [[GSOC2023ns3-ai | ns3-ai enhancements]], mentored by Collin Brady and Hao Yin: '''''[[GSOC2023ns3-aiFinalReport | Final report]]'''''
 
We reviewed seven proposals, which were evaluated by a committee that includes most of the mentors listed on the Project Ideas page.  For future reference, below is our ideas page and contributor's guide.
 
* [[GSOC2023Projects | Project Ideas Page]]
* [[GSOC2023ContributorGuide | ns-3's GSoC Contributor Guide]]
 
= Google Summer of Code 2022 =
 
The organizational admins were Tommaso Pecorella, Mohit Tahiliani, and Tom Henderson.
 
Two contributors completed projects with ns-3 in the 2022 Google Summer of Code.
 
* '''Matteo Pagin''', [[GSOC2022Channel | A simplified channel and beamforming model for ns-3]], mentored by Sandra Lagen, Biljana Bojovic, and Michele Polese  '''''[https://pagmatt.github.io/blog/2022/gsoc2022 Final Report]'''''
* '''Zhiheng Dong''', [[GSOC2022PerfectArp | Perfect ARP and NDP]], mentored by Tommaso Pecorella, Ameya Deshpande,and Manoj Kumar Rana '''''[[GSOC2022NeighborCacheFinalReport | Final Report]]'''''
 
One additional project was started but did not progress past the midterm evaluation:
 
* '''Akash Mondal''', [[GSOC2022TCPMaximumSegmentSize | TCP maximum segment size (MSS) improvements]], mentored by Mohit Tahiliani, Bhaskar Kataria, and Vivek Jain
 
We received seven proposals, which were evaluated by a committee that includes most of the mentors listed on the Project Ideas page.  For future reference, below is our ideas page and contributor's guide.
 
* [[GSOC2022Projects | Project Ideas Page]]
* [[GSOC2022ContributorGuide | ns-3's GSoC Contributor Guide]]
 
= ns-3 Summer of Code 2022 =
 
ns-3 Summer of Code (NSoC) is a program that runs in parallel to Google Summer of Code.  Unlike GSoC, it is not funded, but we aim to operate it similarly to GSoC.   
 
* '''Chandrakant Jena,''' ''Ping and Ping6 Enhancements for ns-3:'' '''''[[NSOC2022Ping | project wiki page ]]''''' mentored by Tommaso Pecorella and Tom Henderson
 
The project by Chandrakant was completed successfully in December 2022, with six commits made to ns-3-dev starting with [https://gitlab.com/nsnam/ns-3-dev/-/commit/da107e04eeb0c12631eadda6a30ad1a33b7f0931 commit da107e04].  The project added a '''[https://www.nsnam.org/docs/doxygen/d6/dbe/classns3_1_1_ping.html new Ping application]''', helper class, example program, unit test, and [https://www.nsnam.org/docs/models/html/internet-apps.html#ping documentation].
 
= Google Summer of Code 2021 =
 
Three students successfully completed projects in [https://summerofcode.withgoogle.com/organizations/4672908493848576/ Google Summer of Code 2021].
 
* '''Parth Pratim Chatterjee,''' ''Direct Code Execution Modernization:'' '''''[[GSOC2021DCE | project wiki page]]''''' '''--''' '''''[https://ns-3-dce-linux-upgrade.github.io/ Final report]'''''
* '''Ameya Deshpande,''' ''IPv6 Nix-Vector Routing:'' '''''[[GSOC2021NixVector | project wiki page]]''''' '''--''' '''''[https://www.nsnam.org/wiki/GSOC2021NixVectorFinalReport Final report]'''''
* '''Akshit Patel,''' ''Add logging support to Simulation Execution Manager (SEM):'' '''''[[GSOC2021SEM | project wiki page]]''''' '''--''' '''''[https://akshitpatel01.github.io/GSoC-2021-Report/ Final report]'''''
 
For reference, below were the 2021 project ideas and the 2021 student guide:
 
* [[GSOC2021StudentGuide | Student Guide]]
* [[GSOC2021Projects | Project Ideas Page]]
 
= ns-3 Summer of Code 2021 =
 
ns-3 Summer of Code (NSoC) is a program that runs in parallel to Google Summer of Code.  Unlike GSoC, it is not funded, but we aim to operate it similarly to GSoC.  The commitments are similar; students and mentors are expected to define and work towards a mergeable project goal by the end of the summer.  The program is offered to 'honorable mention' GSoC proposals (i.e., proposals that we would have selected had we received more student slots from Google) and for other reasons such as a contributor's ineligibility for GSoC.
 
* '''Nitya Chandra,''' ''Enable IPv6 support for ad-hoc routing protocols in ns-3:'' '''''[[NSOC2021Ipv6 | project wiki page ]]''''' '''Note: project did not complete'''
 
= Google Summer of Code 2020 =
 
Four students successfully completed [https://summerofcode.withgoogle.com/ Google Summer of Code 2020] projects:
 
* '''Shivamani Patil,''' ''App Store Improvements:'' '''''[https://shivamanipatil.github.io/gsoc-2020-report/ final report], [[GSOC2020AppStore | project wiki page]]'''''
* '''Ananthakrishan S,''' ''NetDevice up/down consistency and event chain:'' '''''[https://ananthu-dev.github.io/net-device-consistency-gsoc-2020/ final report], [[GSOC2020NetDevice | project wiki page]]'''''
* '''Bhaskar Kataria,''' ''SCE AQMs and TCP along with CNQ-CodelAF and LFQ'' '''''[https://bhaskar792.github.io/GSoC-2020-Report/ final report], [[GSOC2020AQM | project wiki page]]'''''
* '''Deepak K,''' ''TCP Prague model for ns-3'', '''''[https://deepakkavoor.github.io/gsoc-2020-prague/ final report], [[GSOC2020Prague | project wiki page]]'''''
 
For reference, below were the 2020 project ideas and the 2020 student guide:
 
* [[GSOC2020StudentGuide | Student Guide]]
* [[GSOC2020Projects | Project Ideas Page]]
 
= ns-3 Summer of Code 2020 =
 
These projects are unfunded but are mentored in a manner similar to GSoC, at a lesser pace than the 12-week GSoC program.
 
* Muhammad Iqbal Rochman, [[NSOC2020WifiPHY | Wi-Fi PHY Restructure]]  '''Note:''' This project successfully completed.
* Harsha Sharma, [[NSOC2020L4SEvaluation | L4S evaluation framework]]  '''Note:''' This project continued through fall 2020 but did not yet merge.
* Rahul Bothra, [[NSOC2020Routing | Routing for community wireless networks]] '''Note:''' Project discontinued in August 2020.
 
= Google Summer of Code 2019 =
 
ns-3 participated in Google Summer of Code 2019 with four student projects:
 
* Apoorva Bhargava, [[GSOC2019TCPTestingAndAlignment | Testing and Alignment of ns-3 TCP with Linux TCP]]
* Mishal Shah, [[GSOC2019AppStore | Improving the ns-3 AppStore and linking with bake]]
* Tommaso Zugno, [[GSOC2019ThreeGPPChannel | Integration of the 3GPP TR 38.901 channel model in the ns-3 spectrum module]]
* Liangcheng Yu, [[GSOC2019DCN | Framework of Studying Flow Completion Time Minimization for Data Center Networks in ns-3]]
 
Below are project ideas and the 2019 student guide:
 
* [[GSOC2019StudentGuide | ns-3 GSoC student guide]]
* [[GSOC2019Projects | Project Ideas Page]]
 
= European Space Agency Summer of Code in Space (SOCIS) 2019 =
 
ns-3 ultimately was not selected for funding for SOCIS 2019.  Below is an archive of our student guide, for future reference.
 
* [[SOCIS2019 | ns-3 SOCIS student guide]]
 
= Google Summer of Code 2018 =
 
ns-3 participated in the 2018 edition of Google Summer of Code, with five students:
 
* WenYing Dai, [[GSOC2018AccECN_ECN++ | Implementation of AccECN and ECN++ in ns-3]]
* Muhammad Iqbal CR, [[GSOC2018Coexistence | Merging and Improvement of LTE and Wi-Fi Coexistence Module]]
* Sourabh Jain, [[GSoC2018_DCE_Upgrade | Direct Code Execution upgrade]]
* Davide Magrin, [[GSoC2018:_A_Simulation_Execution_Manager_for_ns-3 | A simulation execution manager for ns-3]]
* Jude Niroshan, [[GSoC2018:Trust-based_routing_protocols_framework | Trust-based routing protocols framework]]
 
* [[GSOC2018Projects | Project Ideas Page]]
* [[GSOC2018StudentGuide | Student Application Guide]]
 
= European Space Agency Summer of Code in Space (SOCIS) 2017 =
 
ns-3 has been accepted to the 2017 ESA Summer of Code in Space, with student Pasquale Imputato (mentored by Tommaso Pecorella).  The project successfully completed in October 2017 (details in the below wiki project page).
 
* [[SOCIS2017 | project page]]
* [https://codereview.appspot.com/330220043/ Final code review]
 
The original project ideas page is posted below.
 
* [[SOCIS2017Projects#Project_Ideas | Project Ideas page]]
 
= Google Summer of Code 2017 =
 
ns-3 was fortunate to mentor five outstanding students for the 2017 edition of [https://developers.google.com/open-source/gsoc/ Google Summer of Code].
 
* [[GSOC2017AcceptedProjects | Accepted Projects]]
== Final reports ==
* [http://mailman.isi.edu/pipermail/ns-developers/2017-August/013916.html ns-3 App Store] by Abhijith Anilkumar
* [https://www.nsnam.org/wiki/GSOC2017Lte#Project_summary Enabling LTE CA handover to secondary cell] by Alexander Krotov
* [http://mailman.isi.edu/pipermail/ns-developers/2017-September/013929.html TCP Prague] by Shravya Ks
* [http://mailman.isi.edu/pipermail/ns-developers/2017-September/013918.html LTE and IPv6 support] by Manoj Kumar Rana
* [http://mailman.isi.edu/pipermail/ns-developers/2017-September/013921.html TBF and HHF] by Surya Seetharaman
 
== Phase 2 reports ==
* [http://mailman.isi.edu/pipermail/ns-developers/2017-July/014038.html BCube and FatTree topology helpers (component of TCP Prague project)]
* [http://mailman.isi.edu/pipermail/ns-developers/2017-August/014054.html Implementation of TBF and HHF]
* [http://mailman.isi.edu/pipermail/ns-developers/2017-July/014047.html Enabling LTE CA handover to secondary cell, Phase 2]
* [http://mailman.isi.edu/pipermail/ns-developers/2017-July/014042.html ns-3 App Store]
* [http://mailman.isi.edu/pipermail/ns-developers/2017-July/014049.html Mobile IPv6 implementation with LTE support (report)]
* [http://mailman.isi.edu/pipermail/ns-developers/2017-August/014058.html Mobile IPv6 implementation with LTE support (review request)]
== Phase 1 reports ==
* [http://mailman.isi.edu/pipermail/ns-developers/2017-June/013980.html Data Center TCP (component of TCP Prague project)]
* [http://mailman.isi.edu/pipermail/ns-developers/2017-June/013982.html Implementation of TBF and HHF traffic control]
* [http://mailman.isi.edu/pipermail/ns-developers/2017-June/013983.html Enabling LTE CA handover to secondary cell, Phase 1]
* [http://mailman.isi.edu/pipermail/ns-developers/2017-June/013985.html ns-3 App Store]
* [http://mailman.isi.edu/pipermail/ns-developers/2017-June/013987.html Mobile IPv6 implementation with LTE support]
== Background ==
Below is some information that was used during the application phase.
 
* [[GSOC2017Projects | Project Ideas Page]]
* [[GSOC2017StudentGuide | Student Application Guide]]
 
= European Space Agency Summer of Code in Space (SOCIS) 2016 =
 
ns-3 had one student (Michael Di Perna) successfully complete the 2016 [http://sophia.estec.esa.int/socis/ ESA Summer of Code in Space]. 
 
* [[SOCIS2016 | Project page]] for Optical Satellite Systems project
* [[SOCIS2016Projects#Project_Ideas | Project Ideas page]]
 
= Mentored summer projects 2016 =
 
ns-3 maintainers will mentor additional summer projects (that students will work on using their own sources of funding) on a best-effort basis.  Students interested in this option should review the GSoC or SOCIS ideas page, or propose their own.
 
* See [[MentoredProjects2016]]
 
= Google Summer of Code 2016 =
 
ns-3 was not selected for the 2016 [https://developers.google.com/open-source/gsoc/ Google Summer of Code].  We mentored two summer projects outside of GSoC.  Below were our materials prepared for our GSoC organizational application.
* [[GSOC2016Projects | Project ideas page]]
* [[GSOCStudentGuide | Student guide]]
 
= Google Summer of Code 2015 =
 
ns-3 was selected to participate in the 2015 [http://www.google-melange.com/gsoc/homepage/google/gsoc2015 Google Summer of Code].  More information can be found on our Project Ideas page and our Student Guide.
 
* [[GSOC2015AcceptedProjects | Accepted projects]]
* [[GSOC2015Projects | Project ideas page]]
* [[GSOC2015StudentGuide | Student guide]]
 
This year's students were announced on April 27, and all four successfully completed the program:
 
* Melchiorre Danilo Abrignani, [[GSOC2015LTECA | Carrier Aggregation support for the LTE module]]
* Matthieu Coudron, [[GSOC2015MpTcpImplementation | Implementing multipath TCP (MPTCP) in ns3]]
* Natale Patriciello, [[GSOC2015TCPTest | TCP layer refactoring with automated test on RFC compliance and validation]]
* Vishwesh Rege, [[GSOC2015LrWpanMac | 802.15.4 realistic MAC and Energy Model]]
 
= European Space Agency Summer of Code in Space (SOCIS) 2015 =
 
ns-3 has been accepted to the 2015 [http://sophia.estec.esa.int/socis2015/ ESA Summer of Code in Space].  The ns-3 project had one student in SOCIS in each of 2013, 2014 and 2015.  However, the satellite channel models project for 2015 [[SOCIS2015 | Satellite channel models]] did not successfully complete.
 
* [[SOCIS2015Projects | Project ideas page]] (for reference)


= Mentored summer projects =
= Mentored summer projects =


ns-3 maintainers will mentor additional summer projects (that students will work on using their own sources of funding) on a best-effort basis.
ns-3 maintainers will mentor additional summer projects (that students will work on using their own sources of funding) on a best-effort basis. Students interested in this option should review the GSoC or SOCIS ideas page, or propose their own.
 
We have one such mentored project in 2015:


* [[MentoredProjects2014 | Details]]
* Saswat Mishra, [[NeighborDiscoveryProject | Neighbor Discovery enhancements]]
* List of mentored projects
** [http://www.nsnam.org/wiki/GSOC2014Projects#Port_ns-3_components_to_Python_3.3_and_improve_Python_code_quality ns-3 Python 3 compatibility] (student:  [mailto:siddharth.santurkar@ieee.org  Siddharth Santurkar], mentors:  Vedran Miletic and Gustavo Carneiro)
** [[RoutesMobilityModel | Routes Mobility Model]] (student:  [mailto:1090678@isep.ipp.pt Tiago Cerqueria], mentors: [mailto:tomh@tomh.org Tom Henderson], [mailto:scarpen@ncsu.edu Scott Carpenter])


= Past summer projects =
= Past summer projects =


* [[GSOC2014AcceptedProjects | GSoC 2014 Accepted Projects]]
* [[SOCIS2014TCP | SOCIS 2014 Accepted Project]]
* [[MentoredProjects2014 | 2014 Mentored Projects]]
* [[SOCIS2013BundleProtocolProject | SOCIS 2013 Accepted Project]]
* [[SOCIS2013BundleProtocolProject | SOCIS 2013 Accepted Project]]
* [[GSOC2013AcceptedProjects | GSoC 2013 Accepted Projects]]
* [[GSOC2013AcceptedProjects | GSoC 2013 Accepted Projects]]
Line 37: Line 226:
* [[GSOC2010AcceptedProjects |GSoC 2010 Accepted Projects]]
* [[GSOC2010AcceptedProjects |GSoC 2010 Accepted Projects]]
* [[GSOC2009AcceptedProjects |GSoC 2009 Accepted Projects]]
* [[GSOC2009AcceptedProjects |GSoC 2009 Accepted Projects]]
* [https://developers.google.com/open-source/soc/2008/?csw=1#ns3 GSoC 2008 Accepted Projects]

Revision as of 01:18, 22 February 2024

Main Page - Roadmap - Summer Projects - Project Ideas - Developer FAQ - Tools - Related Projects

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

The project coordinates a few summer coding programs in which student developers are paired with mentors to produce code over the summer.

Google Summer of Code 2024

ns-3 has been accepted to Google Summer of Code 2024. Interested contributors may now start contacting mentors about possible projects.

Google Summer of Code 2023

The organizational admins were Tommaso Pecorella, Mohit Tahiliani, and Tom Henderson.

We had three successful student projects for 2023; you can read their final reports below:

We reviewed seven proposals, which were evaluated by a committee that includes most of the mentors listed on the Project Ideas page. For future reference, below is our ideas page and contributor's guide.

Google Summer of Code 2022

The organizational admins were Tommaso Pecorella, Mohit Tahiliani, and Tom Henderson.

Two contributors completed projects with ns-3 in the 2022 Google Summer of Code.

One additional project was started but did not progress past the midterm evaluation:

We received seven proposals, which were evaluated by a committee that includes most of the mentors listed on the Project Ideas page. For future reference, below is our ideas page and contributor's guide.

ns-3 Summer of Code 2022

ns-3 Summer of Code (NSoC) is a program that runs in parallel to Google Summer of Code. Unlike GSoC, it is not funded, but we aim to operate it similarly to GSoC.

  • Chandrakant Jena, Ping and Ping6 Enhancements for ns-3: project wiki page mentored by Tommaso Pecorella and Tom Henderson

The project by Chandrakant was completed successfully in December 2022, with six commits made to ns-3-dev starting with commit da107e04. The project added a new Ping application, helper class, example program, unit test, and documentation.

Google Summer of Code 2021

Three students successfully completed projects in Google Summer of Code 2021.

For reference, below were the 2021 project ideas and the 2021 student guide:

ns-3 Summer of Code 2021

ns-3 Summer of Code (NSoC) is a program that runs in parallel to Google Summer of Code. Unlike GSoC, it is not funded, but we aim to operate it similarly to GSoC. The commitments are similar; students and mentors are expected to define and work towards a mergeable project goal by the end of the summer. The program is offered to 'honorable mention' GSoC proposals (i.e., proposals that we would have selected had we received more student slots from Google) and for other reasons such as a contributor's ineligibility for GSoC.

  • Nitya Chandra, Enable IPv6 support for ad-hoc routing protocols in ns-3: project wiki page Note: project did not complete

Google Summer of Code 2020

Four students successfully completed Google Summer of Code 2020 projects:

For reference, below were the 2020 project ideas and the 2020 student guide:

ns-3 Summer of Code 2020

These projects are unfunded but are mentored in a manner similar to GSoC, at a lesser pace than the 12-week GSoC program.

Google Summer of Code 2019

ns-3 participated in Google Summer of Code 2019 with four student projects:

Below are project ideas and the 2019 student guide:

European Space Agency Summer of Code in Space (SOCIS) 2019

ns-3 ultimately was not selected for funding for SOCIS 2019. Below is an archive of our student guide, for future reference.

Google Summer of Code 2018

ns-3 participated in the 2018 edition of Google Summer of Code, with five students:

European Space Agency Summer of Code in Space (SOCIS) 2017

ns-3 has been accepted to the 2017 ESA Summer of Code in Space, with student Pasquale Imputato (mentored by Tommaso Pecorella). The project successfully completed in October 2017 (details in the below wiki project page).

The original project ideas page is posted below.

Google Summer of Code 2017

ns-3 was fortunate to mentor five outstanding students for the 2017 edition of Google Summer of Code.

Final reports

Phase 2 reports

Phase 1 reports

Background

Below is some information that was used during the application phase.

European Space Agency Summer of Code in Space (SOCIS) 2016

ns-3 had one student (Michael Di Perna) successfully complete the 2016 ESA Summer of Code in Space.

Mentored summer projects 2016

ns-3 maintainers will mentor additional summer projects (that students will work on using their own sources of funding) on a best-effort basis. Students interested in this option should review the GSoC or SOCIS ideas page, or propose their own.

Google Summer of Code 2016

ns-3 was not selected for the 2016 Google Summer of Code. We mentored two summer projects outside of GSoC. Below were our materials prepared for our GSoC organizational application.

Google Summer of Code 2015

ns-3 was selected to participate in the 2015 Google Summer of Code. More information can be found on our Project Ideas page and our Student Guide.

This year's students were announced on April 27, and all four successfully completed the program:

European Space Agency Summer of Code in Space (SOCIS) 2015

ns-3 has been accepted to the 2015 ESA Summer of Code in Space. The ns-3 project had one student in SOCIS in each of 2013, 2014 and 2015. However, the satellite channel models project for 2015 Satellite channel models did not successfully complete.

Mentored summer projects

ns-3 maintainers will mentor additional summer projects (that students will work on using their own sources of funding) on a best-effort basis. Students interested in this option should review the GSoC or SOCIS ideas page, or propose their own.

We have one such mentored project in 2015:

Past summer projects