Coder Social home page Coder Social logo

christopho / csirl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from infosansordi/csirl

0.0 3.0 0.0 30.13 MB

Computer Science In Real Life

Home Page: https://github.com/jcb/CSIRL/wiki

Makefile 1.84% TeX 58.35% Shell 0.32% Go 14.67% Haskell 3.72% Java 18.54% Python 2.57%

csirl's Introduction

SMN - Sciences Manuelles du Numérique -- déconstruire l'informatique pour mieux la saisir

Trop souvent, lorsque l'on parle d'informatique, on pense à l'ordinateur utilisé comme outil. L'informatique devient alors l'art d'utiliser l'ordinateur pour une tâche donnée, ou de le réparer. Pourtant, dans les entrailles de cette machine se cache un domaine scientifique très vaste, dont les ramifications dépassent largement l'ordinateur et son fonctionnement.

Le projet Sciences Manuelles du Numérique vous propose d'explorer la science informatique... en retirant l'ordinateur ! Pour cela, nous avons conçu une série d'activités ludiques introduisant des notions fondamentales de l'informatique par le biais d'un support matériel, pour apprendre avec les mains. Ces activités sont regroupées en séances thématiques, permettant ainsi d'aborder les notions fondamentales de manière cohérente et progressive.

SMN est un projet libre : vous trouverez ici toutes les ressources nécessaires à la production du matériel pour les activités. Notez qu'il s'appelait CSIRL comme Computer Science In Real Life, d'où le nom du dépôt. Pour des raisons marketing, il a été renommé en français en incluant le mot numérique.

Séance algorithmique

Cette séance introduit quelques principes fondamentaux de l'algorithmique au travers de quatre activités

Le jeu de Nim

Deux joueurs ramassent tour à tour 1, 2 ou 3 allumettes sur une table. Celui qui prend la dernière à gagné. A travers ce jeu bien connu, nous introduisons la notion d'algorithme comme stratégie gagnante pour résoudre un problème.

Le crêpier psycho-rigide

Ce problème de tri assez simple nous permet d'introduire la notion de formalisation d'algorithme. En effet, un algorithme n'est utile que si on peut l'expliquer à un ordinateur. Le but de l'exercice est donc de trouver la solution au problème, puis de l'exprimer étape par étape, de manière rigoureuse. Au passage, c'est aussi l'occasion d'introduire la notion de performance en calculant le nombre d'étapes nécessaires à résoudre un problème de taille N.

Le baseball multicolore

Des joueurs de couleur se déplacent pour rejoindre la base de leur couleur en tournant autour du terrain. Il existe diverses méthodes pour résoudre le problème, mais comment être sûr qu'une méthode donnée est correcte ? Cette activité introduit la notion de correction d'algorithme, et les moyens utilisés par les chercheurs en informatique pour la prouver.

Plus court chemin

Sur une planche à clous, on fait passer un fil une fois et une seule par chaque clou avant de revenir au point de départ. Comment trouver le chemin le plus court possible ? Ce problème d'optimisation aux applications innombrables nous permet d'introduire la notion de complexité pour classer les problèmes, et la recherche de solution optimale ou approchée.

Les 8 dames (en cours de développement)

Comment placer huit dames sur un échiquier de sorte qu'aucune ne soit sur la trajectoire d'une autre ? La résolution de ce problème nous permet d'introduire les notions de récursivité et de back-tracking.

Ressources

  • Vous trouverez les version PDF des différentes activités dans la section "downloads" de ce site.
  • Si vous souhaitez fabriquer vous-même un kit, le répertoire "supports" contient quelques fichiers qui pourront vous aider, tels que des plans de découpe pour la fabrication des crêpes.
  • Des vidéos explicatives des activités produites par Inria seront bientôt disponibles en ligne.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.