[C] De l'importance d'un bon cours

Voir le sujet précédent Voir le sujet suivant Aller en bas

[C] De l'importance d'un bon cours

Message par Timon le Dim 27 Jan - 22:56

Bonjour,
Comme vous le savez, Internet et les librairies regorgent de livres abordant l'apprentissage du langage C. Malheureusement, bon nombre de ces cours/tutoriels sont de mauvaise qualité.
Exemple de mauvais tutoriel :
Langage C de Patrick Trau
Exemple de mauvais livre :
La bible du programmeur de Kris Jamsa et Lars Klander

Par "mauvaise qualité", j'entends méconnaissance du langage (de sa norme) et enseignement à partir de ces mauvaises bases. J'ai souvent l'impression que leur(s) auteur(s) l'ont appris par empirisme. Bien sûr qu'il faut manipuler le langage pour le comprendre mais il ne faut pas s'arrêter à ça si on veut l'utiliser concrètement et surtout si on veut l'enseigner !
Ainsi, on y voit des absurdités qui pourraient être facilement corrigées si l'auteur avait été un peu sérieux :
Patrick Trau a écrit:Fonctions d'entrées/sorties les plus utilisées
[...]
char putchar(char)
Alors que
La norme (C89) a écrit:4.9.7.9 The putchar function

Synopsis

Code:
        #include
        int putchar(int c);
L'erreur peut sembler minime. Pourtant, c'est une fonction que tout programmeur connaît. Comment peut-on se permettre une telle erreur qui amènera le débutant forcément dans un mur ?
Ce n'est pas la seule erreur, sinon elle serait plus ou moins pardonnable (faute de frappe, copié-collé, distraction ?).

C'est pourquoi je vais vous donner quelques liens fiables afin que vous puissiez apprendre ce langage "en toute sécurité".

Je commence par mon tutoriel. Je ne prétends pas avoir une connaissance informatique aussi vaste que les auteurs cités plus haut mais j'ai eu l'honnêteté de parcourir une bonne partie de la norme et d'autres sites et documents fiables avant de rédiger mes articles pour m'assurer de la fiabilité de mes propres connaissances.
J'ai essayé de l'écrire de la manière la plus pédagogique possible mais ça n'est pas toujours simple. Toute remarque est donc, bien entendu, la bienvenue. Smile
Lien ici

Le site suivant a une très grande importance pour moi car j'y ai beaucoup appris sur les Bonnes Pratiques en C. De plus, il est constamment mis à jour, l'auteur ne se reposant pas sur ses lauriers : Bien Programmer en C
Par contre, ce n'est pas un tutoriel. Il s'oriente vers ceux qui connaissent déjà un minimum la programmation en C et qui veulent affermir leurs bases.

En troisième, je cite un tutoriel probablement connu par la majorité d'entre vous, celui du Site Du Zéro
Celui-ci est bien écrit, le débutant n'est pas noyé dans un vocabulaire qui pourrait lui paraître obscur. Bref, la pédagogie y est. On reprochera cependant à ce site quelques erreurs mais qui sont minimes par rapport à bien des cours donnés par des soi-disant enseignants !

Enfin, je vous donne le lien vers la FAQ comp.lang.c (en anglais) qui regorge d'informations intéressantes et qui fait taire bien des "mensonges" trop souvent enseignés.

Il m'a semblé important de créer ce sujet car j'ai observé que beaucoup de personnes voient ce langage obscur tout simplement parce que l'enseignement qu'elles en ont reçu était mauvais.

Timon
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 61
Localisation : France
Réputation : 0
Points : 3573
Date d'inscription : 14/01/2008

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

http://tm.timon.free.fr

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Napoléon le Lun 28 Jan - 0:41

Je te félicite pour ce topic Timon. C'est vrai, la qualité du tutorial est très importante. Il ne faut pas se contenter du premier tutorial qu'on trouve sur le net. Je l'ai mis comme un Post-it, pour que ça reste accessible par tout le monde et bien séparé des autres sujets.

Concernant le tutorial que vous avez créé. Il est très bien fait. Très clair. Pédagogique. Plein d'exemples. Ca couvre tout en C à mon avis.

_________________
Nabil - tunis
خير الناس أنفعهم للناس
avatar
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 5283
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://infomath.online-talk.net

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Timon le Lun 28 Jan - 1:56

nabiL a écrit:Concernant le tutorial que vous avez créé. Il est très bien fait. Très clair. Pédagogique.
Merci, cela fait plaisir. Smile J'ai commencé la rédaction de ce tutoriel depuis longtemps mais, le site étant peu connu, je ne reçois que très rarement des remarques sur sa qualité.
Je serais d'ailleurs content de connaître votre avis sur cet article car c'est le premier qui montre au débutant la syntaxe mais je n'arrive pas à me convaincre qu'il est clair.

Petit hors-sujet : est-il possible d'empêcher l'interprétation des balises HTML ponctuellement ? Il s'avère que dès qu'on cite un code, les données entre chevrons (#include chevron ouvrant stdio.h chevron fermant) sont simplement perdues . Cela ne suffit même pas de les mettre entre les balises Code. Neutral
J'ai alors entouré stdio.h avec & lt; et & gt;. Malheureusement, ils sont retransformés en chevrons qui sont alors réinterprétés comme donnant une balise...

Timon
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 61
Localisation : France
Réputation : 0
Points : 3573
Date d'inscription : 14/01/2008

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

http://tm.timon.free.fr

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par manianis le Lun 28 Jan - 15:13

Je vous félicite pour votre effort et pour la qualité de votre tutorial. J'ai quelques remarques concernant le kit débutant :
1. C'est un trés bon kit je ne juge pas sa qualité, ni son utilité.
2. J'ai remarqué un message qui pourra brouiller le chemin du débutant : "Si vous utilisez le kit alors ...". Je vous propose de faire toute la démarche nécessaire sans utiliser le kit car d'une part cela pourra aider le débutant à apprendre à partir de ces fautes et puis la lecture d'un code source en C n'utilisant pas ce kit ne devra pas le perturber.
3. Je vous propose de réserver un chapitre pour votre kit dans lequel vous mettez quelles sont les erreurs fréquentes des programmeurs en C et vous proposez votre solution (incluse dans le kit). Ce sera plus instructif.

Timon a écrit:...
Je serais d'ailleurs content de connaître votre avis sur cet article car c'est le premier qui montre au débutant la syntaxe mais je n'arrive pas à me convaincre qu'il est clair.

La page que vous indiquez ressemble plus à un glossaire qu'à une présentation de la syntaxe. Il est possible de présenter la syntaxe d'une autre manière plus claire et ce à partir d'un programme dans lequel vous indiquez les éléments de syntaxe tout en laissant les définitions que je trouve claires et simple pour un débutant.

Bonne Chance

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 3666
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Timon le Lun 28 Jan - 18:07

manianis a écrit:2. J'ai remarqué un message qui pourra brouiller le chemin du débutant : "Si vous utilisez le kit alors ...". Je vous propose de faire toute la démarche nécessaire sans utiliser le kit car d'une part cela pourra aider le débutant à apprendre à partir de ces fautes et puis la lecture d'un code source en C n'utilisant pas ce kit ne devra pas le perturber.
Justement, j'ai rédigé les chapitres de manière à ce qu'on ne dépende jamais (ou, au pire, partiellement) de mon kit. Exemple : le kit propose des fonctions de saisie permettant d'éviter les dangers bien connus du couple scanf()/gets().
Le chapitre sur la saisie est donc découpé en deux parties principales :
- saisie avec les fonctions du kit
- saisie sans ces fonctions en précisant qu'il faut d'abord savoir manipuler des flux
D'ailleurs, vous remarquerez que mes codes ne comportent jamais la directive #include "kit_debutant.h". Je ne fais que remarquer qu'il peut être utile dans tel ou tel cas.
Smile
La page que vous indiquez ressemble plus à un glossaire qu'à une présentation de la syntaxe. Il est possible de présenter la syntaxe d'une autre manière plus claire et ce à partir d'un programme dans lequel vous indiquez les éléments de syntaxe tout en laissant les définitions que je trouve claires et simple pour un débutant.

Bonne Chance
C'est une bonne idée, simple et efficace ! Very Happy Je m'en charge dès que possible.

Timon
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 61
Localisation : France
Réputation : 0
Points : 3573
Date d'inscription : 14/01/2008

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

http://tm.timon.free.fr

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par informix le Lun 28 Jan - 21:27

Le tutorial est bien fait.
Pourquoi vous n'avez pas publié des exercices (corrigés ou non) de programmation en C. Les structures de données avancées: arbres, graphes, ...

_________________
informix, Ecole d'ingénieurs
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.
avatar
informix
Nombre Rationnel
Nombre Rationnel

Nombre de messages : 399
Réputation : 4
Points : 3937
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Timon le Mar 29 Jan - 0:05

informix a écrit:Pourquoi vous n'avez pas publié des exercices (corrigés ou non) de programmation en C.
Il y en a. Dans le tutoriel, certains articles en contiennent, beaucoup non parce que je ne vois pas d'exercice intéressant à donner.
En dehors du tutoriel, il y a aussi une page d'exercices mais que j'ai un peu délaissée. En fait, son intérêt se trouve plus dans les exercices de maintenance où il s'agit d'analyser un code et de remarquer ce qui ne va pas ou qui n'est pas portable.
Les structures de données avancées: arbres, graphes, ...
Les arbres seront abordés dans l'avant-dernier chapitre du tutoriel.
Quant aux graphes, je dois bien avouer que j'en ai très rarement manipulé. Je ne peux donc pas me permettre d'écrire un cours sur eux.
De plus, je pense que ce genre de structures de données, au même titre que les tables de hachage, les automates, ... font partie de l'application du langage plus que de son apprentissage. Donc, si je dois un jour rédiger un article sur les graphes, je l'intégrerais à la partie "Voir aussi" mais sûrement pas au tutoriel lui-même.

Timon
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 61
Localisation : France
Réputation : 0
Points : 3573
Date d'inscription : 14/01/2008

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

http://tm.timon.free.fr

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par methodiX le Mer 30 Jan - 2:21

Bien défendu Timon.
La rédaction des tutoriels est un art.

_________________
Sami - Methodix, tunis
Le génie de Newton a consisté à dire que la lune tombe alors que tout le monde voit bien qu'elle ne tombe pas.
(Paul Valéry)
_____
Cliquer ici: Voir les nouveaux messages depuis votre dernière visite
Cliquer ici: Astuce: Utiliser l'outil "Recherche" du forum
avatar
methodiX
Admin
Admin

Masculin
Nombre de messages : 1260
Localisation : Le couloir de l'école polytechnique de Tunis
Réputation : 68
Points : 4665
Date d'inscription : 22/03/2007

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Timon le Jeu 31 Jan - 21:34

Voilà, j'ai réécrit l'article.
On part du code minimal et les liens entre les paragraphes sont plus visibles. Il y a probablement quelques modifications à faire pour le rendre plus clair mais il me plaît bien plus que la première version.
Il est étonnant que le sujet le plus simple de ce tutoriel soit, pour moi, le plus dur à rédiger. Smile

Dernièrement, on m'a demandé mon avis sur le livre Méthodologie de la programmation en C d'Achille Braquelaire. Je n'ai fait que le parcourir rapidement en cherchant les mêmes failles que je trouve souvent dans les cours que je considère comme mauvais.
Eh bien, cette fois-ci, j'ai eu beau cherché, je n'avais rien à redire. Tout est expliqué clairement, l'auteur n'invente pas de syntaxe, de comportement, etc. Bref, j'ai lu ce que j'attendais d'un livre bien écrit !
De plus, j'ai aussi vu la critique de Nicolas Joseph, un intervenant fiable selon moi, qui s'avère très positive.
Si vous cherchez un bon livre sur le C, celui-ci est un bon choix.

Timon
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 61
Localisation : France
Réputation : 0
Points : 3573
Date d'inscription : 14/01/2008

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

http://tm.timon.free.fr

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par manianis le Ven 1 Fév - 0:53

Timon a écrit:Voilà, j'ai réécrit l'article.
On part du code minimal et les liens entre les paragraphes sont plus visibles. Il y a probablement quelques modifications à faire pour le rendre plus clair mais il me plaît bien plus que la première version.
Oui, j'aime plus cette version. J'ai un livre sur le Langage C. Il date de 1996, imprimé par Micro Application et écrit par Gerhard Wilms. Il suit presque la même démarche. C'était mon premier pas en C.

Timon a écrit:Il est étonnant que le sujet le plus simple de ce tutoriel soit, pour moi, le plus dur à rédiger. Smile
Oui, je suis d'accord. Le premier chapitre est celui qui déterminera si le lecteur continuera à lire ou bien il s'en ira.

Timon a écrit:Dernièrement, on m'a demandé mon avis sur le livre Méthodologie de la programmation en C d'Achille Braquelaire. Je n'ai fait que le parcourir rapidement en cherchant les mêmes failles que je trouve souvent dans les cours que je considère comme mauvais.
Eh bien, cette fois-ci, j'ai eu beau cherché, je n'avais rien à redire. Tout est expliqué clairement, l'auteur n'invente pas de syntaxe, de comportement, etc. Bref, j'ai lu ce que j'attendais d'un livre bien écrit !
De plus, j'ai aussi vu la critique de Nicolas Joseph, un intervenant fiable selon moi, qui s'avère très positive.
Si vous cherchez un bon livre sur le C, celui-ci est un bon choix.

Il est imprimé par quel éditeur ?

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 3666
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Timon le Ven 1 Fév - 1:03

manianis a écrit:J'ai un livre sur le Langage C. Il date de 1996, imprimé par Micro Application et écrit par Gerhard Wilms. Il suit presque la même démarche.
Le nom de ce livre est Langage C - Programmation Windows et Linux ?
Il est imprimé par quel éditeur ?
Par l'éditeur Dunod.

Timon
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 61
Localisation : France
Réputation : 0
Points : 3573
Date d'inscription : 14/01/2008

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

http://tm.timon.free.fr

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par manianis le Ven 1 Fév - 1:15

Timon a écrit:Le nom de ce livre est Langage C - Programmation Windows et Linux ?
J'ai l'édition PC POCHE du livre (LANGAGE C) mais sans Programmation Windows et Linux. L'essentiel je le trouve un bon livre malgré quelques petites fautes.

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 3666
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Timon le Ven 1 Fév - 1:26

manianis a écrit:J'ai l'édition PC POCHE du livre (LANGAGE C) mais sans Programmation Windows et Linux.
Bien, j'essaierai d'en trouver un exemplaire et je vous donnerai alors mon avis. Smile
D'ailleurs, je pense que je pourrais en faire un article : "Comment reconnaître un bon cours ou, du moins, être sûr qu'il est un minimum sérieux ?"

Timon
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 61
Localisation : France
Réputation : 0
Points : 3573
Date d'inscription : 14/01/2008

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

http://tm.timon.free.fr

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par manianis le Ven 1 Fév - 2:19

Timon a écrit:
manianis a écrit:J'ai l'édition PC POCHE du livre (LANGAGE C) mais sans Programmation Windows et Linux.
Bien, j'essaierai d'en trouver un exemplaire et je vous donnerai alors mon avis. Smile
D'ailleurs, je pense que je pourrais en faire un article : "Comment reconnaître un bon cours ou, du moins, être sûr qu'il est un minimum sérieux ?"
J'essayai de vous dire qu'il s'agit du même livre mais au format poche.

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 3666
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Timon le Lun 28 Avr - 23:54

Bonjour !
L'administrateur de Bengaku.fr a décidé d'arrêter de payer son hébergeur qui fermera bientôt le site. J'ai donc décidé de créer mon propre site et d'y transférer tous les articles que j'avais rédigé sur l'ancien site : http://tm.timon.free.fr.
L'adresse n'est pas "top", je sais. Si le site finit par avoir une bonne affluence, j'investirai alors dans un nom de domaine correct.

Timon
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 61
Localisation : France
Réputation : 0
Points : 3573
Date d'inscription : 14/01/2008

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

http://tm.timon.free.fr

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par manianis le Mer 21 Mai - 9:48

Timon a écrit:Bonjour !
L'administrateur de Bengaku.fr a décidé d'arrêter de payer son hébergeur qui fermera bientôt le site. J'ai donc décidé de créer mon propre site et d'y transférer tous les articles que j'avais rédigé sur l'ancien site : http://tm.timon.free.fr.
L'adresse n'est pas "top", je sais. Si le site finit par avoir une bonne affluence, j'investirai alors dans un nom de domaine correct.

Le contenu vaut la peine d'être transféré.

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 3666
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum