Que dois-je faire avec un groupe de 16-17 ans pour les intéresser à l'informatique?


40

Je vais participer à une sorte de "journée portes ouvertes" dans mon université dans quelques semaines. Dans le cadre de cette période, je suis accompagné (avec un collègue) de tout un groupe d’étudiants du secondaire pendant deux heures, ainsi que d’un laboratoire informatique assez grand pour tout contenir, et je dois faire une sorte de activité ou un ensemble d'activités avec eux pour les encourager à faire de l'informatique (à mon université, idéalement, mais en général aussi). Je ne sais absolument pas quoi faire ici et j'accueille toutes les suggestions.


Je ne suis ni enseignant ni expert. Toutefois, je vous suggère de leur apprendre à programmer un petit jeu de réflexion (en choisir un dont la généralisation est NP-complete) et couvrant des aspects tels que: la génération de niveaux, la vérification de solutions, la recherche automatique de solutions: - )
Vor

1
J'ai aimé les conférences de Noël 2008 de la Royal Institution . Vous voudrez peut-être essayer des activités / démos similaires.
Melhosseiny

Réponses:


21
  • Vous pouvez leur faire dessiner des images en utilisant la grammaire sans contexte. context free art Cela fonctionne aussi pour les personnes qui n'ont jamais programmé auparavant et s'adresse à des programmeurs expérimentés. Le langage de base est assez facile à expliquer en une demi-heure environ.
  • Apprendre quelque chose à propos de la géométrie en utilisant les graphiques Turtle devrait aussi être agréable. Logo a été conçu pour les enfants, les lycéens ne devraient donc pas avoir de problèmes. Il y a de belles vidéos sur des enfants utilisant Logo sur youtube
  • Si vous pouvez mettre la main sur certains robots MindStorms, leur programmation est très amusante.
  • Il existe une variété de jeux de programmation dans lesquels vous programmez des robots pour se combattre, ou des programmes d'assemblage qui tentent de se remplacer l'un l'autre sur une machine virtuelle. Wikipedia sur le sujet , question de stackoverflow liée
  • Vous pouvez également penser à une sorte de projet matériel. Faire clignoter un voyant dans un microcontrôleur en fonction du nombre d'e-mails non lus dans votre boîte de réception, par exemple.
  • Demandez-leur d'implémenter différents algorithmes de génération de labyrinthe , essayez de définir des critères qui rendent les labyrinthes "difficiles pour l'homme". Si le temps le permet, élargissez les algorithmes pour inclure non seulement les corridors mais également les salles.
  • Achetez quelques Arduinos et des LED. Laissez-les programmer les lumières clignotantes.

1
Vous voudrez peut-être ajouter les liens vers les didacticiels de programmation informatique de Khan Academy à la liste: Il s’agit d’un ajout vraiment cool / interactif. Par exemple: khanacademy.org/cs/intro-to-animation/830742281
PhD

+1 pour les CFG aussi - une autre version de la même notion qu'il serait bon d'essayer d'appliquer serait d'essayer de faire du dessin de brousse avec un système de fonction itéré; demandez-leur de commencer par un rectangle, de définir plusieurs autres rectangles, puis de répéter le «contenu» du premier rectangle (y compris tous les sous-rectangles) dans chacun des sous-rectangles. Vous pourriez avoir une version numérique configurée à des fins de comparaison.
Steven Stadnicki

13

Découvrez Computer Science Unplugged . De leur site:

CS Unplugged est un ensemble d’activités d’apprentissage gratuites qui enseignent l’informatique à travers des jeux et des énigmes captivants faisant appel à des cartes, de la ficelle, des crayons et beaucoup de course à pied.

Les activités initient les élèves aux concepts sous-jacents tels que les nombres binaires , les algorithmes et la compression de données , séparés des distractions et des détails techniques que nous voyons habituellement avec les ordinateurs.

CS Unplugged convient aux personnes de tout âge , des écoles primaires aux personnes âgées , et de nombreux pays et origines. Unplugged est utilisé dans le monde entier depuis plus de quinze ans, dans des salles de classe, des centres scientifiques, des maisons et même pour des événements de vacances dans un parc!


1
C'est une bonne suggestion, mais je suppose que le PO veut quelque chose qui utilise réellement le laboratoire informatique qui a été mis de côté.
András Salamon le

Point valide. Il devrait y avoir un projet de code robot pour les personnes qui ne connaissent pas la programmation.
Pål GD

11

La plupart des étudiants en informatique que je connais considèrent l'apprentissage de la programmation comme la partie la plus pénible et la plus démoralisante de leur éducation. Je resterais donc à l'écart de tout ce qui concerne la programmation elle-même. Comme l'a déjà signalé scphantm , vous n'aurez probablement pas le temps pour cela.

Ce que vous cherchez, c'est un exercice de deux heures qui répond à deux objectifs:

  • C’est assez excitant de maintenir l’intérêt des diplômés du secondaire pendant deux heures,
  • Cela leur donnera un aperçu de ce qu'est la science informatique et les intéressera, espérons-le.

Le premier objectif est assez indépendant de ce que vous allez réellement montrer et a beaucoup plus à voir avec le fait d'être un bon enseignant / présentateur. Bonne pratique didactique, c'est-à-dire garder votre public sur pied, le laisser essayer de petites choses en groupe, lui donner une respiration toutes les 15 minutes, etc.

Le deuxième objectif est un peu délicat, et ce qui, à mon avis, fonctionne le mieux ici est de prendre un problème qui peut être expliqué avec leurs connaissances actuelles, de montrer comment vous pouvez décrire la solution de manière algorithmique, puis de montrer comment cette solution peut être analysée. et amélioré.

Un bon exemple est le problème de chemin le plus court dans les graphiques, également appelé système de navigation GPS. Aucune explication nécessaire. Vous pouvez leur donner une petite carte avec des poids / longueur des bords dessinés et un groupe de crayons pour exécuter réellement l'algorithme tel que vous le décrivez.

Vous pouvez ensuite entamer une discussion sur la manière de trouver le chemin le plus court, et ainsi de suite, laissez-les essayer de le formuler sous forme d'algorithme, etc. Vous décrivez ensuite l'algorithme de Dijkstra , leur permettant de colorer les nœuds comme étant visités , provisoires et ensembles non visités . Bam. Vous avez un algorithme!

O

PNP


9

Si vous avez seulement 2 heures, vous n'allez pas faire beaucoup de codage. Juste apprendre la syntaxe sera difficile à cette époque, mais il y a beaucoup de choses qui peuvent être faites à la place.

À titre de suggestion, essayez de leur enseigner le contrôle des flux et l’importance d’être spécifique:

  1. Divisez la classe en 2, "robots" et les autres "programmeurs".
  2. Proposez un défi approprié qui nécessite une logique simple, une boucle, etc. - voici un exemple.
  3. Demandez aux "programmeurs" d'écrire une liste d'instructions données aux "robots"
  4. Demandez aux "robots" d'exécuter les instructions, mais informez-les que, si les instructions sont confuses, ils sont autorisés à s'arrêter, à commettre des erreurs ou à agir d'une autre manière jusqu'à ce que le "programmeur" les arrête et les corrige. Garanti, s'il a la chance de jouer, un lycéen le fera.

En guise d'exemple, configurez des bacs de billes de couleurs différentes, avec des bandes de papier de couleur correspondante ailleurs et suffisamment de petits seaux pour chaque paire robot / programmeur. La tâche consiste à obliger le robot à remplir le seau avec des billes. Toutefois, il ne peut prendre que des billes correspondant à une bande de papier spécifique. S'il n'y a plus de balles de cette couleur dans une baignoire, le robot doit alors rendre sa bande de papier et en ramasser une nouvelle.

Cette tâche nécessite un branchement conditionnel, la mise en boucle, la gestion des erreurs et une réflexion continue. Tout ce qu'un programmeur doit bien maîtriser, quelle que soit la langue ou l'activité.

Exécutez quelque chose comme ça deux fois pour que les "robots" et les "programmeurs" puissent échanger. Entre les deux, donnez une petite leçon sur les schémas de pensée ci-dessus, et ils performeront beaucoup mieux dans la seconde, puis clôturez avec une petite discussion sur les grands événements de la programmation - vaincre les nazis, aller sur la lune, Internet et vous aurez une salle de programmeurs potentiels et engagés!


1
Pourquoi ne puis-je pas donner à cela un +10? C'est une bonne idée.
Xynariz

@Xynariz merci! Je l'ai fait à quelques reprises avec de très petits groupes, et cela finit généralement par être à la fois amusant et frustrant. Cependant, la frustration réside dans le comportement déplacé des "robots" et non des ordinateurs que les enfants ne comprennent pas encore.

Parfois, les gens ne semblent pas comprendre que les ordinateurs sont très très doués pour faire exactement ce que vous leur dites ... rien de plus, rien de moins. Il y a même un épisode de CyberChase à ce sujet ... (peaux)
Xynariz

7

J'ai formé de nombreux programmeurs. Si tout ce que vous avez est de 2 heures, ne vous embêtez pas pour leur apprendre à coder. Le laboratoire informatique est également inutile. Pour passer de zéro à hello world, vous perdrez la moitié de la classe et consacrerez 45 heures sur 2 aux problèmes de bugs sans que rien ne soit fait.

Vous aurez peut-être plus de chance en leur montrant ce que c'est que de penser comme un programmeur. Donnez à chacun d'eux un bloc de papier et un stylo et dites-leur de rédiger un programme dans leur propre langue sur la façon de prendre leur téléphone portable sur le bureau et de passer un appel. Traversez leurs réponses. Si votre code vous intéresse, vous pouvez parcourir leurs programmes et leur dire comment les améliorer et comment gérer les détails dont vous avez besoin. Puis, demandez-leur d’écrire un programme avec leurs propres mots pour faire autre chose de banal. mets ton pantalon, lave-toi les dents, ouvre une porte, peu importe. Faites la même chose avec ce programme.

Donnez-leur un avant-goût de ce que c'est de penser comme un programmeur. Ils en tireront certainement plus que d'essayer de leur enseigner le python en 2 heures.


6

Vous pourriez essayer Alice . C'est un IDE et une API pour l'animation 3D. Il contient toutes sortes d'objets intégrés (lapins, extraterrestres, arbres, bâtiments, ...) que vous pouvez placer dans une scène initiale, avec des méthodes de très haut niveau: comme walk(north)(qui anime les bras et les jambes pendant que le personnage bouge) et say("my name is Winky")qui pourrait faire sortir une bulle de bande dessinée de la bouche des personnages.

Il vous permet de raccrocher des événements clavier et souris afin de pouvoir effectuer des tâches interactives.

Le langage de programmation sous-jacent est Java, mais l'EDI vous propose une variante graphique dans laquelle vous faites glisser des parties d'expressions dans une fenêtre d'éditeur. (Cela ne vous laissera pas créer une erreur de syntaxe.)

Je pense que vous pourriez tout organiser avec une scène de sorte qu'une personne sans expérience en programmation puisse faire quelque chose d'intéressant en seulement quelques heures.


1
Je hésiterais à utiliser cette approche; cela peut fonctionner pour les plus jeunes, mais les lycéens ont plus de chances de le considérer comme enfantin. Ceci dit, c’est un moyen rapide de réaliser quelque chose dans le délai de 2 heures ...
Izkata

6

Le codage, même dans un langage de jouet ou graphique, semble exagéré en une heure. Bon sang, je ne suis pas sûr de pouvoir reprendre Alice et faire quelque chose qui vaille la peine en 2 heures. Peut-être un week-end, mais pas 2 heures.

Je suggérerais de résumer le CS à l'essentiel: résolution de problèmes et analyse. Divisez le groupe en équipes. Prenez 10 minutes pour décrire quelques problèmes de calcul de haut niveau. Ce sont des problèmes faciles qui peuvent être facilement expliqués à des personnes ayant peu de connaissances en mathématiques ou en CS. Les exemples comprennent:

  1. Tri des listes
  2. Trouver des arbres couvrant le minimum
  3. Calcul des racines (approximatives) de nombres entiers
  4. etc.

Prenez encore 10 minutes pour poursuivre la discussion et expliquer la tâche. Chaque groupe se voit attribuer un problème pour lequel il doit trouver des solutions. L’équipe disposera d’une demi-heure pour trouver, en collaboration, une ou plusieurs solutions au problème qui leur est attribué. Ensuite, prenez une heure pour examiner les solutions de l’ensemble du groupe et laissez les enfants savoir s’ils travaillent ou non, s’il existe un moyen plus rapide ou meilleur de résoudre le problème, etc.

Si les enfants n'atteignent pas une solution correcte / optimale, ce n'est pas grave. Ne vous contentez pas de donner les réponses, c'est absolument essentiel. La raison pour laquelle les enfants ne font plus de STEM, c'est parce que les éducateurs leur donnent l'impression que tout est déjà prévu. Il faudra des conseillers très mûrs pour permettre aux enfants d’essayer de résoudre ces problèmes et de réussir ou d’échouer seuls. Obtenir la bonne réponse n'est pas la question. Il s’agit de donner aux enfants d’intéressants problèmes et de leur montrer en quoi consiste l’informatique: résoudre les problèmes et évaluer les solutions pour les corriger et les rendre plus efficaces. Laisser les enfants trouver leurs propres réponses leur donnera un sentiment d'appartenance et les aidera à se sentir engagés.

Bien sûr, si les enfants demandent s'ils ont la réponse correcte / bonne / la plus connue, dites-leur la vérité. Mais ne donnez pas simplement les réponses, sauf si elles sont abordées de manière organique à la suite de discussions sur les solutions des étudiants. Résumer:

  1. Donnez aux enfants des problèmes faciles à comprendre mais riches à explorer.
  2. Laissez les enfants trouver leurs propres solutions, en ne leur fournissant que suffisamment d’aide pour s’assurer qu’ils comprennent le problème.
  3. Discutez de la correction / efficacité dans un groupe, en donnant aux groupes une chance d’expliquer leurs solutions. En tant que conseillers, vous êtes libre d’avancer dans la discussion sur l’exactitude / efficacité aussi loin que vous le pensez.
  4. En aucun cas, vous ne devez présenter vos propres solutions ou une solution connue au problème, à moins qu’elles ne soient fondamentalement identiques à celles fournies par les étudiants. Ne donnez pas l'impression que CS est un domaine où les gens ont déjà compris toutes les réponses.
  5. Si possible, laissez aux enfants le sentiment d'avoir appris quelque chose, mais pour qu'ils aient encore des questions: ont-ils trouvé les meilleures réponses? Leurs autres questions peuvent-elles être résolues de la même manière? Vous pouvez même leur fournir un problème indécidable dans un format facile à digérer pour leur permettre de travailler ultérieurement.

Vous pourriez même envisager de faire la différence entre des équipes lors d'une compétition amicale. Donnez le même problème à deux équipes différentes et voyez qui propose la meilleure solution.
Patrick87

1
Des compétitions de ce type découragent fortement les personnes timides et ne font que renforcer les ego de ceux qui connaissent déjà la matière. Cela ne fait que renforcer l'image de CS comme étant "uniquement pour les nerds".
adrianN

6

J'ai 17 ans maintenant et j'ai commencé à programmer à peu près à l'âge de 16 ans. Je vais raconter mon histoire et faire quelques suggestions: Mon intérêt pour la programmation a commencé lorsque je regardais un informaticien que j'appelais avec des registres et une invite de commande ( même s'il voulait 500 $ pour réparer mes BSOD et que je ne payais pas, je les ai réparés moi-même). J'ai donc cherché dans Google "langage d'invite de commande" et découvert qu'il y avait quelque chose appelé "code source" et qu'il vous permettait de programmer . À l'époque, je ne savais pas ce que c ++ était, je ne pense même pas en avoir entendu parler. Je suis donc allé sur cpp.com (de très mauvais tutoriels, vous apprendrez des pratiques mauvaises et obsolètes) et j'ai commencé à apprendre les bases. Mon esprit est devenu fou et j'ai en fait appris que le virus par lequel j'étais infecté était écrit en c ++, ce qui m'intéressait davantage. J'ai ensuite commencé à lire, à apprendre l'assemblage et d'autres langages de haut niveau. J'ai commencé par vouloir apprendre sur les logiciels malveillants et la programmation graphique, et c'est ce que j'ai fait.

  1. Cela peut sembler mauvais, mais beaucoup de gens de mon âge sont réellement intéressés par le côté destructif de la programmation. La première question que me posent mes amis quand je leur dis que je suis assez bonne avec c ++ est "Pouvez-vous faire des virus, changer de notes ou des jeux de bidouille" Je ne suis pas tout à fait à ce niveau ... ive étudie depuis peu l'injection dll, alors Là. Peut-être pourriez-vous imaginer un type de malware non dangereux ou illégal mais tout de même intéressant. (Obtenez peut-être les informations de connexion d'un élève sur le serveur de l'école.) Vous pouvez également lui parler du fonctionnement des virus et des logiciels malveillants.
  2. Développez un petit jeu inspiré de pokémon et décrivez-leur le fonctionnement des jeux et des moteurs de jeu. Beaucoup de gens seraient probablement surpris de savoir que dans beaucoup de jeux en 2D comme celui-ci, le personnage ne bouge pas, son arrière-plan l'est et le personnage utilise simplement une animation, parle de nombres aléatoires, etc. Proposez aussi des démonstrations en 3D.
  3. Essayez d’éviter d’expliquer le code , essayez de leur expliquer le programme.elle-même fait sans trop parler du code. D'après mon expérience, c'est un moyen facile de perdre l'attention des gens, surtout s'ils ne comprennent pas les bases du langage. En fait, j'essayerais de ne pas vraiment mettre le code source dans le présent car cela pourrait être assez décourageant pour quelqu'un de regarder 500 lignes de code et de ne rien comprendre. De plus, si vous avez des personnes qui me démontrent et qui me ressemblent, elles vous poseront probablement une série de questions car elles ont un esprit curieux. C'est-à-dire que vous parlez de nombres aléatoires, ils vous demandent ce que sont les nombres aléatoires et d'où ils viennent ... que vous devez leur expliquer le bruit électronique et comment il est aléatoire et tout, que vous vous retrouverez probablement dans une situation où juste comme "je ne sais pas".
  4. Lego Mindstorms est une excellente idée. Si vous ne voulez pas emprunter le long chemin et utiliser un langage majeur, il est livré avec un langage de programmation de style bloc que vous pouvez utiliser. J'ai compris la langue en environ 30 à 40 minutes, tout s'aligne quand on y pense

  5. Vous pouvez rapidement développer une application et la montrer, leur parler des revenus pouvant découler du développement d'applications.


4

certains de mes favoris

  • générer des fractales . ils ont un lien étroit avec les mathématiques profondes et l’infographie, et sont naturellement adaptés au parallélisme. il illustre la complexité et les comportements émergents , en particulier lorsque vous zoomez sur des échelles arbitraires, et a des liens étroits avec la science et les phénomènes naturels. il n'est pas difficile d'écrire du code fractal parallèle s'exécutant sur plusieurs machines. une des expériences consiste à afficher sur chaque machine les lignes aléatoires qu’elle a traitées (par exemple, les machines "esclaves" qui traitent les lignes d’une file), puis sur une machine centrale, d’afficher les résultats combinés.

  • robotique lego (ou autres kits de robotique, par exemple un tampon ). mindstorms est un jouet, mais il peut être très avancé et servir de démonstration tangible de concepts abstraits. le logiciel qui peut être exécuté sur eux peut être très complexe, et ils peuvent avoir des boucles / algorithmes complexes sens-penser-agir. il y a beaucoup de bons livres de constructions. les résolveurs de cube Rubiks , qui ont récemment battu le record du monde, sont également impressionnants .

  • Raspberry Pi est une nouvelle plate-forme peu coûteuse qui suscite beaucoup d’intérêt et d’utilisation. il peut être utilisé pour illustrer la programmation Linux, la robotique, etc., et possède une sortie HD, etc. Voir par exemple le supercalculateur Southhampton Raspberry Pi avec un rack Lego.

  • Le logo mentionné dans l'autre réponse est un vieux classique. Un autre angle plus récent est la programmation de jeux, par exemple avec un nouveau langage populaire émergent appelé Scratch (inventé au MIT ). il peut enseigner de nombreux sujets de CS naturels / avancés.


2

Heres un autre angle. il y a tellement de problèmes ouverts intéressants ou de technologies émergentes en informatique aux frontières de la compréhension scientifique qui peuvent éveiller la curiosité / émerveillement, c'est-à-dire l'exploration de la terra incognita à proximité . si vous soulevez les problèmes et demandez ensuite à la classe de participer à une discussion sur les ramifications des solutions, cela peut susciter un intérêt / une inspiration significatif. [Étant donné que vous mentionnez la disponibilité du laboratoire informatique, il serait également possible de concevoir de manière créative des exercices pratiques sur ordinateur liés à ces domaines.]

Cela peut prendre un sens de la science-fiction, mais dans CS comme aucun autre domaine, il transforme ce qui était autrefois scifi dans la réalité en peu de temps. ils peuvent également être controversés et opportuns, en lien avec les gros titres d'aujourd'hui et les étudiants peuvent commencer à comprendre à quel point la société civile est omniprésente dans notre monde / société et à quel point elle est significative lorsqu'elle est interprétée de manière large. en voici quelques unes:

  • ADN au problème de repliement des protéines . Existe-t-il un algorithme pour le calculer avec précision?

  • intelligence artificielle en général. c'est possible? y at-il une éthique impliquée?

  • la robotique a divers domaines émergents clés. par exemple autos / conduite autonomes . son à l'horizon proche. Comment cela affectera-t-il la société? La vidéo du concours DARPA d'il y a peu de temps est impressionnante. Kurzweil a beaucoup à écrire dans ses écrits. Les drones sont un sujet compliqué, rarement discuté ouvertement et seront de plus en plus utilisés au pays. les rovers mars sont une technologie extraordinaire et il y a des histoires étonnantes derrière, comme par exemple comment les systèmes devaient être débogués à distance - de manière inter -planétaire en cas d'échec.

  • Les systèmes de surveillance basés sur les technologies de l'information pour détecter le crime / le terrorisme font beaucoup parler de nous ces derniers temps.

  • le boson de Higgs n'aurait pas pu être découvert et le supercollider ne pourrait pas fonctionner du tout sans les grands systèmes d'analyse du "big data" basés sur CS.

  • La loi de Moore . Jusqu'où ira-t-il? à quel point a-t-il déjà affecté la société / l'humanité?

  • Ordinateurs quantiques . sont-ils possibles? seront-ils plus rapides? seront-ils lowcost ou toujours unweildy? Dwave est une étude de cas colorée, il y a un excellent article de SciAm par Aaronson, etc.

  • L'algorithme de pagerank de Google est l'une des merveilles de l'informatique moderne multimilliardaire. sera-t-il prolongé? Comment fonctionne le filtrage anti-spam? l'entreprise semble s'orienter vers l'analyse d'images, etc.

  • le trading algorithmique / haute fréquence déplace maintenant des quantités massives de volume / valeur de trading. est-ce bien / mal? est-ce qu'il augmente / diminue? sera-t-il réglementé à l'avenir? quel genre de course aux armements informatique est impliqué?

  • Les superordinateurs sont énormes, ils résolvent des problèmes incroyables et s'agrandissent. Y a-t-il des limites? Que calculent-ils et que vont-ils calculer à l'avenir? un peu lié, Big Data et datamining .

  • Les sites de réseaux sociaux ont eu d’énormes conséquences en moins d’une décennie de croissance. ils contribuent à alimenter les soulèvements populaires, par exemple le printemps arabe et Occupy wall st . quel est leur avenir?


2

J'ai une proposition qui

  • se concentre sur ordinateur la science (pas de programmation ou auxiliaire),
  • commence par un lieu que la plupart des enfants connaissent et
  • a effectivement été essayé et fonctionne.

Nous avons organisé de petits ateliers sur le démineur avec des lycéens . L'atelier ressemblerait à peu près à ceci:

  1. Jouons un peu au jeu (la plupart le savent).

  2. Qu'est-ce qu'on vient de faire? Quel est le problème que nous essayons de résoudre? Peut-on formuler des règles générales?

    Cela prendra généralement un certain temps. Les enfants ne sont pas habitués à formuler des problèmes d’entrée et de sortie, pas de règles générales pour les résoudre. Ceux qui ont déjà programmé apprécieront l'effort; référencer "code spaghetti" peut aider. Néanmoins, les règles seront simples la plupart du temps, en ne considérant qu'une cellule à la fois.

  3. Exposer des problèmes avec les règles.

    À ce stade, vous souhaitez introduire un simulateur Démineur . Celui de Bayer, Snyder et Chouiery n’est pas parfait mais vous permet d’exposer des scénarios conçus avec soin.

  4. Améliorez le jeu de règles pour couvrir plus de scénarios.

    Cela incitera généralement les étudiants à étudier de plus en plus de cellules ensemble. Vous pouvez également les inciter à adopter des approches «tout résoudre», telles que l’expression de l’information disponible sous forme de système d’équation linéaire - cela se produit si vous essayez d’exprimer l’information disponible en termes mathématiques. Les étudiants savent déjà comment résoudre de tels systèmes!

  5. Notez les limites.

    Premièrement, il existe des scénarios sans solution (déterministe). De plus, nous pouvons opposer la force brute à nos stratégies développées. Pouvons-nous faire un compromis entre vitesse et puissance? Si l’approche par système d’équation se révèle, notez que nous ne pouvons résoudre ce problème efficacement que sur le réel, mais nous avons besoin de réponses binaires. Il n’est pas trop difficile de construire des scénarios qui conduisent à des durées d’exécution (nous avons utilisé l’algèbre informatisée pour illustrer).

Selon le groupe, cette approche permet de couvrir de manière naturelle de multiples principes de l'informatique: la définition de problèmes, la description d'algorithmes généraux, la résolution de problèmes itérative ainsi que des problèmes de calcul et de complexité peuvent tous être abordés.

Les réactions des étudiants ont été globalement positives. ils se sentent impliqués et expriment leur intérêt pour les concepts. Il est important de les laisser faire le gros du travail, en les guidant avec précaution dans la direction souhaitée en leur posant des questions pointues.


1

vous avez beaucoup de choses à faire ... mais une chose qui semble si excitante, "présentez la question" P ≠ NP "et le prix du septième millénaire. Quand j'étais au collège, je lisais je ne connaissais pas les notations la seule chose que je comprenne: il y a un gros prix et une question! d'autres choses seraient présenter le lien entre les mathématiques et l'informatique comme: résoudre des équations, vérifier des solutions en utilisant des ordinateurs.

Je suggère également de présenter Alan Turing "le père de l'informatique" et de raconter son histoire. la dernière chose que je suggère est la preuve de connaissance zéro et le jeu "où est waldo?" et jouer sans tricherie et sans cryptographie ni cyberattaques.


-2

Faites n'importe quoi avec facebook, ils adorent ça. C’est peut-être trop difficile pour les débutants, mais vous pouvez les laisser dessiner des graphiques de liaisons qui montrent comment leurs profils sont reliés les uns aux autres. Je recommanderais Javascript comme langage de programmation.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.