During their thesis, PhD students are often asked to produce code in order to implement their theoretical developments. This production, made up of existing codes from previous work and / or third-party sources to which doctoral students add their contribution, generally suffers from several shortcomings:
- lack of software architecture (organization in libraries)
- lack of standards (design patterns, object-oriented programming)
- lack of portability and difficulties in distributing the code
- lack of coherence and interoperability in technological choices preventing easy exchanges between colleagues of the same team.
In addition, the nested use of third-party codes induces difficulties in terms of intellectual property and therefore transfer.
The objective of this training is therefore twofold:
- to apply the methodologies and standard tools for software development on concrete and personalized use cases
- highlight issues related to intellectual property and transfer.
Save the Date !
This training was accepted by the UCA Doctoral School as a professional training course. We are planning two slots of one week each:
- the first in March 2018 just after the school holidays,
- the second at the beginning of September 2018.
We will inform PhD students via the doctoral school of exact dates by the end of 2017.
Duration and number of participants
- 5 days
- 5 to 6 participants upon prior registration
Targeted audience
This training is intended primarily for second-year PhD students. Indeed, they have enough material to provide significant code bases and they also have enough time before them to put into practice the contributions of this training.
Prerequisites
PhD students must provide an existing code base in relation to their work or at least one case of representative use.
Program
Day 1
- Presentation of the tools and methodology of software development:
- effective versioning model with Git
- build tools
- continuous integration
- agile methodology (SCRUM)
- Introduction to software transfer
- intellectual property
- APP deposit and licenses
- copyright
- transfer routes (transfer, start-up, license)
Day 2
- Presentation of the use cases provided by the participants
- definition of the features to be reached by the end of the week
- definition of the deliverable (ie the demo to do)
- time allocation for each feature by Poker Planning
- Start of the sprint
Days 3 and 4
- Next sprint
- morning scrum (10-15 min)
- sprint recovery
Day 5
- End of Sprint
- demos
- debrief
- simulation of deposit at the APP
Teaching methods
The training is provided by Inria’s Experiment and Development Service (SED) research engineers for software engineering and Inria’s Partnerships and Innovation Projects (CPPI) as well, for the transfer aspects.
Participants can bring their own laptops or use those provided by the SED. They will be hosted at the Inria devcenter in Sophia Antipolis in the room dedicated to sprints and with the appropriate equipment (ethernet, wifi, video projector, etc.).