Cours de contribution au logiciel libre (3TC37)

Cours de contribution au logiciel libre (3TC37)

Le cours

Tous les cours font entre 1h30 et 1h45, et les TP 1h30 (moins le temps de débordement du cours).

Les TP 1, 2, 3, et 4 terminent par des instructions d’un rendu noté à faire pour la fois suivante.

Le cours est accompagné d’une feuille Grist qui permet de suivre les élèves et les projets, et d’un dépôt gitlab, où se font tous les rendus demandés, chaque élève devant ouvrir une ou plusieurs MR par rendu.

Les cours 2 à 5 commencent par une séance de questions (type Wooclap) permettant de rappeler les notions du cours précédent (mis ici en fin du cours concerné, mais absents des pdf et du tgz).

Cours 1 - Introduction (PDF, typ)

TP 1 - Exploration d’une grande base de code

Cours 2+3 - Licences (PDF, typ)

TP 2 - Analyse de projet

TP 3 - Version de développement

Cours 4 - Communication (PDF, typ)

TP 4 - Partie 1 : Politiques IA

TP 4 - Partie 2 : Messages de commits

TP 4 - Partie 3 : Rendu 4

Cours 5 - Gouvernance (PDF, typ)

TP 5 - Git avancé

Cours 6 - Modèles économiques (PDF, typ)

TP 6 : travail sur le projet, et retours individuels sur le rendu 4.

Projet

Source

Télécharger 3tc37.tgz pour une archive contenant tous les .typ, le dossier avec les images, et les markdowns des TP et des rendus.

Contexte de création

En 2023, Télécom Paris a mis en place une réforme de l’enseignement en première année du cursus ingénieur, visant à favoriser le travail en autonomie et la motivation des étudiants, intégrer l’approche par compétence, et prendre en compte la diversité des profils d’élèves. Elle a donné lieu à un travail collaboratif des enseignants d’informatique, au terme duquel l’enseignement de l’informatique s’est structuré en 4 périodes : la première tentant de présenter une vue d’ensemble allant du circuit logique au programme ; la seconde présentant de l’informatique théorique ; la troisième traitant de programmation et de pratique de l’informatique ; et la dernière sur le réseau. Cette réforme du domaine informatique, concertée avec les enseignants-chercheurs, devait également s’adapter à la plus grande diversité des publics en première année avec l’arrivée de la prépa MP2I/MPI, et la réforme a donc proposé sur les trois premières périodes des cours différenciés en fonction des filières d’entrées et des connaissances des élèves.

Pour la P3, le cours existant, d’introduction à la programmation avec Java, pouvait ne pas être adapté aux élèves déjà intéressés par l’informatique et la programmation, et ayant déjà programmé en Python, C, et OCaml en prépa. La solution qui a été retenue avec les équipes pédagogiques a donc été de proposer un choix aux élèves entre une introduction à la programmation objet en java, ouvert à tous, une introduction à la programmation en typescript (orienté web), de même accessible à tous les élèves, et notre cours de contribution aux logiciels libres, uniquement proposé aux élèves maîtrisant déjà plusieurs langages de programmation (permettant ainsi de garantir que tous les élèves, à l’issue de cette période, connaissent plusieurs langages de paradigmes différents).

Ce cours cherche également à combler une limitation courante des cours de programmation : La plupart des cours et des projets apprennent à écrire du code à partir d’une page blanche, alors que la plupart des contextes professionnels demandent de s’adapter à des bases de code existantes souvent conséquentes et parfois anciennes, dont le fonctionnement est souvent peu trivial. En ce sens, les compétences pour contribuer avec succès à des projets libres existants sont similaires à celles qui seront attendues d’employeurs potentiels.

Licence

Ce cours, créé par Marc Jeanmougin et Théo Zimmermann est sous licence CC BY-SA 4.0. Vous pouvez librement le réutiliser et l’adapter, en citant le matériel original et en repartageant sous la même licence.

Prix Engagement, Pédagogie, Enseignement de l’IMT 2025

Ce cours a obtenu en 2026 le prix Engagement, Pédagogie, Enseignement de l’IMT.

Trending Tags