v2.11.0 (5932)

Enseignement scientifique & technique - CSC_3TC37_TP : Contribution à un logiciel libre (optionnel)

Domaine > Informatique.

Descriptif

Cette UE est réservée aux élèves ayant validé INF108 et aux élèves de INF107 après accord des responsables Marc Jeanmougin ou Théo Zimmermann.

Cette UE permet aux élèves de première année de consolider leur expérience de programmation en les immergeant dans un projet réel issu du monde des logiciels libres et open source.

Constituant désormais la base de l’infrastructure mondiale des systèmes logiciels, le logiciel libre (ou open source) est un élément clef dont la compréhension est nécessaire à un ingénieur se préparant à exercer dans le monde des systèmes logiciels. L’expérience de contribution à du code libre apporte de plus des compétences « soft skills » pour l’interaction avec des équipes en général internationales, et transposables dans tout contexte de collaboration sur du logiciel. La découverte de bases de code existant est également une compétence largement peu traitée dans un parcours d’études classiques, bien que critique dans le milieu professionnel.

Objectifs pédagogiques

Acquis d'apprentissage
À l'issue de l'UE, l'élève sera capable de:
- Définir le logiciel libre et identifier les licences les plus communes
- Analyser l’état de maintenance d’un projet logiciel
- Naviguer dans une base de code existante
- Planifier et produire une modification et Justifier de choix techniques face à des contributeur·trices présent·es dans un projet
- Résoudre des problèmes identifiés par une revue de code

Compétences de rattachement (et justification)
- BC1.4 – Identifier les connaissances et compétences nécessaires à la conception et au développement du système et définir selon les besoins une stratégie d’acquisition de ces compétences, en respectant la temporalité et les contraintes liées au contexte; Justification : Les élèves choisissent leur propre projet de contribution à un logiciel libre en fonction de leurs compétences pré-existantes et de leurs intérêts d'apprentissage. Ils mettent en œuvre les solutions techniques nécessaires après étude du contexte du projet visé et les technologies afférentes.
- BC3.4 – Interagir dans les situations interculturelles en tenant compte de la diversité des perceptions et des valeurs, en particulier dans un contexte de travail en équipe internationale; Justification : Les projets de logiciel libre sont en général internationaux et font pour la plupart intervenir des contributeurs d'origines culturelles diverses (et intercontinentales). Le contexte de la communication dans les projets libres est également traversé de conflits de valeurs spécifiques, notamment dû à l'omniprésence de bénévoles et d'intérêts économiques. Le projet nécessite de la communication avec ces communautés et le cours forme les élèves à interagir en conséquence.
- BC8.3 – Concevoir et développer des solutions technologiques en s’appuyant sur un paradigme de programmation spécifique ou en concevant des architectures matérielles et logicielles spécifiques; Justification : Le projet de contribution des élèves doit s'inscrire dans des bases de code existantes qui s'inscrivent dans des paradigmes spécifiques bien définies avec leurs architectures logicielles données. Les élèves se forment et s'adaptent à ce cadre pour voir leur contribution acceptée.
- BC9.5 – Identifier les mécanismes formels et informels qui régulent le fonctionnement d’une organisation; Justification : Le cours décrit le fonctionnement communautaire des projets de logiciels libres et les organisations classiques pouvant intervenir dans ceux-ci : entreprises, fondations, institutions publiques, etc. Les élèves apprennent à repérer celles-ci et les manières dont elles interagissent et font intervenir employés, bénévoles, etc; et les intérêts éventuels des divers acteurs impliqués.

21 heures en présentiel (14 blocs ou créneaux)
réparties en:
  • Contrôle de connaissance : 1.5
  • Cours : 19.5

30 heures de travail personnel estimé pour l’étudiant.

effectifs minimal / maximal:

30/60

Diplôme(s) concerné(s)

UE de rattachement

Pour les étudiants du diplôme Diplôme d'ingénieur

Compétences et connaissances solides en programmation - sur la base des résultats INF108, ou après entretien avec un responsable du cours

Format des notes

Numérique sur 20

Pour les étudiants du diplôme Diplôme d'ingénieur

Vos modalités d'acquisition :

Des points d’étape notés sous forme de présentation orale ou rendu écrit (30%) (acquis 2, 3, 4.1)

Un quiz à la fin du cours (30%) (acquis 1, 2, 4.1)

La présentation finale du projet (40%) (acquis 5, 4.2)

Le rattrapage est autorisé (Note de rattrapage conservée)
  • le rattrapage est obligatoire si :
    Note initiale < 10

Le coefficient de l'UE est : 0.2

L'UE est évaluée par les étudiants.

Mots clés

programmation, logicel libre, open source, logiciel, collaboration, international, communauté

Méthodes pédagogiques

Une partie de cours théoriques introduit les notions fondamentales du monde du logiciel libre, et ses principaux enjeux (licences, modèles économiques, méthodologies et outils, ...)

Une partie de projet constitué entre autre de séances de TP favorisant l’entraide entre élèves et groupes d’élèves, et de travail autonome, permet d’appliquer ces notions en immersion dans des projets réels.

Les élèves présenteront leur travail à l’oral pour partager leurs expériences avec les autres élèves.

Support pédagogique multimédia

Oui

Veuillez patienter