Apprendre à coder
Type de page : Ressources pédagogiques et techniques
Objectif de cette page[modifier | modifier le wikicode]
Avec l'arrivée massive des solutions d'apprentissage aux codes informatiques en ligne ou en présentiel, nous sommes de plus en plus nombreux à nous plonger dans cette exercice de l'auto apprentissage.
Les questions fréquentes : Quelle(s) plateforme(s) utilisez vous ? En avez vous essayé d'autres ? Pourquoi avoir choisi celle(s) ci ? Quels sont les points importants à connaitre avant de se lancer ? Ou trouvez vous de l'aide ? Quels projets avez vous réalisé ? etc.
Ces questions nous nous les sommes tous posé, alors pour ne pas ré-inventer la roue et permettre au plus grand nombre de passer à l'action, merci à tous les contributeurs qui le souhaiterons de venir ici partager vos expériences.
Pourquoi apprendre à coder ?[modifier | modifier le wikicode]
"Le code c'est la loi !" - devise libriste
Il y a mille et une bonne raison d'apprendre à coder, mais la plus importante à nos yeux est sans nul doute celle de conserver notre liberté à l'ère des villes (ultra) connectées dites "intelligentes" !
- Les enfants doivent-ils apprendre le code informatique à l‘école ? - Euronews février 2015
- Enseigner le code à l'école, une bonne idée? - L'Express
- Une formation pour tous les demandeurs d'emploi - OpenClassRoom Blog
Chez les adolescents et les gamers chevronnés, le jeu Watch Dogs en est une bonne illustration :
"Quand vous avez accès à toutes ces informations, est il possible de les ignorer ?"
État d'esprit[modifier | modifier le wikicode]
Le conseil qui revient fréquemment est de vouloir apprendre à coder pour créer ou développer un projet précis. Tout apprendre sera impossible, mieux vaut donc vous concentrer sur quelque chose de concret et réalisable.
Culture[modifier | modifier le wikicode]
Choix éthique[modifier | modifier le wikicode]
Un "codeur" n'est pas (nécessairement) un "Hacker". Si votre objectif est de vouloir apprendre le code pour braquer une banque ou effacer votre mauvaise note de votre dernier TP d'histoire à l'école... il fallait naitre dans les années 80 !
Comment apprendre à coder ?[modifier | modifier le wikicode]
Source : code.org
La version académique[modifier | modifier le wikicode]
- Bac scientifique - École d'ingénieur - Université
La version accompagnée[modifier | modifier le wikicode]
De nombreuses startups se sont montées ces dernières années pour accompagner les citoyenss aux métiers autour du code.
Simplon.co qui s'est spécialisée sur les jeunes dans les quartiers en est un bon exemple.
- Design Tech Academie : L'école de codeur made in Saint Etienne
- Liste des formations de développeur sur la région lyonnaise (Les Bricodeurs).
La version autodidacte[modifier | modifier le wikicode]
En s'amusant[modifier | modifier le wikicode]
Le ludique a toujours été un fantastique moteur pour l'apprentissage. Il nous permet d'apprendre sans même s'en rendre compte. Beaucoup de gens l'ont bien compris et depuis des années on a vu fleurir un peu partout ce qu'on appelle communément des serious games, et ce que tout un tas de sujets, l'écologie, la citoyenneté, le numérique...
En réalité c'est souvent mal codé, pas toujours très pédagogique, mais surtout incroyablement ennuyeux. Pour l'apprentissage du code on a de la chance, pour une fois on est face à quelques perles du genre. Ludique, prenant, proposant un vrai gameplay.
Voici une liste non-exhaustive de ce qu'il existe et ce qu'ils nous permettent d'apprendre :
CodeCombat[modifier | modifier le wikicode]
Dans ce jeu de rôle, vous incarnez un guerrier qui doit traverser tout un tas de donjons. Classique ! Sauf que tout les ordres que vous donnez doivent l'être en ligne de code. La difficulté est évolutive et le gameplay se diversifie vraiment au fil du jeu. On peut jouer en utilisant soit le Python, soit le Javascript.
Studio Code[modifier | modifier le wikicode]
Ce site permet de s'initier au code par blocs (visuals coding) avec de nombreux cours et exemples.
Le site Code.org propose des initiations ludiques aux élèves, aux enseignants et aux éducateurs.
Comme Scratch, la création de programme repose sur des blocs de codes visuels à empiler les uns sur les autres. Un clic entraîne => l'action X.
Pour démarrer le tuto du Code de Flappy Bird est très bien.
Animation Scratch[modifier | modifier le wikicode]
Voir la page Movilab dédiée.
Les magazines[modifier | modifier le wikicode]
Les tutoriels[modifier | modifier le wikicode]
Les sites et forums[modifier | modifier le wikicode]
Les amis[modifier | modifier le wikicode]
Ou apprendre à coder ?[modifier | modifier le wikicode]
Dans la "vraie" vie[modifier | modifier le wikicode]
En ligne[modifier | modifier le wikicode]
Top 10 des meilleurs sites pour apprendre à coder
De quoi parlons nous ?[modifier | modifier le wikicode]
Programmation informatique[modifier | modifier le wikicode]
Dans le domaine de l'informatique, la programmation est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante du développement de logiciels (voire de matériel).
Pour écrire un programme, on utilise un langage de programmation. Un logiciel est un ensemble de programmes (qui peuvent être écrits dans des langages de programmation différents) dédié à la réalisation de certaines tâches par un (ou plusieurs) utilisateurs du logiciel.
La programmation représente donc ici la rédaction du (ou des) code source d'un logiciel. On utilise plutôt le terme développement pour dénoter l'ensemble des activités liées à la création d'un logiciel et des programmes qui le composent (cela inclut la spécification du logiciel, sa conception, puis son implémentation proprement dite au sens de l'écriture des programmes dans un langage de programmation bien défini et aussi la vérification de sa correction)...
Lire et améliorer toute la définition sur Wikipédia
Les langages[modifier | modifier le wikicode]
Langage de programmation[modifier | modifier le wikicode]
En informatique, un langage de programmation est une notation conventionnelle destinée à formuler des algorithmes et produire des programmes informatiques qui les appliquent. D'une manière similaire à une langue naturelle, un langage de programmation est composé d'un alphabet, d'un vocabulaire, de règles de grammaire, et de significations.
Les langages de programmation permettent de décrire d'une part les structures des données qui seront manipulées par l'appareil informatique, et d'autre part d'indiquer comment sont effectuées les manipulations, selon quels algorithmes. Ils servent de moyens de communication par lesquels le programmeur communique avec l'ordinateur, mais aussi avec d'autres programmeurs; les programmes étant d'ordinaire écrits, lus, compris et modifiés par une équipe de programmeurs.
Un langage de programmation est mis en œuvre par un traducteur automatique: compilateur ou interpréteur. Un compilateur est un programme informatique qui transforme dans un premier temps un code source écrit dans un langage de programmation donné en un code cible qui pourra être directement exécuté par un ordinateur, à savoir un programme en langage machine ou en code intermédiaire2, tandis que l'interpréteur réalise cette traduction 'à la volée'.
Les langages de programmation offrent différentes possibilités d'abstraction, et une notation proche de l'algèbre, permettant de décrire de manière concise et facile à saisir les opérations de manipulation de données et l'évolution du déroulement du programme en fonction des situations. La possibilité d'écriture abstraite libère l'esprit du programmeur d'un travail superflu, notamment de prise en compte des spécificités du matériel informatique, et lui permet ainsi de se concentrer sur des problèmes plus avancés2.
Chaque langage de programmation supporte un ou plusieurs styles de programmation - paradigmes. Les notions propres au paradigme font partie du langage de programmation, permettant au programmeur d'exprimer dans le langage de programmation une solution qui a été imaginée selon ce paradigme.
Les premiers langages de programmation ont été créés dans les années 1950. De nombreux concepts de l'informatique ont été lancés par un langage, avant d'être améliorés et étendus dans les langages suivants. La plupart du temps la conception d'un langage de programmation a été fortement influencée par l'expérience acquise avec les langages précédents.
Lire et améliorer toute la définition sur Wikipédia
Liste des principaux langages de programmation[modifier | modifier le wikicode]
Lire la définition et améliorer la liste complète sur Wikipédia.
Tutoriels et cours[modifier | modifier le wikicode]
- Les 25 meilleurs sites web pour apprendre à coder gratuitement (2021)
- Cours Débuter avec HTML + CSS : Ce tutoriel écrit vous permet de créer votre 1ère page HTML (contenu) avec du CSS (mise en forme/page) à l'intérieur. On vous apprend aussi (et surtout) à mettre vos fichiers CSS dans un dossier distinct de la page HTML en elle même.
- Apprenez à créer votre site web avec HTML5 et CSS3 sur OpenClassRooms
- Tutoriel JavaScript par Mozilla
- Coder en javascript : Ce tutoriel vidéo vous apprend les base de Javascript
- Coder en python dans Minecraft
- 10 des sites Web pour apprendre à coder gratuitement (2013)
Les outils[modifier | modifier le wikicode]
Infrastructures[modifier | modifier le wikicode]
- Ordinateurs
- Fixes : puissance, multi écran, confort...
- Portables : liberté, nomadisme, isolement...
- Serveurs
- WampServer : WampServer est une plate-forme de développement Web sous Windows pour des applications Web dynamiques à l’aide du serveur Apache2, du langage de scripts PHP et d’une base de données MySQL. Il possède également PHPMyAdmin pour gérer plus facilement vos bases de données.
- Comment installer WampServer sur Apple Mac
- Alternatives WampServer pour Mac OS
- Création serveur DNS/HTTP
- Création du serveur LAMP
- Jerry serveur nomade
- Auto-Hébergement de données
- Tablettes
Logiciels[modifier | modifier le wikicode]
Hébergement et partage de codes[modifier | modifier le wikicode]
- Github : Certainement la plateforme d'hébergement la plus utilisée par les développeurs du monde entier.
- Bitbucket : Une alternative à Github pour héberger et partager dans ses propres cercles de confiance.
Pages Movilab liées[modifier | modifier le wikicode]
- Je passe à Linux
- Catégorie:CATS
- La médiation numérique et les bases du code et de la programmation
- Coding Goûters
- Animation Scratch
- Lego WeDo
- Lego Mindstorms
- Makey Makey
- OpenBidouilleCamp de la première Quinzaine des Tiers-Lieux
- Jerry serveur nomade
- JerryDoItTogether
- RaticeLoire: Malette pédagogique autour du Jeu Vidéo
- FabLab
- HackerSpace
- Repair'Café
- Impression 3D
- Le portail MoviLab dédié à la médiation numérique
- Catégorie:Médiation Numérique