Cours de programmation de l'Association Philotechnique

Profil des personnes qui viennent apprendre la programmation avec nous :
Un des buts de l'association Philotechnique est la promotion sociale de ses adhérents. Une de ses publicités dit : Sortez du rang. Ce cours s'adresse d'abord aux jeunes de la génération Windows et console de jeu. Ils ont interrompu leurs études prématurément ou n'ont pas eu l'occasion de faire de l'informatique à l'école. Maintenant ils souhaitent faire un travail plus valorisé et mieux payé et sont attirés par la programmation. Dans ce cours nous pouvons les aider à combler des lacunes dans leurs connaissances scolaires, à retrouver confiance en eux et à reprendre le rythme de l'étude. A terme le but est qu'ils se lancent avec volonté pour reprendre dans le cycle classique au moyen des cours de jour, du soir ou par correspondance.

La démarche culturelle
D'autres personnes, salariées ou retraitées, ne souhaitent pas faire carrière dans l'informatique, mais sont intéressées par l'aspect culturel de cette science très en pointe. Curieux et dynamiques, ils souhaitent mieux comprendre le fonctionnement interne de l'ordinateur. Je leurs dis : "Venez donner un souffle à notre groupe, enrichissez-le par vos questions et remarques intéressantes. Apportez un peu de sel à notre cours et faites pétiller nos séances de travail.

Ceux qui espèrent faire de la bureautique
Chaque année des élèves m'avouent qu'ils souhaitent s'inscrire à ce cursus de programmation parce qu'il ne reste pas de place dans le cours de bureautique. A ces élèves je dis fermement : Attention ! Vous faites fausse route. Dans ce cours, vous n'apprendrez pas la bureautique, parce c'est un prérequis pour s'inscrire.:
- D'abord, vous perdez votre temps et parfois le nôtre. Dans ce cours, vous n'apprendrez pas la bureautique, ce n'est pas compris dans le contrat, parce c'est un prérequis pour s'inscrire. Il est clairement dit que pour venir ici, il faut disposer d'un ordinateur et savoir le manipuler. Il faut savoir créer un dossier et y télécharger un fichier .zip et le décompresser).
- Ensuite, il s'agit d'un cours technique, qui nécessite une intelligence logique, un esprit d'analyse et de synthèse, et des compétences minimales en mathématiques (savoir faire une règle de trois).
C'est pourquoi l'inscription à ce cours n'est possible qu'après avis du professeur. Vous devez donc m'envoyer un mèl, dans lequel vous présentez votre profil et expliquez vos motivations. Pour ce faire, il vous faut fabriquer mon adresse mèl en collant les trois symboles suivants : jflucas arobas free.fr ! Pour ceux qui ne comprennent pas la fabrication de cette adresse mèl, elle est encore expliquée autrement en haut de la page d'accueil de mon site. Disons que ce simple filtrage m'assure que vous savez naviguer sur internet et envoyer un mèl. Aussi, si vous réussissez ce premier test vous avez déjà 95% de chances que j'accepte votre inscription aux cours théoriques !

Conditions d'admissions aux cours théoriques
C'est pourquoi l'inscription à ce cours n'est possible qu'après avis du professeur. Vous devez donc m'envoyer un mèl, dans lequel vous présentez votre profil et expliquez vos motivations. Pour ce faire, il vous faut fabriquer mon adresse mèl en collant les trois symboles suivants : jflucas arobas free.fr ! Pour ceux qui ne comprennent pas la fabrication de cette adresse mèl, elle est encore expliquée autrement en haut de la page d'accueil de mon site. Disons que ce simple filtrage m'assure que vous savez naviguer sur internet et envoyer un mèl. Aussi, si vous réussissez ce premier test vous avez déjà 90% de chances que j'accepte votre inscription aux cours théoriques !

Conditions d'admissions aux travaux pratiques du samedi
(Au siège, à partir du samedi 8 novembre 08, avec Dominique Philipaud)
Chaque élève dispose d'un ordinateur, c'est pourquoi le nombre de participants à ce cours se limite à 10 - 12 ... D'abord, les élèves qui sont venus régulièrement l'année dernière sont prioritaires. Ensuite, ces travaux pratiques commencent bien après les cours théoriques, ce qui laisse au professeur le temps d'apprécier la motivation et les dispositions des élèves. Si les places viennent à manquer, il est envisageable de fonctionner parfois avec 2 personnes sur un ordinateur, ce qui aura aussi pour effet de diviser le coût du TP par 2, ceci n'est pas négligeable pour ceux qui ont des difficultés financières.

Retourner en haut de la page

Contenu des formations (cours théoriques au tableau noir)

Mathématiques pour l'informatique et la programmation :
(Lycée Voltaire, le jeudi, de 18h15 à 19h15, avec Jean-François Lucas)
Logique binaire, arithmétique et code binaire, hexadécimal pour expliquer le fonctionnement interne d'un automate, d'un microprocesseur et d'un langage structuré. Circuiterie et notions de dépannage d'un ordinateur. Niveau débutant.

Informatique générale : Représentation et interprétation de l'information et des connaissances
(Lycée Voltaire, le jeudi, de 19h30 à 20h30, avec Jean-François Lucas)
Structures de données, analyse de scènes, représentation de l'action, simulation et planification. Echanges et coopération d'agents, Analyse lexicale et syntaxique du langage, sémantique, pragmatique.


Contenu détaillé des formations

(ce contenu est donné à titre indicatif. Au fil de l'année, il sera adapté au groupe, à son niveau et à ses demandes)
Programmation avec un interprète (un peu à Voltaire le jeudi de 18h15 à 19h15, et surtout au TP du samedi )
Conditions d'admission : Disposer d'un ordinateur sous Windows. Savoir créer un dossier, pour y télécharger un fichier zip et le décompresser.
Installez et commencez à programmer avec un interprète. Dessin, graphisme, maths et gestion.
Au début nous passons un cours à préciser comment installer l'interprète avec lequel nous travaillons au début.
- Il s'agit d'un cours de programmation en C pour débutants. Il peut servir aussi à ceux qui sont intéressés par Java, Java-Script ou PHP.
- Pour motiver les élèves, nous commençons par quelque chose de simple et spectaculaire : Dessiner des formes géométriques.
- Ensuite nous progressons doucement en travaillant avec des fiches : appel de fonction, utilisation de variables, définition de fonctions.
- Nous commençons avec une structure de contrôle très simple : le répète, puis nous passons au for et au while.
- Ceux qui veulent faire du graphisme (2D ou 3D) doivent faire une peu de maths (trigo).
- Pour ceux qui sont intéressés par la programmation de gestion, nous étudions quelques petits exemples.

Fonctionnement interne de l'ordinateur (cours théoriques à Voltaire le jeudi de 18h15 à 19h15)
Logique, arithmétique, codes, circuiterie, registres et mémoire. Exécution d'un programme, système d'exploitation. Notions de dépannage. Conditions : Disposer d'un ordinateur sous Windows. Savoir créer un dossier, pour y télécharger un fichier zip et le décompresser.
Fonctionnement interne de l'ordinateur :
- Traitement des données dans l'unité logique et arithmétique.
- Circuiterie pour la circulation des données : mux et démux, horloges et séquenceurs.
- Enregistrer les données : bascules, registres, mémoires RAM ou ROM.
Exécution d'un programme : Déroulement séquentiel, ruptures de séquences.
Système d'exploitation : Boucle d'interaction : imprimer la valeur de la lecture.
Notions de dépannage : Synoptique général. Notion d'électricité. Raisonner pour pister la panne.


Contenu détaillé des formations (cours théoriques à Voltaire le jeudi de 19h30 à 20h30)

(ce contenu est donné à titre indicatif. Au fil de l'année, il sera adapté au groupe, à son niveau et à ses demandes)
Informatique Générale, Informatique Avancée, Sciences cognitives
Conditions : Il est conseillé de suivre les cours du jeudi de 18h15 à 19h15 à Voltaire.
Analyse de scènes, représentation de l'action, simulation et planification. Traitement du langage : Échange et coopération d'agents, Lexique, syntaxe, sémantique, pragmatique.
Dans un univers un automate analyse son environnement perçu par ses capteurs.
Simulation : Représenter l'effet d'une action sur les objets du monde environnant.
Planification : Réfléchir à quelle action exécuter dans une situation donnée.
Traitement du langage :
1) Aspect échange et coopération d'agents.
2) Toute la chaîne de traitement : son, lexique, syntaxe, sémantique, pragmatique.

Représentation des connaissances, Boucle cybernétique. Capteurs et actionneurs d'un automate dans le monde, sa table et son graphe. Intelligence collective : Multi-agents et insectes sociaux, vie artificielle, algorithmes génétiques. - Etudes des différentes structures de données pour représentation des connaissances.
- Action réaction, les systèmes asservis, la boucle cybernétique.
- Capteurs et actionneurs d'un automate dans le monde, sa table et son graphe.
- Intelligence collective : SMA (Systèmes Multi Agents) et insectes sociaux.
- Vie artificielle : Comment les algorithmes génétiques s'inspirent de Darwin.

Traitement des questions individuelles :
Afin de ne pas perturber le cours avec les questions individuelles, j'arrive généralement en avance pour pouvoir parler avec vous de vos problèmes personnels. La pause est une occasion de vous rencontrer afin de vous permettre de travailler en groupes. Après la séance, je suis encore à votre disposition pour continuer avec les élèves à gérer le quotidien.

Retourner en haut de la page


Les outils pour travailler

Fourniture des supports de cours pour l'année 2008-2009
Pour faire la formation nous utilisons des sharewares paramétrés pour être essayés 50 fois avant l'achat. Ensuite, ils subissent une petite pénalité, une temporisation avant d'être disponibles, mais ils demeurent utilisables. Ceci laisse aux élèves le temps de les utiliser sans problème.

Les logiciels utilisés
Nous travaillons avec Windows 9X (95, 98 ou Millenium) et XP. Faites bien attention, si votre ordinateur tourne sous Windows 3, vous ne pourrez pas faire fonctionner nos logiciels. Pour apprendre la programmation nous utiliserons un interprète qui analyse du code écrit en C (C.exe). Pour comprendre le fonctionnement interne d'un ordinateur nous câblerons des circuits électriques sur un simulateur logique (JFLogSim.exe).

Les supports de cours utilisés
Chaque année nous améliorons nos supports de cours qui sont dédiés à cette formation pour l'association Philotechnique. Ainsi vous disposerez de documents rédigés à votre attention sur mesure. La diffusion se fera principalement sur support électronique ou par Internet (www.flucas.com - onglet philotechnique, le second dans la marge de gauche) : nous vous fournissons les fichiers et c'est à vous de les imprimer.

Prolongements des supports de cours pour les années à venir
Chaque année, nous adaptons nos supports pour suivre l'évolution de l'informatique. Cette année l'effort est important car nous passons de Windows avec Club-internet, à Linux avec free. Pour nous il reste encore bien du travail à faire et si vous voulez apprendre à travailler, venez nous aider à faire évoluer nos réalisations. Pour vous, il s'agira là d'un travail bénévole et nous pourrons seulement rembourser les frais que vous aurez engagés pour cette tâche.

Retourner en haut de la page


Ce qui vous est demandé

Disposer d'un ordinateur sous Window95 ou plus.
De façon générale, la programmation est un art où il est donné de créer. A ce titre, c'est une discipline scientifique difficile. Ce cours de programmation se veut adapté pour l'association Philotechnique. Pour le rendre plus attrayant et gratifiant, nous utilisons un interprète dans un environnement graphique. Malgré tout cela, il faut savoir qu'il vous restera des difficultés à surmonter. Pour que vous ayez quelques chances d'aller jusqu'au bout il vous faut impérativement continuer à travailler de votre côté. Il est donc indispensable que vous disposiez au travail, chez vous ou ailleurs d'un ordinateur connecté à Internet. Depuis 2002 nous sommes passés de DOS à Windows 95, 98 ou Millenium. Faites bien attention, si votre ordinateur tourne sous Windows 3, vous ne pourrez pas faire fonctionner nos logiciels.

Il est vivement recommandé d'être motivé et d'aimer les jeux de réflexion
Notre cours entre dans le cadre de la formation continue où les adultes viennent étudier de leur propre gré. Vous serez donc libres de procéder comme il vous plaira, et en règle générale je ne suis pas directif. Il vous faut prendre vos responsabilités et travailler pour suivre le rythme de nos cours. Le chemin est long et la route difficile, c'est pourquoi il vaut mieux être motivé, volontaire et aimer raisonner.

Il est seulement recommandé de disposer d'une connexion à Internet
Je dispose d'un site Internet 'www.flucas.com' sur lequel j'ai mis tous les documents dont nous avons besoin pour travailler (cliquer sur l'onglet philotechnique, le second dans la marge de gauche). Ceux qui disposent d'une connexion à Internet pourront facilement télécharger les documents que nous utiliserons.
C'est peut être l'occasion pour ceux qui ne sont pas connectés de le faire. Maintenant certains fournisseurs d'accès sont gratuits et l'expérience montre qu'ils sont fiables. Il restera à votre charge seulement le coût de la connexion téléphonique locale.
Je n'ai pas spécifié qu'il était nécessaire d'être connecté pour suivre ce cours car je propose l'artifice suivant qui fait appel à l'initiative individuelle. J'invite les possesseurs de cédéroms à graver tous les fichiers nécessaires pour le cours de cette année et à le diffuser auprès de leurs camarades qui n'ont pas Internet. J'autorise même ces diffuseurs à percevoir auprès des non-connectés une somme maximale de 8€. Il va sans dire que cette somme correspondant aux frais engagés par les diffuseurs pour le téléchargement et la reproduction des fichiers, et ne constitue en aucun cas un achat de licence pour ces logiciels. De plus, je préviens les non-connectés que certainement quelques fichiers utilisés pour les cours vont être améliorés en cours d'année.


Participation
Pour que mes cours soient vivants, j'ai besoin que les élèves se sentent à l'aise et posent des questions, ça m'aide beaucoup à animer mes séances. Cependant il arrive que des élèves tirent un peu la couverture à eux, et je ne veux pas trop les remettre à leur place car ça dissuade les timides de participer. Mais je suis parfois obligé de le faire et j'en suis chagriné.
En conclusion, je vous invite à garder ceci à l'esprit : L'association Philotechnique possède une vocation sociale et draine aussi des gens qui ont une vie qui n'est pas facile. Pour mettre de l'huile dans les rouages de notre vie commune il faut en tenir compte et essayer de se comporter selon les critères classiques de politesse, de délicatesse et de savoir-vivre.


Convivialité
Je vous demande un comportement distingué et policé. Je ferai des efforts pour être disponible, prévenant et amical avec vous et vous invite à faire de même entre vous. Le but est de créer dans nos réunions une relation conviviale, un groupe chaleureux où chacun sera content de venir passer ses longues soirées d'hiver.
Je souhaite vous voir travailler en groupe, c'est important pour supporter l'effort quotidien. De plus, le fait de reformuler son savoir à destination des autres vous amènera à clarifier vos points de vue.


Engagez-vous, ça n'engage à rien
Ce cours est comme une auberge espagnole : on y trouve ce qu'on y apporte. Je demande à chacun de remplir une feuille de format A4, avec ses nom, prénom, adresse, téléphone, date de naissance, cursus scolaire et professionnel, matériel utilisé, but, motivations, disponibilité etc. Bien sûr, ces renseignements sont facultatifs, mais voyez qu'en ce qui me concerne, je les donne sur mon site. Donc, moi je me suis engagé, c'est à votre tour de le faire. Souvenez-vous que : " tout ce qui n'est pas donné est perdu ".

Retourner en haut de la page


La démarche pédagogique

Pédagogie active
Apprendre à programmer est difficile, notre souci de pédagogues est de vous rendre l'apprentissage simple et agréable. Pour ce faire nous utilisons surtout une démarche pédagogique où les apprenants sont actifs. L'interprète C et le simulateur logique que nous utilisons leurs permettent de manipuler dès la première séance. C'est déjà pour eux l'occasion de pratiquer et de se confronter à la réalité de l'informatique. L'ordinateur immédiatement leur renvoie une image de leur travail et de leur connaissance. C'est à eux d'en tenir compte et d'agir.

Progression pédagogique
Les travaux pratiques sur l'ordinateur sont étudiés pour être progressifs. Les notions à apprendre sont introduites l'une après l'autre. D'abord celles qui servent de base au cours. Puis, en s'appuyant sur les bases, toutes les autres. A chaque jour suffit sa peine. On introduit une notion nouvelle à chaque séance et on l'applique à l'intérieur de programmes qui reprennent les notions déjà vues. Mais le corollaire de cet aspect est qu'il ne faut pas négliger le moindre polycopié sous peine d'affaiblir vos bases initiales.

Pédagogie de la réussite
Les exercices proposés sont tous réalisables. En suivant le poly chacun termine son travail. Ceux qui vont très vite peuvent aider les autres... en prenant soin d'ailleurs de ne pas faire l'exercice à leur place. Le but est que personne ne reste définitivement coincé sur le bord de la route. Non à la frustration, oui au travail de groupe.

Pédagogie de l'autonomie
Lors des travaux pratiques, je vous laisserai vous débrouiller seuls. Je ne vous donnerai pas forcément des réponses, mais plutôt des pistes et des méthodes de travail pour vous enseigner l'autonomie. Si vous ne terminez pas une manip pendant les travaux pratiques, ce n'est pas grave. Vous êtes censés reprendre les exercices et les terminer sur votre ordinateur personnel. Le but est que vous deveniez autonomes chez vous.

Notre emploi du temps
La séance peut commencer par l'accueil où les gens se retrouvent et parlent de tout de rien. L'accès aux ordinateurs est libre et en attendant que les retardataires arrivent, on papote ou on demande au voisin pourquoi tel truc ne marche pas. A chaque jour suffit sa peine : chacun se lance sur une notion nouvelle qu'il essaie dans un programme qui reprend les notions déjà acquises précédemment. Les plus rapides donnent un petit coup de pouce aux autres ou continent un peu plus loin. Ensuite on peut envisager que chacun fasse varier le programme pour mieux le comprendre, et que les audacieux se lancent dans des créations plus avancées et spectaculaires... Et c'est déjà le moment de se séparer.

Auto évaluation
Les outils pédagogiques utilisés interprètent en temps réel les commandes que donnent les élèves. La réponse de l'ordinateur est constante, déchargée d'affect et immédiate. Chacun peut donc savoir à quel point il en est. S'il rencontre des difficultés, il peut d'abord se faire aider par les copains ou le prof, puis approfondir le domaine en continuant de travailler chez lui.

Pédagogie du plaisir
Tout le début du cours est basé sur le graphisme. Rapidement il est possible d'obtenir à l'écran des dessins qui font plaisir au programmeur. Ensuite on ajoute des couleurs qui réjouissent l'œil, puis des effets de mouvement et de perspective. Nous essayons d'intéresser nos élèves au travers du plaisir qu'ils prennent à faire du graphisme avec nous.

Pédagogie anglo-saxonne
Comme vous pouvez le voir ci-avant, tout le début du cours est orienté selon une pédagogie qui présente d'abord la pratique et ensuite essaie de dégager les concepts. C'est une démarche plus douce, qui permet à beaucoup de personnes d'accrocher les wagons. Mais son rythme est lent.

Pédagogie française
La fin du cours est plus orientée selon la pédagogie française qui va bien pour l'enseignement de domaines mathématisés : d'abord les axiomes, puis les théorèmes et leurs applications. Pour ceux qui peuvent se faire à cette démarche de pensée, l'acquisition des connaissances est plus structurée et plus rapide.

Les mathématiques
A la fin du cours, nous aurons besoin des maths pour deux grands thèmes : La trigonométrie nous servira à faire des projections pour dessiner la perspective et nous aurons besoin de notions de calcul différentiel et intégral pour faire de l'analyse numérique. Que ceux qui sont inquiets à l'énoncée de ces mots barbares se rassurent, je reprendrai tout à partir des notions de base. Je vous demande seulement de savoir-faire une règle de trois et d'être capables de raisonner.

Retourner en haut de la page


Contenu du cours

La mécanique de la programmation
La maîtrise de la programmation demande surtout un état d'esprit, une intelligence logique plus qu'une culture scientifique. Cela explique que l'usage pour former des programmeurs est plus de recruter des personnes sans grande culture, les sélectionner par des tests psychotechniques pour leur jeunesse et leur vivacité et les former rapidement. Maintenant, dans les écoles supérieures scientifiques un autre usage apparaît : dans des stages courts d'une cinquantaine d'heures on met le pied à l'étrier des jeunes. On leur explique les bases de la programmation, puis on leur donne à réaliser un projet d'application, et c'est à eux de se débrouiller seuls.

La dimension autodidacte
Assurément, la formation à la programmation possède forcément une dimension auto-apprentissage. Il y aurait tant de choses à dire pour enseigner la programmation que ça induirait une relation pénible entre enseignant et élève. Puisqu'on peut très bien apprendre seul, en se coltinant avec courage aux difficultés, c'est à chaque étudiant de se créer une façon de penser, de voir le problème. Il reste aux enseignants à donner un cadre à leurs élèves pour qu'ils ne se dispersent pas et pour qu'ils ne buttent pas inexorablement sur un problème qui finirait pas les dégoûter.

Notre cours
A notre cours de l'association Philotechnique, vous trouvez Dominique qui vous donnera toutes les instructions de base. Jean-François vous donne quelques bases de mathématiques appliquées à l'informatique. Mais, l'important est que nous vous aidons à installer chez vous les logiciels qui vous permettront de faire votre auto-apprentissage. La plus grande partie du travail doit être faite chez vous, sur votre ordinateur. C'est ce qui explique que la possession et la maîtrise de l'ordinateur est le premier critère que nous mettons en avance.

Le débogage des programmes
Pour programmer, l'aspect mémoire est assez faible, c'est surtout la tournure d'esprit qui compte : il faut savoir raisonner. L'idée qui est derrière notre cours est simple : apprendre les quelques instructions nécessaires pour le graphisme, et de suite faire monter la pâte : on peut rapidement, avec quelques notions mathématiques se faire plaisir en dessinant des figures spectaculaires. A ce moment, le problème qui apparaît est d'être capable de déboguer. C'est aussi un aspect que nous vous enseignons.

Etre capables de programmer
Le cours que nous donnons est basé sur un interprète qui, utilisé en mode direct, est optimal pour les débutants. Son utilisation en mode éditeur se rapproche du fonctionnement d'un compilateur. Pour être capables de programmer, il reste cependant, aux élèves une grosse étape : le passage à la compilation. Mais le problème est qu'un compilateur est difficile à mettre en oeuvre. En fonction de l'avance du cours, certaines années, nous abordons le problème, mais comment le faire en travaux pratiques ? C'est dur. On verra.


A l'avenir comment prolonger ce cours ?

Reprendre ses études en cours du soir
Le cours que nous donnons est adapté au public de l'association Philotechnique. Il s'adresse à des gens qui ont quitté les bancs de l'école depuis plusieurs années et qui sont un peu rouillés. C'est pourquoi il est " soft et cool " pour leur permettre de reprendre doucement le rythme des études. Ceux qui ont bien mis à profit notre initiation à la programmation, et qui veulent continuer, sur Paris, dans un cadre plus officiel, trouveront au C.N.A.M. (Conservatoire National des Arts et Métiers) toute une panoplie de cours de différents niveaux. Ayant été moi-même et pendant longtemps auditeur de cette institution, je la recommande à ceux qui sont motivés et travailleurs. Ils y recevront une formation de qualité qu'ils pourront valider par des diplômes officiels.


Retourner en haut de la page

Retourner au sommaire