IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

avis cours python classe de seconde


Sujet :

Python

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Par défaut avis cours python classe de seconde
    Bonjour,
    Je suis prof de physique chimie en lycée, et dans le cadre de la rénovation de notre option scientifique et technique en classe de seconde, je voudrais initier les élèves à la POO et à apprendre Python (cela ne rentre dans aucun programme officiel, mais j'ai l'accord de ma proviseur et de mon inspecteur).
    Mon idée de base et d'éviter autant que possible les aspects techniques, en effet, je ne vais pas avoir en face de moi des gens forcement super motivés (dans un premier temps !), et il faut le plus rapidement possible que tout cela les "amuse".
    J'ai donc choisi, une fois les notions de bases acquisent (fonction, variable, classe, objet, méthode,if, while, dictionnaire et for in) de très rapidement passer à quelques choses de plus "ludique", et j'ai donc pensé à les initier à panda3D (le but est d'arriver à programmer un monde virtuel dans lequel on pourrait se déplacer (comme cela ils devront aussi apprendre les bases de Blender et de Gimp)). C'est donc déliberement que j'ai choisi de ne pas traiter les aspects liés à la programmation en mode console (je n'aborde pas le traitement des chaines de caractères, input,.......)
    J'ai commencé à rédiger mon cours (il me reste les dicos et for in à faire) sur python (pas encore sur panda3d, je suis encore en phase de découverte) et j'aimerai savoir si quelqu'un de la communauté serait prêt à me filer un coup de main, en relisant mon cours et en le critiquant. Je suis plutôt un newbie en python (je me forme tout seul en lisant des tutos et des livres ) et j'ai peur de donner de mauvaises habitudes de programmation à mes élèves(même si je le répete, ce n'est que de l'initiation).
    Voilà, j'attends vos réponses
    Merci d'avance
    David R

  2. #2
    Membre éprouvé
    Inscrit en
    Mars 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2003
    Messages : 127
    Par défaut
    Bonjour
    C'est une super initiative que tu fais la j'aurais bien aimé avoir ce genre de cour au lycée.
    Pour la critique de ton cour je pense que tu pourrais directement le mettre en partage sur forum avec une petit licence creative commun
    Ainsi tu aura plus de retour et plus d'évolution pour ton cour .

    Et merci de m'avoir fait découvrir panda3d ça me semble très puissant

    edit: j'espère que tu a beaucoup d'heure de cour que ça en fait des chose à voir déjà seulement pour s'initier à blender

  3. #3
    Membre confirmé Avatar de arnaudk
    Inscrit en
    Février 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 38
    Par défaut
    Salut,

    J'enseigne python depuis peu au lycée.

    Pour apprendre facilement Python regarde ces tutoriels et cours de formation Python : http://python.developpez.com/cours/


    Un excellent livre gratuit : Apprendre à programmer avec Python 3 par Gérard Swinnen http://python.developpez.com/cours/apprendre-python3/

  4. #4
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Je suis enseignant de Maths et ton projet m'intéresse énormément car je suis plus que convaincu de l'utilité d'apprendre à programmer avec Python.

    Je veux bien jouer les critiques et comme je ne connais rien à panda3D (mais je connais Python) je veux bien jouer les testeurs.

    Pour quand veux-tu finir ton cours ? C'est pour l'année prochaine j'imagine. Non ?

    Quant aux bonnes habitudes Python, je ne pense pas que ce soit le 1er objectif. Si déjà les élèves arrivent à faire quelques choses qui fonctionnent, tu pourras être satisfait.

    N'hésites surtout pas à me contacter par mail pour colaborer.

  5. #5
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Citation Envoyé par arnaudk Voir le message
    J'enseigne python depuis peu au lycée.
    J'avais cette idée moi aussi et de voir que cela se fait dans des Lycées, je vais concrétiser cela dès que possible. Chapeau les gars.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Par défaut
    J'ai oublié de dire que pédagogiquement, j'ai fait un choix un peu particulier, puisque j'ai décidé d'attaquer directement par la notion de classe et d'objet (avant même les if, while,....)
    j'ai déjà écrit 17 pages sur : les != types de langages, les variables, les fonctions, les classes (métodes+attributs), if else et while. Il me reste les notions de listes, dico et les boucles for. Ensuite j'attaquerai panda 3D (pour blender, un prof d'art plastique devrait intervenir devant les élèves). Bien sur, tout cela est prévu pour la rentrée 2009 (je signal d'ailleur, que cette partie programmation n'est qu'une partie de notre option qui comportera aussi une partie sur la construction d'un altimètre et une partie culture générale scientifique (histoire de la physique et des physiciens)).
    rambc, si tu es prof de maths en lycée, tu dois déjà savoir que le programme de seconde 2009 comporte une partie programmation ! (il n y a plus les vecteurs ???! mais ça, c'est un autre problème !)
    Je refais une lecture attentive de ce que j'ai déjà écrit et je le met en partage sur le forum dans quelques jours (en creative common)

  7. #7
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Citation Envoyé par dav74 Voir le message
    J'ai oublié de dire que pédagogiquement, j'ai fait un choix un peu particulier, puisque j'ai décidé d'attaquer directement par la notion de classe et d'objet (avant même les if, while,....)
    Tu peux faire de la POO sans le dire. Je pense qu'aborder cette notion directement dans des cas simples est bien, pour peu qu'on présente bien la chose.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Par défaut
    @rambc (et les autres) voir mon message édité ci-dessus

  9. #9
    Membre confirmé Avatar de arnaudk
    Inscrit en
    Février 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 38
    Par défaut
    Citation Envoyé par dav74 Voir le message
    rambc, si tu es prof de maths en lycée, tu dois déjà savoir que le programme de seconde 2009 comporte une partie programmation ! (il n y a plus les vecteurs ???! mais ça, c'est un autre problème !)
    Je crois que la discussion peut durer longtemps...je fais partie de la même catégorie.

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Par défaut
    Une première version est prête à être envoyée. Malheureusement, le fichier est trop gros pour être posté sur le forum, je l'enverrai donc en PJ à tous à ceux qui me donneront leur mail (en privé)
    merci d'avance pour votre aide

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Par défaut
    Pour recevoir le cours vous pouvez aussi m'envoyer directement un mail à :
    dav74130atlapostepointnet

  12. #12
    Membre éprouvé
    Inscrit en
    Mars 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2003
    Messages : 127
    Par défaut
    Voila une première critique sur ton cour ce sont des proposition bien sure.

    p4
    NB : Le « top du top » des langages est le C++, tout programmeur sérieux (professionnel) doit
    connaitre le C++, mais il est très difficile à apprendre (certains le disent trop près de la machine
    malgré sont statut de langage de haut niveau).
    C'est un gros troll dans un cour je dis ça je dis rien

    p7
    C'est grâce à cette tabulation (et au : après le nom de la fonction) que python est capable de
    différencier ce qui fait partie de la fonction et ce qui n'en fait pas partie
    Il est conseillé dans python d'utiliser les espaces à la place de la tabulation (mais biensure les éditeur de text moderne peuvent remplacer les tabulation par 4 espaces par exemple)

    Dans les exemples de code, je pense qu'il faudrait colorier les mot clé def, if , class ....

    Pour la programmation objet en python il est peut être conseillé d'utiliser "new class type" (utilisé par défaut dans python3.0 si je me trompe pas )qui est de la forme
    class NomDeLaClass(object):
    pour utiliser les fonctionnalités tel que
    -Properties
    -Static Methods
    -Class Methods
    -Descriptor
    ...
    plus d'info
    http://www.geocities.com/foetsch/pyt...le_classes.htm
    pour bien voir les différence voila les méthode par défaut pour "old class type"
    ['__doc__', '__module__']
    et pour new class type
    ['__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__']


    Peut être montrer le retour de la fonction hash() qui permet de voir la référence de l'instance ça permet de bien montrer que les deux instances sont bien différente.

    Même si python a un typage dynamique il serait peut étre bien de donner les base integer,double,string,boolean...

    Je relis plus tard pour voir si j'ai d'autre idée ah oui je pense que tu devrais mettre plus de partie et de sous partie.

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Par défaut
    Bonsoir et merci pour tes conseils

    Citation Envoyé par Tyrus Voir le message
    Voila une première critique sur ton cour ce sont des proposition bien sure.

    p4


    C'est un gros troll dans un cour je dis ça je dis rien
    Mouais, c'est vrai que cela fait un peu troll, mais bon, aujourd'hui, connais tu une seule filière d'étude d'info qui ne fait pas de C++ ??? (c'est juste une constatation pas un jugement ! Cela peut changer dans l'avenir !)

    Citation Envoyé par Tyrus Voir le message
    p7


    Il est conseillé dans python d'utiliser les espaces à la place de la tabulation (mais biensure les éditeur de text moderne peuvent remplacer les tabulation par 4 espaces par exemple)
    je vais changer cela !

    Citation Envoyé par Tyrus Voir le message
    Dans les exemples de code, je pense qu'il faudrait colorier les mot clé def, if , class ....
    bonne idée

    Citation Envoyé par Tyrus Voir le message
    Pour la programmation objet en python il est peut être conseillé d'utiliser "new class type" (utilisé par défaut dans python3.0 si je me trompe pas )qui est de la forme
    class NomDeLaClass(object):
    pour utiliser les fonctionnalités tel que
    -Properties
    -Static Methods
    -Class Methods
    -Descriptor
    ...
    plus d'info
    http://www.geocities.com/foetsch/pyt...le_classes.htm
    pour bien voir les différence voila les méthode par défaut pour "old class type"
    ['__doc__', '__module__']
    et pour new class type
    ['__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__']


    Peut être montrer le retour de la fonction hash() qui permet de voir la référence de l'instance ça permet de bien montrer que les deux instances sont bien différente.
    J'avoue, python 3.0 connait pas du tout ! A voir donc


    Citation Envoyé par Tyrus Voir le message
    Même si python a un typage dynamique il serait peut étre bien de donner les base integer,double,string,boolean...
    J'hésite depuis le début (je ne veux pas surcharger trop leurs cerveaux !!), si à un moment donné je me retrouve coincé à cause de cela, je rajouterai quelques lignes la-dessus !

    Citation Envoyé par Tyrus Voir le message
    Je relis plus tard pour voir si j'ai d'autre idée ah oui je pense que tu devrais mettre plus de partie et de sous partie.
    C'est prévu (pour l'instant c'est une espèce de brouillon !)

    Comment trouves tu l'idée de commencer par la POO ?
    Mes exemples sont ils parlant ?
    As tu vu des fautes de programmation ?
    Vois tu des choses à absolument rajouter ? (à part le typage)

    Encore merci et n'hésite pas si tu vois autres choses
    DR

  14. #14
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Par défaut
    bonjour,

    très belle initiative, ça m'aurait fait plaisir d'avoir un cours comme ça en seconde .

    juste pour info, le "new style object" dont parle Tyrus n'est pas une spécificité de la v3.0.

    je crois qu'il est implémenté depuis la 2.2. j'utilise python 2.4 et 2.5 et j'utilise toujours ce "new style object".

    il n'y a aucun inconvénient à l'utiliser, il te suffit de rajouter object comme base pour une classe. Et ce n'est pas la peine de le rajouter en cas d'héritage:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    class Toto(object)
        pass
    class Titi(Toto)
        pass
    en v3, je crois que ce n'est plus la peine de mettre "objet", python le fait par défaut.

  15. #15
    Membre éprouvé
    Inscrit en
    Mars 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2003
    Messages : 127
    Par défaut
    Comme le dis kango new style class est déja une ancienne fonctionnalité
    j'ai regardé un peu des exemple de code python pour panda3d par exemple
    http://www.google.com/codesearch/p?h...hon%20property
    (très pratique codesearch )
    Il utilise le new style class

    Sinon j'ai pensé que tu devrais donner des exemples de programme fait en python

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Par défaut
    Ok, merci à tous les deux, je vais modifier et mettre les "new style object" dans la version 0.2
    DR

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Par défaut
    Le cours sur python est terminé (reste à faire la partie sur panda3D)
    ceux qui veulent une copie vous pouvez m'envoyer un mail :
    dav74130atlapostepointnet

  18. #18
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Aurais-tu un embryon pour panda3d car je suis impatient d'essayer depuis que j'ai vu plein de pandas sur la place des Terreaux à Lyon ?

    La demande est sérieuse.

  19. #19
    Membre éprouvé
    Inscrit en
    Mars 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2003
    Messages : 127
    Par défaut
    Voila mon avis
    Je pense qu'il faut dire qu'une variable est constitué de 3 chose
    valeur
    nom
    et type

    p9 on peux aussi utiliser * pour répéter une chaine de caractère mais c'est peut être pas utile

    je ne crois pas que tu a définie que le signe sert pour transformer une ligne en commentaire
    et il est important d'expliquer 'utilité des commentaires et aussi des doc string
    Peut être parler aussi de la possibilité de rentrer les variable des fonctions sous la forme suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>> def test(a,b):
    ...     print a + b 
    ... 
    >>> test(4,5)
    9
    >>> test(b=4,a =5)
    9
    >>>
    L'intérêt avoir des paramètre optionnel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>> def test(a,b,c=7):
    ...     print a + b + c
    ... 
    >>> test(2,3)
    12
    >>> test(c =2,a =3,b=2)
    7
    >>>
    edit : je viens de voir que tu en parle dans la page 21

    Je pense qu'il faut dire que la méthode __init__ est définie par le langage de programmation ainsi que toutes les méthode entouré de deux _

    Il manque une explication sur qu'est ce qui est vrai ou faux dans python ?
    Par exemple
    il est possible d'écrire ce code mais c'est pas très pythonique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    >>> a  = ""
    >>> if len(a) == 0:
    ...     print "C'est vrai"
    ... else:
    ...     print "c'est faux"
    ... 
    C'est vrai
    >>> 
    mais avec la définition des booleans dans python on peux faire ça
    >>> if a:
    ...     print "c'est vrai"
    ... else:
    ...     print "c'est faux"
    ... 
    c'est faux
    Bon c'est peut étre pas une bonne idée de montrer ça dés le début ..


    Ah aussi une partie sur deux trois truc bien utile surtout quand on est dans le shell de python
    par exemple la commande dir() très utile
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> a
    ['a', 'j', 'l']
    >>> dir(a)
    ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__str__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
    >>>
    et voila la liste des méthodes pour les listes

    l'autre commande bien utile
    qui permet d'afficher les docstring pour chaque méthode

    Ah encore un truc, il serait bien d'expliquer les lists compréhensions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> [s.upper() for s in a]
    ['A', 'J', 'L']
    >>>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> [s.upper() for s in a if s != "j"]
    ['A', 'L']
    >>>
    et un peu de lecture
    http://www.biologeek.com/bonnes-prat...stuces-python/
    Voila mon petit avis

    Bon courage pour la suite

  20. #20
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    Je trouve personnellement que zapper la console interactive est très dommage :définir une fonction depuis la console interactive, puis l'appeler est je trouve, plus marquant, surtout si l'on continue avec des contre-exemples (ce qui ne fonctionne pas); avec la console interactive c'est rapide, et on a une réponse immédiate de la machine, alors qu'avec un script, faut printer, analyser la sortie, retrouver les erreurs si il y en a eu etc... Je pense vraiment qu'au début, la console interactive est innestimable (elle l'a été pour moi de nombreuses fois, surtout pour parfaire la maitrise des listes, voir leur contenu etc... Encore maintenant pour tester certaines possibilités, mais surtout apprendre de nouveaux concepts...

Discussions similaires

  1. [php5] Votre avis sur ma classe Template
    Par cahnory dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 31/01/2009, 17h35
  2. Probleme cour python
    Par mali_67 dans le forum Tkinter
    Réponses: 21
    Dernier message: 16/04/2008, 14h58
  3. Votre avis diagramme de classe
    Par nicocsgamer dans le forum Diagrammes de Classes
    Réponses: 3
    Dernier message: 04/10/2006, 18h44
  4. Réponses: 13
    Dernier message: 21/07/2005, 12h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo