Devenez rédacteur


Le grand décalage entre université et réalité

lundi 14 septembre 2009, par Vincent Battaglia

2 réactions
translate : Nederlands English Deutsch +

 

Voir en ligne : http://feedproxy.google.com/~r/vinc...

Il y a peu, j’ai eu l’occasion de voir à quoi ressemblait l’examen d’informatique d’étudiants en deuxième année de la Faculté des Sciences appliquées (école polytechnique) de l’ULB.

Le langage qui a été choisi pour enseigner la programmation à ces étudiants est le C++. Quand j’étais moi même à l’université de Mons-Hainaut (désormais UMons), j’ai appris la programmation avec le langage C. Je sais que pour les étudiants de l’UMons aujourd’hui, c’est le langage Java Python qui a été choisi.

Cette disparité n’est pas encore tellement dérangeante. Le langage doit être considéré comme un outil. Au départ, ce sont les principes fondamentaux de la programmation (types, variables, conditions, boucles, fonctions, etc.) qui sont enseignés. Que ce soit en C, C++ ou Java, cela fonctionne (à peu de choses près) de la même façon. Je me rappelle d’ailleurs avoir reçu beaucoup de cours où les algorithmes étaient écrits dans ce que nous appelions un « métalangage », c’est-à-dire dans une notation indépendante de tout langage de programmation.

En deuxième année polytech, j’ai pu apercevoir que les étudiants commencent à découvrir les concepts de la programmation object (jusque là, tout va bien) mais également des trucs un peu plus folkloriques comme larecursivité et les listes chaînées.

Et c’est là que je commence à percevoir un problème.

D’une part, les listes chaînées sont pour moi un concept typiquement scolaire destiné à appliquer de façon concrète une notion faisant désormais partie du passé : les pointeurs. Je ne sais pas vous, mais moi, et c’est peut-être un aveu de faiblesse, je n’ai jamais pu maîtriser les yeux fermés cette notion de pointeurs… J’ai réussi mes examens mais quand je m’y replonge (principalement pour l’expliquer à des étudiants comme ce fut le cas ici), j’ai toujours besoin de relire attentivement un article explicatif pour m’en rappeler le fonctionnement exact. Les principaux langages utilisant les pointeurs sont le C, le C++ et le Pascal. Je ne programme plus dans ces langages. Ceci explique sans doute cela. Les langages dits « modernes » ont laissé tomber les pointeurs et l’allocation manuelle de mémoire au profit de références et de mécanismes automatiques tels que le garbage collector (comme c’est le cas pour Java, pour ne citer que lui). Le développeur ne doit (quasiment) plus se soucier de rien. Pourquoi encore enseigner les pointeurs dans ce cas ?

D’autre part, cela fait maintenant plusieurs années que je programme, développe, scripte, bidouille du code (appeler ça comme vous voulez) dans le monde réel et je ne me rappelle plus avoir eu besoin d’utiliser une fonction récursive pour résoudre un problème. De plus, je sais que les algorithmes récursifs bouffent la mémoire de façon impressionnante. Pour m’assurer ne pas être le seul dans le cas, je vous le demande : utilisez-vous souvent la récursivité dans vos algorithmes ?

Là où je veux en venir avec toutes ces interrogations, c’est que je trouve purement et simplement qu’il y a untrop grand décalage entre ce qu’on apprend à l’université et le monde du business et du travail.

Pour des polytechniciens, je sais qu’un cours d’informatique n’est pas forcément destiné à former de parfaits petits développeurs PHP mais plutôt à leur ouvrir l’esprit et à leur proposer une façon différente de penser et d’aborder un problème. Malheureusement, cet état des lieux s’applique également aux personnes qui étudient l’informatique à l’université, comme ce fut mon cas.

A la décharge des universités, il est vrai que celles-ci doivent garder leur aspect « lieu de recherche scientifique » car c’est ce qui fait leur attrait mais est-ce que cela doit se faire au dépend de l’avenir des étudiants ?

J’y vais sans doute un peu fort mais les deux questions suivantes me taraudent et j’aimerais avoir votre avis à ce propos :

  • Est-ce que les gens qui étudient l’informatique à l’université sont moins bien préparés au marché du travail que les étudiants qui font des graduats en informatique (ou d’autres formations) ?
  • Est-ce que les universités doivent changer leur fusil d’épaule ou continuer de prôner la science pour la science comme c’est le cas actuellement ?

Merci d’avance pour vos réponses !



translate : Nederlands English Deutsch +

Les derniers commentaires

  • Le grand décalage entre université et réalité

    par piere (IP:xxx.x04.8.231) - 28 septembre 2009 15:35

    * Utilisez-vous souvent la récursivité dans vos algorithmes ?
    ====> oui !



    * Est-ce que les universités doivent changer leur fusil d’épaule ou continuer de prôner la science pour la science comme c’est le cas actuellement ?
    ====> non !

    Répondre à ce message  Signaler un abus

    commentaire constructif  ?  oui  -1  non

    • Le grand décalage entre université et réalité

      par Vinch (IP:xxx.x8.229.107) - 28 septembre 2009 22:27

      Bonjour Piere (avec un seul "r’, tu es sûr ?),



      Merci pour cet avis plein de bons sens et argumenté.



      A bientôt !

      Répondre à ce message  Signaler un abus

      commentaire constructif  ?  oui  1  non

Laisser un commentaire

?

Derniers articles de Vincent Battaglia :


L’utopie de la vie privée sur Internet

Le principe de Peter et le principe de Dilbert

Love or Hate ?

 

D'autres articles:

Université

Web-TV pour l’ULge (Hollynx)

La controverse Aernoudt, vue de l’intérieur (François Thoreau)

Test de compréhension du français obligatoire à l’ULg (Frédéric Maghe)


Informatique

Photos du nouveau Macbook Pro ! (Lowett)

Cachez ces déchets électroniques toxiques que nous ne saurions voir (Michel Monette)

Question existentielle ... suis-je un geek ? (Bruno)





Medium4You.be  Politique éditoriale | Conditions générales et vie privée | Contactez-nous