Pour éditer le wiki, il faut demander un compte à un Lapin !

Difference between revisions of "Découverte de la programmation"

From Le L∞p's Wiki
Jump to: navigation, search
m (Découverte avec Python)
(Approfondissement en Scheme/Racket)
 
(34 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
L'objectif de cet atelier est de découvrir les bases de la programmation, qui consiste simplement à donner des ordres à votre ordinateur (des instructions) dans un langage approprié.
+
L'objectif de cet atelier est de découvrir les bases de la programmation, c'est à dire le fait "d'apprendre" à faire des choses nouvelles à votre ordinateur.
  
Puisqu'il s'agit d'une découverte, aucun pré-requis intellectuel n'est nécessaire, sauf de la curiosité. Bref, c'est un atelier fait pour les n00bs et tout les autres souhaitant découvrir la programmation.
+
L'atelier est fait pour des débutants souhaitant découvrir la programmation. Puisqu'il s'agit d'une initiation, aucune expérience en programmation n'est pré-requise, mais une bonne dose de curiosité est conseillée.
  
Il se décline en deux ateliers cet atelier sera fait en [https://www.python.org/ Python] pour la première partie et la seconde avec un dialecte Scheme [http://racket-lang.org/ Racket].
+
Il se déclinera en ateliers autour de [http://racket-lang.org/ Racket] un langage possédant un environnement riche pour l'enseignement
  
L'atelier Python sera orienté sur un aspect pratique avec des résultats rapide. Tandis que l'atelier Racket se proposera d'explorer des concepts essentiels de programmation il peut être vu comme un approfondissement de l'atelier Python.
+
Notez bien que l'on va faire de l'algorithmique au travers d'exemples ludiques et amusants. Et il s'avère que Racket est redoutable pour cela.
  
 
== Description ==
 
== Description ==
  
Nous couvrirons alors différents aspects de la programmation, allant du simple affichage de 'Bonjour' jusqu'à des programmes plus complexes.
+
Nous couvrirons différents aspects de la programmation, allant du simple affichage de « Bonjour » jusqu'à des programmes plus complexes.
  
 
Pour cela, après une rapide introduction sur les paradigmes et les langages de programmation, nous suivront le plan suivant:
 
Pour cela, après une rapide introduction sur les paradigmes et les langages de programmation, nous suivront le plan suivant:
Line 20: Line 20:
 
* La structures de données : listes, piles, dictionnaires, etc...
 
* La structures de données : listes, piles, dictionnaires, etc...
  
L'atelier sur Racket portera sur des sujets similaire mais introduirat de nouveaux concepts plus complexes.
+
Si nous avons le temps, nous pourrons conclure l'atelier en travaillant sur un petit projet de code, tous en même temps.
 
+
Si le temps le permet, nous pourrons conclure l'atelier en travaillant sur un petit projet de code, tous en même temps.
+
  
 
== Organisation ==
 
== Organisation ==
  
Pad : https://lite5.framapad.org/p/Initiation_python_leloop
+
; Pad : https://lite5.framapad.org/p/Initiation_python_leloop
 +
; Document Scheme/Racket: https://github.com/Ateliers-programmation/Initiation-Racket/blob/master/introduction.md
 +
; Documents Python: https://github.com/ateliers-programmation-leloop-2015/python/blob/master/cours.md
 +
 
 +
== Inscriptions ==
 +
Vous pouvez nous rejoindre sans avoir fait les sessions précédentes mais lisez et travailler alors le -> [https://github.com/Ateliers-programmation/Initiation-Racket/blob/master/introduction.md document] <-!
 +
Par respect pour les autres et pour arriver à nous suivre!
 +
 
 +
=== Framapad ===
 +
https://framadate.org/ssnwo1rlx7jchsomgmig9l4e/admin
 +
 
 +
=== Session 03 ===
 +
==== Approfondissement en [https://fr.wikipedia.org/wiki/Scheme Scheme/Racket] ====
 +
; Sujets: Retour sur la récursion terminale et simple, [https://fr.wikipedia.org/wiki/Liste_%28informatique%29 Listes] sous forme d'exercices.
 +
; Date : Samedi 21 Février 2015, dès 14:00 jusque à 18:00 avec une pause
 +
; Durée envisagée : 3h00
 +
; Animation : Darnuria
 +
; Présents: TBD
 +
 
 +
== Archives ==
 +
=== Session 02 ===
 +
==== Initiation à [https://fr.wikipedia.org/wiki/Scheme Scheme/Racket] ====
 +
; Sujets: [https://fr.wikipedia.org/wiki/Programmation_fonctionnelle Programmation fonctionnelle basique], Expressions, Opérateurs, Fonctions, [https://fr.wikipedia.org/wiki/Fermeture_%28informatique%29 fermetures ou clôtures lexicales]  et [https://fr.wikipedia.org/wiki/R%C3%A9cursivit%C3%A9 récursion] 
 +
; Date : Samedi 14 Février 2015, dès 14:00 jusque à 18:00
 +
; Durée envisagée : 3h30
 +
; Animation : Darnuria et Léo
 +
; Présents: 7
 +
 
 +
=== Session 01 ===
 +
==== Exercices avec [https://fr.wikipedia.org/wiki/Python_%28langage%29 Python] ====
 +
; Implémenter une calculatrice en [https://fr.wikipedia.org/wiki/Notation_polonaise_inverse notation postfixée]
 +
; Date : Mardi 03 Janvier 2014, dès 18:30
 +
; Durée envisagée : 3h30
 +
; Animation : Darnuria et Leo`
 +
; Présents: 6
  
 
=== Session 00 ===
 
=== Session 00 ===
==== Découverte avec Python ([http://fr.wikipedia.org/wiki/Python_%28langage%29 http://fr.wikipedia.org/wiki/Python_(langage)])====
+
==== Découverte avec [https://fr.wikipedia.org/wiki/Python_%28langage%29 Python] ====
; Date : Samedi 24 Janvier 2014, dès 14:00
+
; Sujet: Expressions, Assignations, Fonctions, Récursion, Exercices sur les fractales.
; Durée envisagée : 4h
+
; Date : Mardi 27 Janvier 2014, dès 18:30
; Animation : Darnuria et Leo
+
; Durée envisagée : 3h30
; Pad : https://lite5.framapad.org/p/Initiation_python_leloop
+
; Animation : Darnuria et Leo`
; Inscriptions : Inscrivez vous ici
+
; Présents: 8
 +
 
 +
== Références ==
 +
 
 +
* Scheme fut utilisé pendant longtemps au MIT comme support de cours pour le premier cours de programmation. https://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs
 +
 
 +
== Sources bibliographiques ==
 +
Nous avons piocher des informations entre-autre dans les ouvrages suivants:
  
==== Approfondissement avec Racket (http://fr.wikipedia.org/wiki/DrRacket) ====
+
=== Livres ===
; Date : Samedi 31 Janvier 2014, dès 14:00
+
* [https://mitpress.mit.edu/sicp/ Structure and Interpretation of computer programs] par Hal Abelson, Gerald Jay Sussman et Julie Sussman.
; Durée envisagée : 4h
+
* [http://programmer-avec-ocaml.lri.fr/ Apprendre à programmer avec OCaml] par Jean-Christophe Filliâtre et Sylvain Conchon.
; Animation : Darnuria (peut-être Leo)
+
* [http://deptinfo.unice.fr/~roy/PCPS/index.html Premiers cours de programmation en Scheme] par Jean-Paul Roy de l'université de Nice.
; Inscriptions : Inscrivez vous ici
+
  
 +
=== Vidéo ===
 +
* [https://www.youtube.com/watch?v=42GxCJB7IVw&list=PLBk_pGscJ8eOEksRRhoEroZjw88UOkLKE Vidéos du Mooc "Programmation Récursive"] par Christian Queinnec.
  
 
[[Category:Workshops]]
 
[[Category:Workshops]]
 
[[Category:Ateliers d'initiation]]
 
[[Category:Ateliers d'initiation]]

Latest revision as of 02:24, 15 February 2015

Introduction

L'objectif de cet atelier est de découvrir les bases de la programmation, c'est à dire le fait "d'apprendre" à faire des choses nouvelles à votre ordinateur.

L'atelier est fait pour des débutants souhaitant découvrir la programmation. Puisqu'il s'agit d'une initiation, aucune expérience en programmation n'est pré-requise, mais une bonne dose de curiosité est conseillée.

Il se déclinera en ateliers autour de Racket un langage possédant un environnement riche pour l'enseignement

Notez bien que l'on va faire de l'algorithmique au travers d'exemples ludiques et amusants. Et il s'avère que Racket est redoutable pour cela.

Description

Nous couvrirons différents aspects de la programmation, allant du simple affichage de « Bonjour » jusqu'à des programmes plus complexes.

Pour cela, après une rapide introduction sur les paradigmes et les langages de programmation, nous suivront le plan suivant:

  • L'écriture d'algorithmes :
    • Les bases de la syntaxe du langage
    • Le contrôle d'exécution
    • Les procédures et fonctions
    • La programmation itérative et récursive
  • La structures de données : listes, piles, dictionnaires, etc...

Si nous avons le temps, nous pourrons conclure l'atelier en travaillant sur un petit projet de code, tous en même temps.

Organisation

Pad 
https://lite5.framapad.org/p/Initiation_python_leloop
Document Scheme/Racket
https://github.com/Ateliers-programmation/Initiation-Racket/blob/master/introduction.md
Documents Python
https://github.com/ateliers-programmation-leloop-2015/python/blob/master/cours.md

Inscriptions

Vous pouvez nous rejoindre sans avoir fait les sessions précédentes mais lisez et travailler alors le -> document <-! Par respect pour les autres et pour arriver à nous suivre!

Framapad

https://framadate.org/ssnwo1rlx7jchsomgmig9l4e/admin

Session 03

Approfondissement en Scheme/Racket

Sujets
Retour sur la récursion terminale et simple, Listes sous forme d'exercices.
Date 
Samedi 21 Février 2015, dès 14:00 jusque à 18:00 avec une pause
Durée envisagée 
3h00
Animation 
Darnuria
Présents
TBD

Archives

Session 02

Initiation à Scheme/Racket

Sujets
Programmation fonctionnelle basique, Expressions, Opérateurs, Fonctions, fermetures ou clôtures lexicales et récursion
Date 
Samedi 14 Février 2015, dès 14:00 jusque à 18:00
Durée envisagée 
3h30
Animation 
Darnuria et Léo
Présents
7

Session 01

Exercices avec Python

Implémenter une calculatrice en notation postfixée
Date 
Mardi 03 Janvier 2014, dès 18:30
Durée envisagée 
3h30
Animation 
Darnuria et Leo`
Présents
6

Session 00

Découverte avec Python

Sujet
Expressions, Assignations, Fonctions, Récursion, Exercices sur les fractales.
Date 
Mardi 27 Janvier 2014, dès 18:30
Durée envisagée 
3h30
Animation 
Darnuria et Leo`
Présents
8

Références

Sources bibliographiques

Nous avons piocher des informations entre-autre dans les ouvrages suivants:

Livres

Vidéo