L’industrie des logiciels et des services informatiques est à la base du développement de la société « numérique ». Le logiciel est en effet devenu un produit de grande consommation irriguant l’ensemble des activités humaines. Il doit être fourni vite, en grande quantité, avec des contraintes de qualité et de sécurité qui ne cessent de croître. En conséquence il résulte de plus en plus d’un processus de coproduction, utilisant des méthodes dites agiles et un modèle libre ou open-source de développement, en plein essor dans toute l’industrie informatique et plus largement dans tout le domaine numérique.
L’ingénieur qui doit développer les briques logicielles de ces systèmes, les maintenir ou simplement les utiliser, doit maîtriser non seulement des compétences techniques de développement logiciel, mais aussi des compétences stratégiques et organisationnelles. Ainsi, il doit décider du choix des briques technologiques à produire, de la méthode de production, de l’organisation du dévelop- pement, de la vente comme système ou comme service, des droits encadrant la réutilisation des composants, mais aussi organiser le fonctionnement des projets de production collaboratifs, la participation à ces projets et l’animation de tels projets.
L’ambition de cette TAF est de fournir aux étudiants des méthodes et outils fondamentaux, tant théoriques que pratiques, dans les domaines de l’informatique et l’innovation ouverte. L’étudiant sera ainsi à même d’appréhender les concepts théoriques de base sous-jacents aux systèmes logiciels mais également l’intérêt et les limites de l’utilisation de méthodes de développement. Il pourra donc participer de manière active au développement d’un système en ayant un regard critique sur la fiabilité du système résultant, en intégrant dans ce développement les dimensions stratégiques, juridiques et marchandes.
Ainsi, les unités d’enseignement conforteront les compétences en conception et développement de logiciels, approfondiront la maîtrise des outils de production de logiciel en équipe, formeront à l’économie et au droit concernant les logiciels, fourniront les bases sur les solutions technologiques permettant d’échanger des informations (réseaux informatiques) et enfin permettront de découvrir les fondements mathématiques de l’informatique (calcul, logique), ainsi que leur utilisation pour résoudre des problèmes spécifiques (cryptographie, vérification de programmes). Ces compétences pourront être appliquées à certains domaines comme la robotique, les dispositifs mobiles, les applications web ou le calcul haute performance.