Programmation : les cours d'informatique qui manquent dans le cursus des développeurs
D'après deux blogueurs

Le , par Michael Guilloux, Chroniqueur Actualités
Le milieu de l’informatique et celui de la programmation en particulier est en constante progression avec de nouveaux outils, langages ou évolutions et mises à jour de ce qui existe déjà. Si les fondements du métier de programmeur peuvent être acquis à l’école, il existe toutefois de nombreuses astuces et techniques de travail qui s’acquièrent sur le terrain en fonction des outils utilisés, des langages pratiqués et bien d’autres facteurs.

Pour mettre cela en évidence, un blogueur a dressé une liste des cours d’informatique qui n’existent pas mais qui devraient, d’après lui. L’un des cours qu’il propose est une « étude des logiciels classiques ». D’après ce blogueur, ce cours doit permettre aux étudiants de « discuter et disséquer des produits historiquement importants, y compris VisiCalc, AppleWorks, Robot Odyssey, Zork et MacPaint ». L’idée est que comme ces produits ont été développés en tenant compte des limitations matérielles de l’époque, une étude de ces logiciels pourrait permettre aux développeurs d’être plus créatifs et acquérir des techniques pour concevoir des interfaces utilisateurs adaptées à des configurations matérielles limitées.

Un autre cours qui devrait être enseigné d’après le blogueur est l’écriture de codes rapides dans des langages lents. Selon lui, les développeurs devraient par exemple pouvoir « écrire du Python interprété qui peut égaler ou battre le code C ++ typique tout en étant moins fragile et avec lequel il est plus agréable de travailler ».

Il suggère également un autre cours lié à la programmation orientée objet, qui devrait permettre de découvrir comment créer et utiliser des variables qui ne sont pas à l'intérieur d'une hiérarchie d'objets. Le blogueur pense aussi que les développeurs ont besoin d’un cours qui fait une introduction à l’expérience utilisateur pour les outils de ligne de commande. Mais, il propose encore un cours de psychologie sur « les obsessions de l’esprit du développeur ». Le cours devrait permettre d’identifier et de comprendre les sujets qui obsèdent les développeurs de logiciels. Il pense en particulier à « la mise en forme de code, la taxonomie, les systèmes de type, le fractionnement des projets en de nombreux fichiers. » il inclut ici l'étude détaillée du réflexe des développeurs lorsqu'ils sont exposés à des systèmes inconnus.

Inspiré par ce blogueur, un autre développeur a publié un billet sur son blog, dans lequel il propose de compléter cette liste avec trois autres cours. Notre deuxième blogueur pense que la première des choses que les développeurs devraient apprendre, c’est le nommage et l’utilisation des acronymes. Il pense qu’il devrait exister un cours introductif pour « découvrir comment chaque langage fait les choses différemment, et apprendre 1.001 abréviations que vous devez savoir pour comprendre le code des gens. »

La deuxième chose que les développeurs devraient savoir selon ce blogueur est qu’on ne peut rien faire en 5 minutes. L’idée serait d’emmener le développeur à savoir arrêter quand il le faut, et éviter de tomber dans l’illusion selon laquelle, 5 minutes supplémentaires pourraient suffire pour terminer un travail sérieux. De manière plus large, ce cours devrait aborder l’estimation des tâches de développement de logiciels.

La troisième chose sur laquelle il insiste également est que chaque développeur devrait savoir que son code est tout aussi mauvais que ceux des autres. Son objectif est d’éveiller les développeurs sur la nécessité de se respecter les uns les autres et de comprendre la valeur de la collaboration, tout en s’éloignant de l’idée selon laquelle son code est parfait. Il explique par exemple que les développeurs vont découvrir à quel point leur propre code est mauvais s’ils le lisent une semaine après l’avoir écrit.

Sources : Blog Svpino, dadgum.com

Et vous ?

Qu’en pensez-vous ?

D’après vous, qu’est-ce qui manque dans les cours d’informatique pour les programmeurs ?

Forums Programmation


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de jopopmk jopopmk - Membre expert https://www.developpez.com
le 14/09/2015 à 14:02
[troll ON]
Donc les trois premiers points sont :
- apprendre à utiliser des vieilles apps Apple,
- apprendre la magie,
- apprendre à faire de la pas-POO en POO.
[troll OFF]
Avatar de Ermite Chevelu Ermite Chevelu - Nouveau membre du Club https://www.developpez.com
le 14/09/2015 à 14:09
Je me suis arrêté à la liste des applications à étudier...
Avatar de Guntha Guntha - Membre confirmé https://www.developpez.com
le 14/09/2015 à 14:12
Les seuls cours qui m'ont manqué quand je faisais mes études, c'est tout ce qui concerne les tests (travailler avec des testeurs, faire des tests unitaires, avoir les bonnes méthodes pour éviter les régressions... )

Tout ce dont ils parlent ici, ce sont des choses qui s'acquièrent avec la pratique. Même un développeur spécialisé en informatique de gestion n'a pas besoin de cours pour savoir qu'il aura besoin de coder différemment sur un système embarqué.
Avatar de ManusDei ManusDei - Membre expert https://www.developpez.com
le 14/09/2015 à 14:17
Les cours qui pourraient manquer m'ont plutôt l'air d'être
  1. Utilisation poussée du debugger pour corriger des bugs infâmes
  2. Mais à quoi ça sert concrètement ce truc sur lequel on passe un semestre ?
  3. Et si on passait plus de temps à faire des exercices à base de TU, TI et TV ?
Avatar de Roger_Rabbit Roger_Rabbit - Membre habitué https://www.developpez.com
le 14/09/2015 à 14:44
Le cours qui m'a le plus manqué a été celui sur les modèles de conception (ou "design pattern"). Je ne sais pas si c'est propre à mon école, mais il est aberrant qu'il n'en aie même pas été fait mention!
Je n'aurais pas demandé des dizaines d'heures d'enseignement, mais qqs notions élémentaires pour savoir d'une part qu'ils existent, et d'autre part comment les mettre en oeuvre.
Je les ai découvert qu'après la fin de mes études (la honte)!
Certes, j'en avais déjà utilisé sans en prendre conscience. Mais en avoir connaissance a changé beaucoup de choses; notamment le fait de pouvoir les nommer rend la recherche à leur sujet beaucoup plus facile!
Avatar de Alvaten Alvaten - Membre éclairé https://www.developpez.com
le 14/09/2015 à 15:33
Pour moi, ce qui m'a le plus manqué ce sont des cours plus en adéquation avec le monde de l’industrie.

Par exemple:
- tous mes cours de BDD ont été fait sur MySql (Oracle en SqlServer uniquement mentionné)
- pas un seul cours orienté mobile / web
- par un seul cours sur la façon de faire des tests
- pas un seul cours orienté "produit fini", comment déploie-t-on une application Java ? comment gère-t-on des licences ? comment gère-t-on les mises à jour d'un logiciel ?
Avatar de el_slapper el_slapper - Expert éminent sénior https://www.developpez.com
le 14/09/2015 à 15:33
Littérature, rédaction, communication, orthographe, comptabilité.....
Avatar de Max Lothaire Max Lothaire - Membre confirmé https://www.developpez.com
le 14/09/2015 à 16:29
Ou enseigner aux étudiants à apprendre par eux-même.
Par exemple, à grand coup de « Aux prochain TP, vous aurez besoin de tel outils/bibliothèque, débrouillez vous pour savoir vous en servir »

Pour le reste, il y a énormément de chose qui doivent s'apprendre sur le terrain. C'est pas pour rien que la plupart des formations intègrent un stage en entreprise.

tous mes cours de BDD ont été fait sur MySql (Oracle en SqlServer uniquement mentionné)

Dans mes cours de BDD, on apprenait comment utiliser une base de donnée relationnel. MySQL, Oracle ou autre, le langage reste le SQL. A chaque étudiant de lire les doc des outils spécifiques qu'ils devront utiliser.
Et comme on ne peux pas nous former à tout les outils qui existent, il faut faire un choix. Et faire payer aux étudiant une licence pour qu'ils puissent travailler chez eux, ce n'est pas cool. D'où le choix d'une SGBD libre.
Avatar de Saverok Saverok - Expert éminent https://www.developpez.com
le 14/09/2015 à 17:02
Citation Envoyé par Roger_Rabbit  Voir le message
Le cours qui m'a le plus manqué a été celui sur les modèles de conception (ou "design pattern"). Je ne sais pas si c'est propre à mon école, mais il est aberrant qu'il n'en aie même pas été fait mention!

je pense que c'est un manque de ton école car personnellement, j'en ai bouffé à outrance du design pattern.
Ca a même été une épreuve lors de la licence où on avait du code "écrit sur poly" à analyser et commenter et notamment y déceler les design pattern mis en place ou sinon, lequel il aurait été possible de mettre en place pour le même besoin fonctionnel...

La formation que je trouve qui m'a manqué dans mes études est une formation qualité / intégration continue.
Je trouve qu'il manque un module sur le sujet avec les TU, gestion de branches SVN, pose de tag, tests automatisés, analyseur de code, génération automatique de release note, etc.
Avatar de chiv chiv - Rédacteur https://www.developpez.com
le 14/09/2015 à 17:03
Les propositions de ces deux développeurs sont plutôt intéressantes et originales. J'aime bien l'idée que l'on pousse les jeunes à avoir une bonne connaissance de l'histoire de l'informatique et à se pencher sur des problématiques d'une époque où les ressources matérielles étaient nettement plus limitées.

Néanmoins, il me semble que ce qui manque actuellement au cursus des développeurs c'est surtout des cours de... développement.
La mode actuelle veut que les écoles tentent à tout prix de former les gestionnaires de demain et de futurs Mark Zuckerberg en herbe. Elles sont tellement obnubilées par l'idée de pousser les jeunes à créer des start-ups et à les former aux affaires qu'entre les cours de business plan et de noeuds de cravate, elles en oublient de les former à l'informatique, c'est à dire à la technique. Même les meilleures écoles d'ingénieur ont l'air de se transformer doucement en école de commerce et/ou gestion bas de gamme. Quand on voit que certaines vont jusqu'à abandonner l'appellation "école d'ingénieur" pour se renommer toute seule en "Business school"* il y a de quoi se poser des questions...

*et pourquoi un anglicisme ridicule ? :/
Offres d'emploi IT
Développeur Java (H/F)
SMILE - Picardie - Marseille (13000)
Stage Vision par Ordinateur / Computer Vision Internship
Donecle - Midi Pyrénées - Toulouse (31000)
Développeur java F/H
Zenika - Aquitaine - Bordeaux (33000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil