1

On m'a demandé de donner quelques cours de programmation pour des débutants (qui savent tout au plus se servir de Word et d'Outlook, Excel est un peu plus compliqué), sauf pour un est arrivé à faire une petite interface avec Excel.
Le but est tout d'abord de comprendre « comment ça marche » ; ils sont souvent confrontés à des notions d'informatique complexes et je pense que ça les aiderait à mieux les comprendre. Après, peut-être que dans un second temps ils pourront faire des petits utilitaires chez eux.

Maintenant, la question du jour : et vous, comment aborderiez-vous le sujet ? Bon, c'est plus par curiosité qu'autre chose, j'ai un peu réfléchi au problème et je pense suivre le plan suivant :
  • notions matérielles (d'abord l'archi de la TI-92, puis expliquer rapidement pour un ordi moderne)
  • de l'assembleur 68k pour expliquer ce que sait faire de base une machine
  • remonter les couches avec un peu de C et la compilation en 68k pour expliquer le principe
  • parler des différents langages de programmation utiles (brainfuck, Ook, whitespace, Shakespeare…)
  • de la pratique en Python (il y a des éditeurs en-ligne qui sont pas mal)
  • de la théorie (mais là, je ne sais pas encore trop les notions que je vais aborder, au moins expliquer quelques algorithmes, en commençant par la notion d'algorithme)
Je pense qu'avec ça, je peux les occuper quelques heures tongue
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

2

Tu as l'air de vouloir aborder les choses par les concepts plus que par les exemples, qui amènent vers les concepts en creusant au fur et à mesure. Tu penses que les personnes en question sont intellectuellement capables de faire le cheminement dans ce sens ?

Et d'abord, quel est le but ? En faire des programmeurs, même à niveau modeste, ou des personnes capables de comprendre certaines notions techniques ?

3

Oui, pour répondre à ta question ce serait utile d'en savoir plus sur ce qu'ils attendent de ce cours, et sur leurs connaissances préalables (l'approche sera probablement pas la même pour des élèves de collège, des lycéens en 1ère S, des étudiants en lettres, des adultes qui font de la formation pro, etc.)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

4

Ils ont fait des études de droits (ils sont essentiellement juges ou procureurs), donc pas tellement de bagage technique mais des capacités de raisonnement. Quant au but, c'est clairement de leurs permettre de comprendre des notions d'informatique qui sont assez complexes.
Bon, s'ils peuvent s'en servir dans leur boulet ou chez eux parce qu'ils ont besoin de petits outils, ce n'est pas plus mal (mais à mon avis, ça donnerait une toute autre approche).

En fait, je me suis surtout demandé quelles seraient les autres façons d'aborder le sujet, et je me suis dit que ça pourrait être un sujet intéressant à creuser ^^
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

5

Alors, creuse les notions dont ils vont avoir besoin. Si ça s'arrête au soft, pas besoin de leur parler du debouncing clavier ou d'un bus.
Ca serait probablement une bonne idée de lister les objectifs, les connaissances à acquérir, pour savoir comment y aller, mais vu ton post initial tu l'as peut-être déjà fait.

Sinon, au vu des capacités intellectuelles qu'on peut leur immaginer (au-dessus voire très au-dessus de la moyenne), ton approche pourrait passer, j'imagine. Surtout qu'ils doivent avoir une formation intellectuelle assez carrée.

6

Tu pourrais regarder les formations Python comme celle la:

https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-8
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

7

Je pencilne ce que dit Folco.

Vu leur métier, j'imagine que les questions liées à la sécurité et aux possibilités de l'info doivent les intéresser particulièrement. Ça peut être un angle d'approche. Quelques exemples qui me viennent à l'esprit, en vrac :

- tu pars de l'exemple d'un site web qui se fait dérober les mots de passe de ses utilisateurs : c'est l'occasion d'expliquer les principes de base d'une BDD, comment fonctionne une injection SQL (donc aussi le principe des séquences d'échappement, les risques de cette approche, pourquoi blacklister des mots-clés est une fausse bonne idée, etc.), ce que sont le hashing / salting et pourquoi c'est important (avec au passage le concept de fonction asymétrique et d'attaque de préimage)...

- tu pars de l'exemple d'un malware destiné à espionner une personne ou une entreprise stratégique : zou, tu peux parler de ce que sont les buffers overflows (donc de la gestion de la mémoire, de la différence sur ce point entre des langages comme le C et le C# et des conséquences qui en découlent, des principes des parades comme l'ASLR...), des failles logicielles en général (donc de la quasi-impossibilité concrète de faire de la validation mathématique en-dehors de quelques domaines particuliers, de la vérification des données en entrée, de l'importance des tests et de la notion de couverture de code...), expliquer pourquoi un antivirus commercial ne peut pas grand-chose contre ce genre de menaces (limitations de la détection par signature, notion de code polymorphe, imperfection des solutions de virtualisation qui permettent au code de les détecter voire de les traverser...), etc.

- tu pars de l'exemple du chiffrement des données confidentielles, transactions bancaires sur le Web et tutti quanti : hop, tu peux montrer comment fonctionnent les différents algos de crypto, depuis des trucs très simples comme le code de César ou la substitution jusqu'aux bases de la crypto asymétrique. Parler de comment le chiffrement est cassé te permet d'aborder les notions de complexité algorithmique, de hash tables, de temps d'exécution (et le principe des timing attacks)...

- y'a encore plein d'autres possibilités comme thèmes de base concrets : les moteurs de recherche, le peer-to-peer, l'analyse de données automatisée (la reconnaissance des visages dans une foule, la "prédiction" des crimes, le deep-packet inspection...)

Évidemment, c'est très large et moins formel qu'un cours "classique", mais je pense que ça peut être motivant - et il y a moyen de faire des TPs d'illustration assez facilement. Tu peux aussi mixer ça avec une approche plus traditionnelle smile

comment ça, ça se voit que je compte sur toi pour former des juges/procureurs qui racontent moins de bêtises quand il s'agit d'info ? cheeky
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

8

(bon apparemment, nos idées n'ont pas plu à Flan ^^)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

9

Si, si, je note ; en revanche que ça ne peut être abordé que quand pas mal de concepts sont déjà assimilés. Enfin, je verrai ce qu'ils en pensent smile

après, je me demandais surtout comment vous auriez abordé la chose (j'imagine bien que mon plan n'est pas le seul possible) ^^
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

10

Vu leur métier, je pense que comprendre concrètement les termes informatiques qui apparaissent dans les licences d'utilisation logicielles serait un plus.

11

Je pense que l'approche de Zerosquare es-tu intéressante mais suppose des pré-requis bien trop importants. J'aime bien l'approche initiale de flanker, la difficulté étant de les garder motivés tout au long de la démarche -- probable que l'architecture leur semble sans intérêt et trop abstraite au début... Ça dépend ce qu'ils attendent du cours, si ça leur est imposé ou si c'est une demande de leur part.

12

Flanker> Ton approche pour l'apprentissage du bas niveau vers le haut est certes d'un point de vue théoriquement la plus logique, pour apprendre l'état de l'art existant. Mais si dans la pratique presque aucun professeur ne fait comme cela, c'est qu'il y a une bonne raison. Le bas niveau est, paradoxalement, beaucoup trop abstrait pour un débutant. Tu risques de décourager les gens qui ne vont voir que l'étendue de ce qu'il y a comme prérequis et ils ne veront pas en quoi ça pourrait leur être utile.
En général ce qui se fait c'est exactement le cheminement inverse : du haut niveau puis on détaille pour arriver vers le bas niveau.

Je pense qu'une base d’algorithmie avec un langage simple genre Python est un bon début pour avoir une idée même vague de comment réfléchit un ordinateur. Je pense que maîtriser l’algorithme est un prérequis avant d'attaquer le C ou l'assembleur, qui vont eux aussi nécessiter une maîtrise de l'algorithmie en plus des notion plus techniques d'adresse mémoire, etc...
avatar

13

Pen^2 (./11) :
Je pense que l'approche de Zerosquare es-tu intéressante mais suppose des pré-requis bien trop importants.
Justement, je n'en suis pas sûr. Les concepts peuvent sembler difficiles à appréhender pour des débutants parce qu'on pense à toutes les subtilités, mais je pense que les grands principes sont compréhensibles s'ils sont bien vulgarisés et qu'on ne se perd pas dans les détails. Pour moi le but est d'introduire les notions au "fil de l'eau", au lieu de vouloir faire de la théorie aride d'abord.

Par exemple, si on prend l'exemple de compter le nombre de mots différents dans un texte :
- on peut les écrire sur une feuille, en parcourant la liste à chaque fois pour voir si le mot s'y trouve déjà, et en le rajoutant à la fin sinon : c'est une recherche linéaire
- on peut procéder par ordre alphabétique pour retrouver plus rapidement, avec un dossier différent en fonction de la première lettre du mot, et éventuellement des sous-dossiers pour la 2ème lettre, etc. : c'est une structure d'arbre
- on peut associer à chaque mot une valeur numérique (par exemple, la valeur du mot au Scrabble) et ranger le mot dans le tiroir qui a la valeur correspondante : c'est une hash table

Rien qu'avec un truc tout bête comme ça, et assez simple à comprendre, tu touches à pas mal de concepts (dont la complexité : on voit rapidement que la 1ère solution, en O(N), est inefficace au possible dès qu'il y a beaucoup de mots).
Uther (./12) :
Flanker> Ton approche pour l'apprentissage du bas niveau vers le haut est certes d'un point de vue théoriquement la plus logique, pour apprendre l'état de l'art existant. Mais si dans la pratique presque aucun professeur ne fait comme cela, c'est qu'il y a une bonne raison. Le bas niveau est, paradoxalement, beaucoup trop abstrait pour un débutant. Tu risques de décourager les gens qui ne vont voir l'étendue de ce qu'il y a comme prérequis avant d'entrevoir en quoi ça pourrait leur être utiles. En général ce qui se fait c'est exactement le cheminement inverse : du haut niveau puis on détaille pour arriver vers le bas niveau.
pencil
(sauf pour un truc : des profs qui suivent l'approche strictement bottom-up, il y en a, et pas qu'un peu ; je l'ai assez vu pendant mes études. Et la plupart du temps ça donne un cours ennuyeux et difficilement compréhensible)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

14

Commencer par un language facile et pouvoir jouer avec les entrailles de la machines, c'est la tout l'interet des machines des années 80..

Toutes venaient avec un BASIC, un language plutot simple d'apprentissage pour découvrir la machine et l'algorythmie, et un CPU suffisement simple mais quand meme assez performant pour voir la difference entre taper directement en language machine, et puis suffisament peu cryptique pour comprendre le fonctionnement d'un ordinateur.

Aucune machine actuelle (et ca inclue les rPi qui sont pourtant tres utilisé dans l'éducation) ne permet réellement ce genre de choses.
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

15

Bah, si tu veux enseigner un bon vieux BASIC, tu peux: http://www.freebasic.net/

Sinon, personnellement, je pense que commencer par l'assembleur a un sens si le but ultime est d'écrire du C (quand-même assez bas-niveau, avec les pointeurs, etc., et l'assembleur est même moins déroutant au départ que le C avec ses void ***, ce n'est qu'avec l'habitude que le C devient beaucoup plus lisible que l'assembleur), mais si tu veux arriver finalement au Python, passer d'abord par les cases assembleur et C perd son sens, il vaut mieux commencer directement en Python. Le Python cache tous les détails du fonctionnement de la machine. (De même, si je fais de l'assembleur, je m'en fous de comment marche un shift register au niveau matériel, je connais la définition formelle d'une instruction comme lsr (entrées, sorties, nombre de cycles) et je l'utilise.)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

16

Uther (./12) :
Flanker> Ton approche pour l'apprentissage du bas niveau vers le haut est certes d'un point de vue théoriquement la plus logique, pour apprendre l'état de l'art existant. Mais si dans la pratique presque aucun professeur ne fait comme cela, c'est qu'il y a une bonne raison. Le bas niveau est, paradoxalement, beaucoup trop abstrait pour un débutant. Tu risques de décourager les gens qui ne vont voir que l'étendue de ce qu'il y a comme prérequis et ils ne veront pas en quoi ça pourrait leur être utile.En général ce qui se fait c'est exactement le cheminement inverse : du haut niveau puis on détaille pour arriver vers le bas niveau.
Oui, je suis d'accord, mais ils veulent également savoir comment ça fonctionne concrètement.
Mais comme je l'ai déjà dit, j'étais surtout curieux de savoir comment vous auriez abordé ce genre de cours ^^
Je pense qu'une base d’algorithmie avec un langage simple genre Python est un bon début pour avoir une idée même vague de comment réfléchit un ordinateur. Je pense que maîtriser l’algorithme est un prérequis avant d'attaquer le C ou l'assembleur, qui vont eux aussi nécessiter une maîtrise de l'algorithmie en plus des notion plus techniques d'adresse mémoire, etc...
Ah, mais j'ai bien l'intention de leur faire faire un peu de Python ^^

Par exemple, si on prend l'exemple de compter le nombre de mots différents dans un texte :
- on peut les écrire sur une feuille, en parcourant la liste à chaque fois pour voir si le mot s'y trouve déjà, et en le rajoutant à la fin sinon : c'est une recherche linéaire
- on peut procéder par ordre alphabétique pour retrouver plus rapidement, avec un dossier différent en fonction de la première lettre du mot, et éventuellement des sous-dossiers pour la 2ème lettre, etc. : c'est une structure d'arbre
- on peut associer à chaque mot une valeur numérique (par exemple, la valeur du mot au Scrabble) et ranger le mot dans le tiroir qui a la valeur correspondante : c'est une hash table
Rien qu'avec un truc tout bête comme ça, et assez simple à comprendre, tu touches à pas mal de concepts (dont la complexité : on voit rapidement que la 1ère solution, en O(N), est inefficace au possible dès qu'il y a beaucoup de mots)..
Oui, j'ai déjà quelques idées de ce genre pour faire découvrir ce genre de notions happy
PpHd (./10) :
Vu leur métier, je pense que comprendre concrètement les termes informatiques qui apparaissent dans les licences d'utilisation logicielles serait un plus.
Pour le coup, je suis persuadé que ça ne les intéresse absolument pas (comme beaucoup de gens, d'ailleurs), surtout que ce n'est pas du tout leur domaine ^^
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

17

flanker (./16) :
Oui, je suis d'accord, mais ils veulent également savoir comment ça fonctionne concrètement.
Dans ce cas je trouve que la suggestion de Godzil est bonne : commencer avec une plate-forme aussi simple que possible, de façon à limiter au maximum les étages intermédiaires entre la machine et le langage que tu vas leur apprendre (peu importe lequel). Puis doucement introduire des architectures plus modernes, si ça les intéresse, pour pouvoir faire le parallèle avec ce qui est utilisé aujourd'hui.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

18

flanker (./16) :
Mais comme je l'ai déjà dit, j'étais surtout curieux de savoir comment vous auriez abordé ce genre de cours ^^
Pour répondre strictement à cette question, j'avais pensé à la démarche que tu proposes au début, mais dans un cours d'assembleur destiné à faire apprendre et utiliser l'assembleur.
Si le but poursuivi est autre, à toi de voir. cheeky

19

Après la question a voir en priorité est combien d'heure de cours vas tu donner et réparties sur quelle période. Parce que ça va forcément impacter les sujet que tu va pouvoir aborder. Mieux vaut passer rapidement sur certains points que de mal les aborder faute de temps.
Ton programme me parait très ambitieux pour des gens qui ne sont intéressés au sujet que pour leur culture personnelle.
avatar

20

Effectivement. Le programme proposé dans le post de départ (./1) m'a l'air vraiment trop chargé. S'ils veulent vraiment comprendre le bas niveau, alors il vaut mieux arrêter après le C, voire même après l'assembleur comme le propose Folco (./18). Parce que bon, assembleur, C, Python, plus la théorie (notions matérielles, algorithmie, …), il ne te reste plus grand chose pour chaque langage.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

21

Personnellement, je pense que partir de la machine pour remonter n'est pas une bonne idée pour des néophytes. D'autant qu'on n'a que peu d'intérêt (sauf pour la culture perso) à savoir comment les choses s'organisent à l'intérieur de la machine.
Déjà parce qu'à partir d'une machine simple, il y a plein de choses qui ne sont plus exactement valables aujourd'hui, et que les abstractions logicielles et matérielles nous permettent de passer outre (même en faisant de l'assembleur, sauf si on cherche à écrire un noyau ou un driver - et encore).
En plus, lorsque ça pourra avoir de l'importance dans la suite du cours, ce sera trop loin et trop abstrait pour pouvoir être exploité.
Je me souviens des cours de système, à l'IUT : concrètement, ça n'a servi à rien. Ceux qui savaient déjà comment ça fonctionnait parce qu'ils étaient des bricoleurs avaient déjà cette connaissance. Pour les autres, c'était tellement abstrait que le jour où ils ont eu éventuellement besoin de certaines connaissances, ils ont eu besoin de s'y replonger dedans.

J'aime bien l'idée de 0² en ./7 (je peux te la piquer ? :3). Elle a le mérite de partir de choses concrètes pour l'utilisateur (et pas forcément dans un cadre juridique) du XXIe siècle : la maîtrise de son information, les risques inhérents, et de démystifier l'outil et les dangers en les décortiquant.
Tu peux tout aborder, en partant ainsi : de la gestion des périphériques (où tu vas aborder jusqu'aux chipsets) au traitement des données à l'intérieur de la machine (où tu peux aborder l'ALU, la gestion de la mémoire, les bus d'E/S...), des accès réseaux à la gestion des ressources/des processus par l'OS, des problématiques de stockage (disque, bande, cloud, clé USB...) aux stratégies de sauvegardes et de réplication ... avec, à chaque fois, des fiches de bonne conduite pratiques.

Le côté approche de la programmation avec des scripts peut être abordé de façon didactique en parallèle, mais tu risques d'être limité dans le temps pour tout faire suivant le volume horaire qui t'es proposé. D'autant qu'aborder l'algo "pour comprendre comment agit un ordinateur", ça reste limité dans une approche "XXIe siècle", parce que tu n'auras probablement pas le temps d'aborder des concepts comme les sémaphores, qui sont au coeur de l'informatique d'aujourd'hui si on veut vraiment l'appréhender le système de l'intérieur. Ou alors tu restes dans une approche purement pratique pour l'algo, mais il faut voir si ça leur sera utile.
avatar

22

Nil (./21) :
J'aime bien l'idée de 0² en ./7 (je peux te la piquer ? :3)
(Pas de souci, c'est fait pour ça hehe Si tu t'en sers, tu me diras si ça marche bien en pratique)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

23

(Ce ne serait pas pour tout de suite, on a d'autres projets d'envergure dans l'année à venir - mon boulot déménage, avec tout ce que ça implique - mais j'ai très envie de proposer une formation de ce type aux personnels administratifs... par contre, je ne pense pas qu'on m'accorde plus de 5h, donc il faudra faire du condensé ^^)
avatar

24

(ah ben inculquer ce genre de notion à l'administratif de base, c'est hardcore, je te souhaite bon courage ^^)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

25

(ouch oui x_x. "Je veux le ciel !". Telle était l'expression que me servait une secrétaire le mois dernier, décrivant son envie de lancer Win98 sur un de nos vieux PC en DOS. Bon courage)

26

(grin)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

27

(grin — bon courage à elle aussi, d'ailleurs. Non, parce que travailler sous DOS aujourd'hui pour de la bureautique, c'est chaud, quand même. Elle utilise edit.com ?)

28

Ha "le ciel" au début j'avais juste lu Ciel (qui est un soft de compta) j'ai mis du temps a comprendre.... grin
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

29

Alors Flan, ces cours, ça donne quoi ?
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

30

Ça donne que ce n'est pas évident de se retrouver tous les 5 en même temps grin
Bon, sinon déjà 3 cours de faits (soit 8h environ).

Je pense qu'ils ont compris comment fonctionnait réellement un ordinateur (la RAM et le processeur, notamment), comment compter en binaire, le fait que la RAM (ou le DD) n'est qu'un paquet de bits dont on doit connaître la structure pour l'interpréter, ce qu'est réellement un algorithme (au-delà de ce qu'on peut lire dans les journaux grin).
Ensuite, j'ai pu aborder les bases de l'algorithmique, l'idée de variable, de boucle for, de sous-fonction.
Faut que je leurs trouve des exos à faire sur le sujet, d'ailleurs.

Étape suivante : passer au Python et faire les premiers exos de programmation (via repl.it) smile

Au final, je trouve que c'est beaucoup plus dur d'avoir des élèves comme ça que ceux auxquels j'étais habitué (j'ai déjà eu du L1 au M2).
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant