|
Publicité ' | ||||||||||||||||||||||||
|
|
#181 | |
|
Expert Confirmé Sénior
![]() Thierry ChappuisEnseignant Chercheur Inscription : mai 2005 Messages : 3 481 ![]() |
Citation:
Je n'ai pas une grande expérience d'enseignement du C++. Mon expérience ne vaut certainement pas la tienne, mais les questions discutées dans ce fil sont intéressantes. Thierry
__________________
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow FAQ-Python FAQ-C FAQ-C++ +
|
|
|
00
|
|
|
#182 | |||
|
Inactif
Inscription : juillet 2005 Messages : 1 958 ![]() |
Citation:
Certes il y a le passage des tableaux en paramètre ! Ceci est d'ailleurs fort stressant pour les étudiantEs. Dans un premier temps, on ne passe pas de tableaux, dans un deuxième, après avoir vu les paramètres de sorties (avec l'utilisation de &) on leur explique que les tableaux sont particuliers car ils se passent toujours par référence. Les tableaux ont donc une syntaxe particulière pour le passage en paramètre Code :
int fonction (const int tableau_en_entree [], int tableau_en_sortie[]) Code :
Pour ton cours de simulation, une très bonne alternative reste ocaml: voir ce livre sur le site de Flying Frog Consultancy. Tu dis que ce ne sont pas des pros, mais était-ce leur premier cours ? Car en dehors du premier cours, je crois que Python est un excellent langage d'apprentissage. |
|||
|
|
00
|
|
|
#183 | |||
|
Expert Confirmé Sénior
![]() ![]() |
Citation:
-- Jedaï |
|||
|
|
00
|
|
|
#184 |
|
Inactif
Inscription : juillet 2005 Messages : 1 958 ![]() |
|
|
|
00
|
|
|
#185 |
|
Membre Expert
![]() Inscription : mars 2002 Messages : 962 ![]() |
Le C est déjà tellement primitif... alors, si en plus, tu refuses les extensions du C99... Le standard a quasiment 10 ans, il est assez bien reconnu (ok, pas forcément le C99 en entier, mais une grande partie), autant l'utiliser quand on peut.
|
|
|
00
|
|
|
#186 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : novembre 2005 Messages : 4 970 ![]() |
Pour un sens qui reste a definir de ca marche.
Deja pour le C, http://gcc.gnu.org/gcc-4.2/c99status.html donne toujours un status de "Broken" pour la chose a cause de differences plus ou moins subtiles entre ce que gcc fait (et faisait depuis avant la norme) et ce que la norme demande. Mais on pourrait accepter. Pour le C++, c'est quelque chose qui ne se trouve pas dans la norme actuelle, qui n'est pas non plus dans la norme en preparation, qui n'est disponible qu'avec g++ et peut-etre avec les compilateurs qui tentent d'etre bug-compatible avec lui (et encore, j'ai pas essaye), qui n'est pas definit dans la doc de g++, meme pas dans la partie "deprecated features" et il y a quelque chose qui fonctionne partout avec le meme effet: Code :
std::vector<std::string> tableau(taille_maximale);
__________________
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça. |
|
|
00
|
|
|
#187 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : novembre 2005 Messages : 4 970 ![]() |
Citation:
Et naturellement, ca n'indique rien quant a l'utilisation en C++ (voir mon autre message).
__________________
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça. |
|
|
|
00
|
|
|
#188 | |
|
Inactif
Inscription : juillet 2005 Messages : 1 958 ![]() |
Ça marche sur toutes les plateformes qu'ils ont dans les laboratoires, plus sous les linux et les MacOSX testés chez eux, le compilateur du cours étant le g++-3.4.5. Ça compile et ça s'exécute sans aucun problème. Qu'est ce qui n'est pas clair dans « ça marche » ? Là je ne vois pas. On va essayer d'être plus précis « ça marche » veut dire qu'ici ça fonctionne et que ça été testé plus d'une fois. S'il s'avérait qu'une fois, il y ait un problème, on changerait le cours.
Citation:
Vois-tu c'est là où je te dis que tu ne comprends pas bien un contexte d'enseignement. Construire un cursus complet est bien plus difficile que juste un cours. On force aussi des normes qui n'existent pas (déclaration des fonctions dans les fonctions les utilisant) pour renforcer le paradigme modulaire et leur permettre de faire un suivi de leurs structure hiérarchique à même le code très rapidement. On leur enseigne aussi que les normes et règles vont changer et qu'ils doivent s'y préparer. Qu'ils vont devoir apprendre à écrire des programmes autrement, que des choses qu'on leur dit maintenant n'auront plus de valeur la session suivante puisque le contexte aura changé et que le but de l'enseignement sera autre. Le but n'est certainement pas d'apprendre un métier mais des manières de réfléchir avant de voir « les manières de mettre en pratique ». Les deux sont nécessaires car la formation sans pratique ne sert pas à grand chose. Mais d'ici qu'ils sortent avec leurs bacc, la norme aura peut être changée. Donc on ne s'attache pas forcément à la norme actuelle : ça ne sert à rien. On veut leur donne les moyens de résoudre un problème avec un ensemble d'outils et un ou plusieurs paradigmes. Notez bien que c'est comme ça aussi que vous avez appris les maths : on vous a dit des choses qui étaient fausses l'année d'après, comme « on ne peut pas soustraire un nombre plus grand d'un autre ». Ou alors on apprend les intégrales de Riemann avant celles de Lebesgue. Mais ça a un intérêt pédagogique. Ils ont trois ans pour être « mature ». Alors il faut prendre le temps de ne pas sauter des étapes. |
|
|
|
00
|
|
|
#189 |
|
Membre chevronné
![]() ![]() Développeur informatique Inscription : avril 2004 Messages : 679 ![]() |
Commence par le C, et si tu en as besoin, apprends le C++ après. La raison est simple: connaître le C va te faire aimer le C++, parce que C++ est moins stupide que le C. Et tu continues comme ça sur le continuum de la stupidité en allant toujours vers un langage moins stupide.
Bonne chance. |
|
00
|
|
|
#190 | |||||
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : novembre 2005 Messages : 4 970 ![]() |
Citation:
AIX, HP-UX lors de leur stage (et apparemment le stage est la raison pour laquelle vous utilisez du C++!), ça va faire leur prendre des "C'est pas du C++!" accompagné d'un commentaire peu amène sur les professeurs qui enseignent ce qu'ils ne savent pas s'ils cherchent de l'aide n'importe où ailleurs. Ca fait perdre confiance dans la qualité de votre enseignement et aux employeurs et aux étudiants quand ils apprennent la vérité. Vous leur enseignez à utiliser les extensions plutôt qu'à la désactiver. Vous leur enseignez l'attitude "Si ça marche sur ma machine, c'est bon", qui est rarement la bonne approche, jamais avec le C ou le C++. Citation:
pédagogie. Et j'en ai quand même retenu quelque chose, entre autres qu'on peut ne pas tout dire, mais qu'il ne faut pas mentir pour se démentir après; on déconseille même de montrer ce qu'il ne faut pas faire en le disant et en expliquant pourquoi il ne faut pas le faire parce que l'erreur contre laquelle on a mis en garde est plus souvent commise par après. Ici, tu enseignes comme étant du C++ quelque chose qui ne l'est pas. Citation:
-- dont on peut avoir déjà une petite idée, et les tableaux variables à la C99 ne sont pas prévus. Quel est le gain? Citation:
faire en changeant de contexte, jamais qu'on pouvait les faire quand on ne pouvait pas. Citation:
bon service. Voir que les choses sont plus complexes que présentées précédemment, c'est le processus normal. Voir qu'elles sont totalement différentes c'est douteux.
__________________
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça. |
|||||
|
|
00
|
|
|
#191 | ||
|
Inactif
Inscription : juillet 2005 Messages : 1 958 ![]() |
Citation:
Donc je m'inscris en faux. Veux tu des captures d'écran pour que je te prouve ce que j'affirme ? Ne trouves tu pas ça ridicule de ne pas me croire ? Mais je peux le faire si ça te fait plaisir. Je n'ai jamais vu UN étudiant qui soit revenu avec un commentaire dans le genre « vous auriez pas du nous dire ça parce que c'est pas ça dans l'industrie ou dans la norme et que ça nous a posé un problème en stage ou après ». Et je t'assure que d'une part, nous sommes à l'écoute, et d'autre part ils sont très très critique quand ils le veulent. Donc jusqu'à ce moment, je considèrerais qu'ils ne doivent pas se trouver mal avec ça. Ne t'inquiètes pas pour la confiance qu'ils ont en nous. Nos anciens nous rassurent sur ça. Par contre cette phrase ne me semble pas clair : « ça va faire leur prendre des "C'est pas du C++!" accompagné d'un commentaire peu amène sur les professeurs qui enseignent ce qu'ils ne savent pas s'ils cherchent de l'aide n'importe où ailleurs. » Qu'as tu voulu dire ? Problème de ponctuation ? Pour le fait que ce soit le C++, la justification officielle c'est le stage. Mais ce n'est pas de notre ressort de décider ça. Ça peut te paraître obscure, mais c'est un découpage de responsabilité débile fait par l'Université -_- passons. Citation:
Maintenant tu pourras noter que j'ai dis qu'« on peut faire » ça. On ne s'en sert que s'il y a des problèmes de mémoire (c'est-à-dire que leur programme ne fonctionne pas autrement). Cependant la technique de base utilisée est de borner les tableaux. Donc les tableaux sont tous déclarés avec une taille définie par une constante, globale ou locale, ou d'un #DEFINE. Donc il est rare que le problème se pose. Tu as mon cours... regardes chapitre 6, il n'y a pas d'acétates qui exposent le cas problématique. ---- On forme peut être très très mal nos étudiants... cependant nous sommes malgré ça très populaire aux niveaux des stages et du recrutement. Qui croire donc ? les employeurs et les responsables de stage ou toi ? Si tu es convaincu de ton bien, je ne saurais que trop de recommander de monter le cours correctement et de nous le vendre (il y a des fonds pour payer ça) ou à quelqu'un d'autre. Et tu devrais comprendre que si tu es certainement un expert dans le domaine du C/C++ (et probablement d'autre chose que je ne sais même pas), il y a quand même une bonne chance que le cours ne soit pas complètement à côté de la plaque comme tu le sous entends. Certes il est statistiquement possible que tous les professeurs du département soient mauvais (en fait, je le concèderais sans problème au moins pour un, mais il n'enseigne pas ce cours ^_^), mais ne serait-il pas aussi possible que tu te trompes et que ce qu'on fait est un bon choix ? En attendant il me semble qu'on dérive loin du sujet cette fois. Le but n'est certainement pas de parler exclusivement d'un cours. Non ? |
||
|
|
00
|
|
|
#192 | ||
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : novembre 2005 Messages : 4 970 ![]() |
Citation:
Citation:
Code :
Pour le fait que ce soit le C++, la justification officielle c'est le stage. ... Ça peut te paraître obscure,
__________________
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça. |
||
|
|
00
|
|
|
#193 | |
|
Inactif
Inscription : juillet 2005 Messages : 1 958 ![]() |
Citation:
Et ça marche. Il y a d'autres éléments qui ne sont pas compatible entre le compilateur MS et celui de GNU. Vu qu'ils ont pour machine cible des Sun, nous leur conseillons fortement d'utiliser le compilateur de Code::Block pour éviter les problèmes. Ils auront bien le temps de se prendre la tête avec les problèmes de portabilités. Le but numéro 1 de ce cours, dois je le rappeler est d'enseigner à résoudre des problématiques. Il se trouve que c'est aussi un cours de programmation en C++ car beaucoup arrivent sans aucune connaissance en programmation. C'est pas ça que je voulais dire. Ce n'est même pas le département qui choisi complètement le langage. Je t'expliquerais par MP mais c'est bêtement des problèmes de politiques internes ici. |
|
|
|
00
|
|
|
#194 | |
![]() ![]() Loïc JolyDéveloppeur informatique Inscription : août 2004 Messages : 4 673 ![]() |
Citation:
Sur les aspects C ou C++, ça fait désormais 3 ans que je donne un cours (très petit, 16h cette année par exemple) de POO/C++ à des étudiants d'une grande école généraliste (donc en général pas des informaticiens), et que systématiquement j'introduis vector<string> bien avant de parler de tableaux, et je n'ai pas constaté que ce soit un point qui leur pose problème. |
|
|
|
00
|
|
|
#195 | |
|
Inactif
Inscription : juillet 2005 Messages : 1 958 ![]() |
Citation:
|
|
|
|
00
|
|
|
#196 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : novembre 2005 Messages : 4 970 ![]() |
Citation:
J'evite generalement de faire des commentaires sur les professeurs. Ayant enseigne, je sais a quel point le message qu'on tente de faire passer est deforme et les avertissements et explications qu'on donne sont oublies. Parfois a faire douter de la bonne fois des etudiants. L'exemple le plus frappant que j'ai vecu etait dans un cours de systeme a microprocesseurs ou nous utilisions un assembleur qui donnait un message d'erreur abscons si on oubliait de finir par une directive END. Les notes le precisaient clairement. Je surveillais une seance (et pas la premiere!) quand un groupe est venu me trouver au sujet d'une erreur incomprehensible. Je leur rappelle le probleme du END. "Non, ce n'est pas ca." Je me deplace donc jusqu'a leur poste. Que vois-je a l'ecran? La fin de leur programme (resultat de la commande DOS dont j'ai depuis oublie le nom equivalante a cat), la ligne de commande de l'assembleur et une seule et unique erreur: celle resultant de l'absence du END qui effectivement manquait comme c'etait visible quelques lignes plus haut.
__________________
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça. |
|
|
|
00
|
|
|
#197 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : novembre 2005 Messages : 4 970 ![]() |
Ce sont des expliquations qui sont parfois valables -- je ne partage pas ton optimisme quant a la proportion des cas -- mais surtout quand elles ne sont pas connues et comprises, ca ne change rien a la perception par le monde exterieur et par l'etudiant. Ca ne fait qu'aggraver et justifier la tendance que tu signalais dans une autre discussion:
Citation:
__________________
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça. |
|
|
|
00
|
|
|
#198 | |
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 6 544 ![]() |
Citation:
__________________
Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça... Une réponse vous a aidé ? utiliser le bouton "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel |
|
|
|
00
|
|
|
#199 |
|
Membre émérite
![]() Inscription : juin 2006 Messages : 1 117 ![]() |
Bonjour, j'ai quelques questions de néophyte à propos du C++, que je pose ici.
|
|
|
00
|
|
|
#200 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : août 2003 Messages : 4 522 ![]() |
("type", pas "more")
Citation:
Le C++, comme quantité d'autres langages, ne "traite" pas tous les aspects de la POO. De plus, la relative ouverture d'exprit du C++ en matières de paradigmes supportés va faire que tu ne pourras pas toujours convertir immédiatement du C++ dans un autre langage n'offrant pas les mêmes possibilités. 2- Je n'en sais rien. J'ai eu des élèves assimilant mieux le Java que C. Je n'en tirerai pas des généralités pour autant.
__________________
FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++ Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com