Expérience enseignement 1er cycle universitaire

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Expérience enseignement 1er cycle universitaire

Daniel Marre
Bonjour,

Novice dans l'utilisation de Squeak, je suis à la recherche de retours
d'utilisations de Squeak pour l'enseignement de l'informatique en 1er
cycle universitaire (L1 -L3, DUT, BTS etc)

Merci par avance de vos retours, adresses et suggestions me permettant
d'avancer.

Cordialement.

DM.

--

Daniel Marre

Maître de Conférences en Informatique
INSA - DGEI                       www.insa-toulouse.fr
125 AV. de Rangueil - 31077     - Toulouse (France)
[hidden email]     (33) 5.61.55.98.08


_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Expérience enseignement 1er cycle universitaire

Serge Stinckwich-4

Le 3 juil. 07 à 11:30, Daniel Marre a écrit :

> Bonjour,
>
> Novice dans l'utilisation de Squeak, je suis à la recherche de  
> retours d'utilisations de Squeak pour l'enseignement de  
> l'informatique en 1er cycle universitaire (L1 -L3, DUT, BTS etc)
>
> Merci par avance de vos retours, adresses et suggestions me  
> permettant d'avancer.
>

Bonjour Daniel,
j'enseigne Smalltalk depuis quelques années au S1 en 1ière année  
d'IUT Informatique et j'utilise pour cela Squeak.
Il s'agit d'un enseignement d'introduction à la programmation objet,  
avant de passer à un langage "plus professionnel".
Il ne s'agit pas d'étudier en détail les spécificités de Squeak, ni  
des EToys, mais d'introduire les bases de la POO : objet,  
encapsulation, envoi de messages, classes, héritage, composition, ...

Mon retour d'expérience en bref :
- les plus : cela permet d'introduire les concepts de la POO sans  
être avoir de pollution externe par le langage (comme en Java ou C+
+), les aspects multi-médias de Squeak peuvent être un moteur pour  
les éudiants qui veulent aller plus loin.

- les moins : les étudiants ressentent parfois Squeak comme un  
environnement fragile (facile à planter) mais cela est souvent du à  
une mauvaise connaissance de leur part (ils ne savent pas comment  
arrêter une boucle infinie) ou alors une configuration locale de nos  
machines (bug lié au son sous Linux qui fait freezer Squeak par  
exemple), les étudiants (ou les collègues, encore pire qu'eux!)  
souhaitent utiliser un langage professionnel (i.e pour eux cela veux  
dire : Java, le marketing est déjà à l'oeuvre même en première  
année !), difficulté à trouver des vacataires motivés pour faire  
autre chose que du Java ...

Peux tu nous en dire un peu plus sur ta recherche ? Quels sont tes  
besoins ?

Cordialement,
--                                                         oooo
Dr. Serge Stinckwich                                     OOOOOOOO
Université de Caen>CNRS UMR 6072>GREYC>MAD               OOESUGOO
                                                           oooooo
Smalltalkers do: [:it | All with: Class, (And love: it)]   \  /
                                                             ##



_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Re: Expérience enseignement 1er cycle universitaire

jchauvea
En effet, ayant personnellement suivi les cours de Serge Stinckwich à l'IUT,
de nombreux étudiants voient l'apprentissage par Squeak comme quelque chose
de négatif au premier abord. Pour ceux qui prennent la peine de l'utiliser
sérieusement et de s'y intéresser un minimum, leurs préjugés s'avèrent
rapidement faux. Pour ma part, j'ai trouvé que cette étape aidait vraiment à
la compréhension et à l'apprentissage des principes de la POO.

Jérôme.


Serge Stinckwich a écrit:

>
> Le 3 juil. 07 à 11:30, Daniel Marre a écrit :
>
>> Bonjour,
>>
>> Novice dans l'utilisation de Squeak, je suis à la recherche de  retours
>> d'utilisations de Squeak pour l'enseignement de  l'informatique en 1er
>> cycle universitaire (L1 -L3, DUT, BTS etc)
>>
>> Merci par avance de vos retours, adresses et suggestions me  permettant
>> d'avancer.
>>
>
> Bonjour Daniel,
> j'enseigne Smalltalk depuis quelques années au S1 en 1ière année  d'IUT
> Informatique et j'utilise pour cela Squeak.
> Il s'agit d'un enseignement d'introduction à la programmation objet,
> avant de passer à un langage "plus professionnel".
> Il ne s'agit pas d'étudier en détail les spécificités de Squeak, ni  des
> EToys, mais d'introduire les bases de la POO : objet,  encapsulation,
> envoi de messages, classes, héritage, composition, ...
>
> Mon retour d'expérience en bref :
> - les plus : cela permet d'introduire les concepts de la POO sans  être
> avoir de pollution externe par le langage (comme en Java ou C+ +), les
> aspects multi-médias de Squeak peuvent être un moteur pour  les éudiants
> qui veulent aller plus loin.
>
> - les moins : les étudiants ressentent parfois Squeak comme un
> environnement fragile (facile à planter) mais cela est souvent du à  une
> mauvaise connaissance de leur part (ils ne savent pas comment  arrêter une
> boucle infinie) ou alors une configuration locale de nos  machines (bug
> lié au son sous Linux qui fait freezer Squeak par  exemple), les étudiants
> (ou les collègues, encore pire qu'eux!)  souhaitent utiliser un langage
> professionnel (i.e pour eux cela veux  dire : Java, le marketing est déjà
> à l'oeuvre même en première  année !), difficulté à trouver des vacataires
> motivés pour faire  autre chose que du Java ...
>
> Peux tu nous en dire un peu plus sur ta recherche ? Quels sont tes
> besoins ?
>
> Cordialement,
> --                                                         oooo
> Dr. Serge Stinckwich                                     OOOOOOOO
> Université de Caen>CNRS UMR 6072>GREYC>MAD               OOESUGOO
>                                                           oooooo
> Smalltalkers do: [:it | All with: Class, (And love: it)]   \  /
>                                                             ##
>
>
>
> _______________________________________________
> Squeak-fr mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr


_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Expérience enseignement 1er cycle universitaire

stephane ducasse
In reply to this post by Daniel Marre
J'ai enseigne Squeak en premier cycle suisse et cela marche tres bien.
Je peux donner mes supports de cours et exercices.
En plus il y a le bouquin en francais sur squeak donc :)

Stef

On 3 juil. 07, at 11:30, Daniel Marre wrote:

> Bonjour,
>
> Novice dans l'utilisation de Squeak, je suis à la recherche de  
> retours d'utilisations de Squeak pour l'enseignement de  
> l'informatique en 1er cycle universitaire (L1 -L3, DUT, BTS etc)
>
> Merci par avance de vos retours, adresses et suggestions me  
> permettant d'avancer.
>
> Cordialement.
>
> DM.
>
> --
>
> Daniel Marre
>
> Maître de Conférences en Informatique
> INSA - DGEI                       www.insa-toulouse.fr
> 125 AV. de Rangueil - 31077     - Toulouse (France)
> [hidden email]     (33) 5.61.55.98.08
> _______________________________________________
> Squeak-fr mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Expérience enseignement 1er cycle universitaire

stephane ducasse
In reply to this post by Serge Stinckwich-4
tu peux aussi utiliser Visualworks mais c'est moins fun.
Je pense que pedagogiquement Smalltalk est largement superieur a Java  
ou C++ car on apprend des concepts
et pas de la syntaxe.
Apres les gens s'attachent aux apparences mais mon discours est le  
suivant:
        un programmeur indien coute 3 fois moins cher et bosse parfois 70  
heures par semaine
        donc si je perds mon temps avec la syntaxe ben ou a tous perdu

        maintenant c;est important de voir java aussi.

Le probleme d'utiliser Smalltalk en premier cycle n'est pas Smalltalk  
mais la conception objet.
Les etudiants ont souvent un mal enorme a comprendre ce qu'est un objet.
Smalltalk avec sa metaphor
        envoie de message, syntax avec des args au milieu (on parle petit  
negre aux objects)
        inspector pour communiquer directeemtn avec des objets

Par exemple, j'ai demande en entretien de M2 a des etudiants qui ont  
"appris Java" la difference entre heritage
et composition et souvent on pourrait mourrir de rire.

Autre question qui tue:
expliquer ce qu'est l'envoi de message en Java avec presence  
d'overloading, (2 classes, deux methodes, 2 instances).
je pense que meme les collegues de serge peuvent rester bouche bee ou  
totalement faux.

Un etudiant de 5 annee bon en C++ m'a dit un jour qu'il avait compris  
l'objet grace a un cours facultatif en Smalltalk
grace a l'inspecteur...

Sinon un etudiant de M1 (assez bon) qui pensait avoir compris le  
lookup et qui a fait faux sur l'explication de

Box class>> new
       
        |inst|
        inst := super new.
        inst initialize.
        ^ inst

m'a dit avoir enfin compris la creation d'objet, self et le lookup de  
methode :)

comme quoi

Stef


On 3 juil. 07, at 12:24, Serge Stinckwich wrote:

>
> Le 3 juil. 07 à 11:30, Daniel Marre a écrit :
>
>> Bonjour,
>>
>> Novice dans l'utilisation de Squeak, je suis à la recherche de  
>> retours d'utilisations de Squeak pour l'enseignement de  
>> l'informatique en 1er cycle universitaire (L1 -L3, DUT, BTS etc)
>>
>> Merci par avance de vos retours, adresses et suggestions me  
>> permettant d'avancer.
>>
>
> Bonjour Daniel,
> j'enseigne Smalltalk depuis quelques années au S1 en 1ière année  
> d'IUT Informatique et j'utilise pour cela Squeak.
> Il s'agit d'un enseignement d'introduction à la programmation  
> objet, avant de passer à un langage "plus professionnel".
> Il ne s'agit pas d'étudier en détail les spécificités de Squeak, ni  
> des EToys, mais d'introduire les bases de la POO : objet,  
> encapsulation, envoi de messages, classes, héritage, composition, ...
>
> Mon retour d'expérience en bref :
> - les plus : cela permet d'introduire les concepts de la POO sans  
> être avoir de pollution externe par le langage (comme en Java ou C+
> +), les aspects multi-médias de Squeak peuvent être un moteur pour  
> les éudiants qui veulent aller plus loin.
>
> - les moins : les étudiants ressentent parfois Squeak comme un  
> environnement fragile (facile à planter) mais cela est souvent du à  
> une mauvaise connaissance de leur part (ils ne savent pas comment  
> arrêter une boucle infinie) ou alors une configuration locale de  
> nos machines (bug lié au son sous Linux qui fait freezer Squeak par  
> exemple), les étudiants (ou les collègues, encore pire qu'eux!)  
> souhaitent utiliser un langage professionnel (i.e pour eux cela  
> veux dire : Java, le marketing est déjà à l'oeuvre même en première  
> année !), difficulté à trouver des vacataires motivés pour faire  
> autre chose que du Java ...
>
> Peux tu nous en dire un peu plus sur ta recherche ? Quels sont tes  
> besoins ?
>
> Cordialement,
> --                                                         oooo
> Dr. Serge Stinckwich                                     OOOOOOOO
> Université de Caen>CNRS UMR 6072>GREYC>MAD               OOESUGOO
>                                                           oooooo
> Smalltalkers do: [:it | All with: Class, (And love: it)]   \  /
>                                                             ##
>
>
>
> _______________________________________________
> Squeak-fr mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Expérience enseignement 1er cycle universitaire

Serge Stinckwich-4

Le 3 juil. 07 à 20:14, stephane ducasse a écrit :

> tu peux aussi utiliser Visualworks mais c'est moins fun.
> Je pense que pedagogiquement Smalltalk est largement superieur a  
> Java ou C++ car on apprend des concepts
> et pas de la syntaxe.
> Apres les gens s'attachent aux apparences mais mon discours est le  
> suivant:
> un programmeur indien coute 3 fois moins cher et bosse parfois 70  
> heures par semaine
> donc si je perds mon temps avec la syntaxe ben ou a tous perdu
>
> maintenant c;est important de voir java aussi.
>
> Le probleme d'utiliser Smalltalk en premier cycle n'est pas  
> Smalltalk mais la conception objet.
> Les etudiants ont souvent un mal enorme a comprendre ce qu'est un  
> objet.
> Smalltalk avec sa metaphor
> envoie de message, syntax avec des args au milieu (on parle petit  
> negre aux objects)
> inspector pour communiquer directeemtn avec des objets

Oui, on fait maintenant quasiment que de l'objet en IUT. La notion  
d'objet n'est pas si simple à comprendre.
Avant je faisais un peu de programmation fonctionnelle. Cela manque  
peut-être un peu maintenant.

> Par exemple, j'ai demande en entretien de M2 a des etudiants qui  
> ont "appris Java" la difference entre heritage
> et composition et souvent on pourrait mourrir de rire.
>
> Autre question qui tue:
> expliquer ce qu'est l'envoi de message en Java avec presence  
> d'overloading, (2 classes, deux methodes, 2 instances).
> je pense que meme les collegues de serge peuvent rester bouche bee  
> ou totalement faux.
>

C'est quoi la question, je vois pas ce qui est difficile ;-)

A+
--                                                         oooo
Dr. Serge Stinckwich                                     OOOOOOOO
Université de Caen>CNRS UMR 6072>GREYC>MAD               OOESUGOO
                                                           oooooo
Smalltalkers do: [:it | All with: Class, (And love: it)]   \  /
                                                             ##



_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Expérience enseignement1er cycle universitaire

Hilaire Fernandes-2
In reply to this post by jchauvea
[hidden email] a écrit :
> En effet, ayant personnellement suivi les cours de Serge Stinckwich à
> l'IUT, de nombreux étudiants voient l'apprentissage par Squeak comme
> quelque chose de négatif au premier abord. Pour ceux qui prennent la



> peine de l'utiliser sérieusement et de s'y intéresser un minimum, leurs

J'aime ce texte "Beat the average", (http://www.paulgraham.com/avg.html).
Seulement une petite partie comprendront et en tirerons d'importants
bénéfices, les autres resteront dans la médiocrité (au sens médian du
terme). C'est normal.

Hilaire




_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr

cd40.tice.vcf (411 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Expérience enseignement1er cycle universitaire

Serge Stinckwich-4

Le 4 juil. 07 à 09:02, Hilaire Fernandes a écrit :

> [hidden email] a écrit :
>> En effet, ayant personnellement suivi les cours de Serge  
>> Stinckwich à l'IUT, de nombreux étudiants voient l'apprentissage  
>> par Squeak comme quelque chose de négatif au premier abord. Pour  
>> ceux qui prennent la
>
>
>
>> peine de l'utiliser sérieusement et de s'y intéresser un minimum,  
>> leurs
>
> J'aime ce texte "Beat the average", (http://www.paulgraham.com/ 
> avg.html).
> Seulement une petite partie comprendront et en tirerons  
> d'importants bénéfices, les autres resteront dans la médiocrité (au  
> sens médian du terme). C'est normal.
>

Sauf que c'est un peu déprimant pour l'enseignant :-(

--                                                         oooo
Dr. Serge Stinckwich                                     OOOOOOOO
Université de Caen>CNRS UMR 6072>GREYC>MAD               OOESUGOO
                                                           oooooo
Smalltalkers do: [:it | All with: Class, (And love: it)]   \  /
                                                             ##



_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Expérience enseignement1er cycle universitaire

bernard_notarianni
On 7/4/07, Serge Stinckwich <[hidden email]> wrote:

>
> Le 4 juil. 07 à 09:02, Hilaire Fernandes a écrit :
>
> > [hidden email] a écrit :
> >> En effet, ayant personnellement suivi les cours de Serge
> >> Stinckwich à l'IUT, de nombreux étudiants voient l'apprentissage
> >> par Squeak comme quelque chose de négatif au premier abord. Pour
> >> ceux qui prennent la
> >
> >
> >
> >> peine de l'utiliser sérieusement et de s'y intéresser un minimum,
> >> leurs
> >
> > J'aime ce texte "Beat the average", (http://www.paulgraham.com/
> > avg.html).
> > Seulement une petite partie comprendront et en tirerons
> > d'importants bénéfices, les autres resteront dans la médiocrité (au
> > sens médian du terme). C'est normal.
> >
>
> Sauf que c'est un peu déprimant pour l'enseignant :-(
>
> --                                                         oooo
> Dr. Serge Stinckwich                                     OOOOOOOO
> Université de Caen>CNRS UMR 6072>GREYC>MAD               OOESUGOO
>                                                            oooooo
> Smalltalkers do: [:it | All with: Class, (And love: it)]   \  /
>                                                              ##
>

Je ne suis pas enseignant mais je travaille quotidiennement avec des
équipes qui développent des applications en entreprises, en Java, C#
et parfois même en C++. Il s'agit de personnes ayant entre 0 et 10 ans
d'expériences en entreprises.

J'ai sincèrement le sentiment que 97% d'entre elles n'ont pas compris
ce qu'est la POO. Pour être bonnète, j'ai moi mêmes compris la POO
lorsque je me suis intéressé à Smalltalk il n'y a pas si longtemps que
ca.

Le résultat est assez désastreux en terme de design et de
maintenabilité des applications produites. Quasiment tout le monde
code "the J2EE way", en empilant des couches passe-plats. Pour la
plupart des développeurs, objet est synonymes de DTO (ou bean dans le
monde Java): des propriétés rassemblées au sein d'une classe avec
uniquement des getters setters et aucun traitements. Ils placent les
traitements dans ce qu'ils appellent des "services", c'est à dire des
classes stateless comportant essentiellement des méthodes statiques.
Ca donnent des paquets de "ServicesBidules", "ServiceShmoll" ou
"MachinHelper", dont certains atteignent les 1500 lignes de code dans
la même classe.

Autre pattern que j'observe souvent: le singleton. Il leur semble
souvent plus simple de créer toute une palettes de singleton contenant
leurs DTO, pour que les multiples couches de services/helper qu'ils
empilent puissent y accéder et les modifier plus facilement.

Bref, en résumé, ils codent en Java/C# comme en COBOL.

J'avoue qu'il est parfois frustrant de travailler dans ces contextes.


Par ailleurs, j'ai eu la chance depuis quelques mois de travailler
avec une équipes jeunes, sur un projet XP que je coach. J'ai vu
l'équipe avoir envie de sortir de ces poncifs Java et lutter contre
les "architectes J2EE" pour parvenir à imposer un design plus objet.

Ces développeurs sortaient d'une école où l'on enseigne la POO avec Smalltalk.

Je peux vous garantir que l'on voyait clairement la différence entre
eux et ceux qui n'avait pas suivi le même enseignement.
_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Expérience enseignement1er cycle universitaire

stephane ducasse
pour le singleton je pense que tres peu de gens ont compris la  
difference entre acces et temporalite.
Un singleton est pour exprimer une temporalite.
Si on peut simplement en ajoutant une reference a un objet se passer  
d'un singleton alors on en a pas besoin.
(ca c'est l'acce)
Par contre si ajuter une reference ne resoud pas le probleme alors  
c'est l\aspect temporel: on a un objet unique
a la fois.

Mais bon c'est subtile :)

Stef

On 7 juil. 07, at 18:23, Bernard Notarianni wrote:

> On 7/4/07, Serge Stinckwich <[hidden email]> wrote:
>>
>> Le 4 juil. 07 à 09:02, Hilaire Fernandes a écrit :
>>
>> > [hidden email] a écrit :
>> >> En effet, ayant personnellement suivi les cours de Serge
>> >> Stinckwich à l'IUT, de nombreux étudiants voient l'apprentissage
>> >> par Squeak comme quelque chose de négatif au premier abord. Pour
>> >> ceux qui prennent la
>> >
>> >
>> >
>> >> peine de l'utiliser sérieusement et de s'y intéresser un minimum,
>> >> leurs
>> >
>> > J'aime ce texte "Beat the average", (http://www.paulgraham.com/
>> > avg.html).
>> > Seulement une petite partie comprendront et en tirerons
>> > d'importants bénéfices, les autres resteront dans la médiocrité (au
>> > sens médian du terme). C'est normal.
>> >
>>
>> Sauf que c'est un peu déprimant pour l'enseignant :-(
>>
>> --                                                         oooo
>> Dr. Serge Stinckwich                                     OOOOOOOO
>> Université de Caen>CNRS UMR 6072>GREYC>MAD               OOESUGOO
>>                                                            oooooo
>> Smalltalkers do: [:it | All with: Class, (And love: it)]   \  /
>>                                                              ##
>>
>
> Je ne suis pas enseignant mais je travaille quotidiennement avec des
> équipes qui développent des applications en entreprises, en Java, C#
> et parfois même en C++. Il s'agit de personnes ayant entre 0 et 10 ans
> d'expériences en entreprises.
>
> J'ai sincèrement le sentiment que 97% d'entre elles n'ont pas compris
> ce qu'est la POO. Pour être bonnète, j'ai moi mêmes compris la POO
> lorsque je me suis intéressé à Smalltalk il n'y a pas si longtemps que
> ca.
>
> Le résultat est assez désastreux en terme de design et de
> maintenabilité des applications produites. Quasiment tout le monde
> code "the J2EE way", en empilant des couches passe-plats. Pour la
> plupart des développeurs, objet est synonymes de DTO (ou bean dans le
> monde Java): des propriétés rassemblées au sein d'une classe avec
> uniquement des getters setters et aucun traitements. Ils placent les
> traitements dans ce qu'ils appellent des "services", c'est à dire des
> classes stateless comportant essentiellement des méthodes statiques.
> Ca donnent des paquets de "ServicesBidules", "ServiceShmoll" ou
> "MachinHelper", dont certains atteignent les 1500 lignes de code dans
> la même classe.
>
> Autre pattern que j'observe souvent: le singleton. Il leur semble
> souvent plus simple de créer toute une palettes de singleton contenant
> leurs DTO, pour que les multiples couches de services/helper qu'ils
> empilent puissent y accéder et les modifier plus facilement.
>
> Bref, en résumé, ils codent en Java/C# comme en COBOL.
>
> J'avoue qu'il est parfois frustrant de travailler dans ces contextes.
>
>
> Par ailleurs, j'ai eu la chance depuis quelques mois de travailler
> avec une équipes jeunes, sur un projet XP que je coach. J'ai vu
> l'équipe avoir envie de sortir de ces poncifs Java et lutter contre
> les "architectes J2EE" pour parvenir à imposer un design plus objet.
>
> Ces développeurs sortaient d'une école où l'on enseigne la POO avec  
> Smalltalk.
>
> Je peux vous garantir que l'on voyait clairement la différence entre
> eux et ceux qui n'avait pas suivi le même enseignement.
> _______________________________________________
> Squeak-fr mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Expérience enseignement1er cycle universitaire

Valentin Guerlesquin
In reply to this post by bernard_notarianni
Bonjour à tous,

Je me permet de prendre part à la discussion pour exprimer le point de vue de l'étudiant que je suis :-)

J'ai touché la première fois à Smalltalk en 2ème année de licence à l'université, avec VisualWorks. J'ai les premiers mois été vraiment dérouté par ce langage, car j'étais plutôt C-Oriented auparavant.
L'idée de programmer dans un browser apparaissait comme une hérésie, tout vi-addict que j'étais.
D'autre part, je n'avais jamais fait d'objet avant (avant la fac, j'ai fais 3 ans dans une école d'ingénieurs).

Une équipe utilise ce langage au sein de son laboratoire, et l'utilise comme support pour l'enseignement. Les sujets abordés par le biais de ce langage passent par les concepts de la programmation objet, les IHM, mais aussi les patrons de conception.

La population à l'université est très hétérogène, notamment du point de vue du parcours des étudiants. Mes camarades de promo, dans une majorité plutôt large, n'ont que faire de Smalltalk. Ils veulent tous faire du Java ou du .Net, parce que, à regarder les offres d'emploi actuelles, c'est ce qui revient. L'approche est pragmatique, et cherche le bénéfice immédiat : la ligne sur le CV. Mais une grande question se pose alors : l'université est elle là pour former du pisseur de code, ou bien pour donner des clés à un esprit capable de les utiliser ?
Cependant, en prenant "un peu" de recul, on comprends bien que le langage importe peu, et que les concepts (la programmation séquentielle, objet, ...) prévalent. 

Avec ce recul donc (j'approche de la quille ;) ), je penses que le choix de Smalltalk, langage purement objet, est sans doute plus pertinent que le C++, ou le Java. Le C++ pêche sans doute par son "héritage" (historique) au C, au même titre que Java  vis à vis de l'ensembles des langages aînés : l'un des pré-requis pour apprendre C++ ou Java, c'est le C (ou un langage approchant).
Ce dont parle Bernard, je le retrouve dans les rangs de mes camarades : des méthodes à rallonge, frisant les plusieurs dizaines de ligne de code (ce qui, en Smalltalk, craint un peu, non ?)
Et le pire, c'est que la majorité d'entre eux (l'immense majorité, même), est FIERE d'avoir écrit tant de code. Ce comportement, je le retrouve certes à l'université, mais aussi chez mes anciens camarades d'école d'ingénieur (qui me regardent d'un oeil bizarre lorsque je leur parle de composite, visiteur, singleton ...)

Bref, tout ça pour dire que, de mon point de vue d'étudiant, Smalltalk est sans doutes un excellent langage pour l'enseignement de la POO. Surtout lorsque celui ci est réalisé par des personnes compétentes et motivées (suivez mon regard :-). Quand à savoir si Squeak s'y prête bien, je ne peux le dire : j'ai appris sur Visualworks. Cependant, on retrouve dans ces deux environnements des browser, des debbugers, et divers outils franchement sympathiques. Je regrette peut être l'aspect graphique de Squeak, qui fait peut être un peu "jouet" aux yeux d'un étudiant : celui ci n'a en général, jamais entendu parler de Smalltalk (sauf si c'est un abonné de GLMF, n'est-ce pas Serge, Stéphane, Hilaire ... ;-). Cumulé à cela, l'aspect joue sans doute en défaveur de l'environnement. Mais cela ne dure peut-être qu'un temps ?

J'espères sincèrement que cette avis vous permettra de prendre une décision adaptée.

Valentin


Le 7 juil. 07 à 18:23, Bernard Notarianni a écrit :

On 7/4/07, Serge Stinckwich <[hidden email]> wrote:

Le 4 juil. 07 à 09:02, Hilaire Fernandes a écrit :

> [hidden email] a écrit :
>> En effet, ayant personnellement suivi les cours de Serge
>> Stinckwich à l'IUT, de nombreux étudiants voient l'apprentissage
>> par Squeak comme quelque chose de négatif au premier abord. Pour
>> ceux qui prennent la
>
>
>
>> peine de l'utiliser sérieusement et de s'y intéresser un minimum,
>> leurs
>
> J'aime ce texte "Beat the average", (http://www.paulgraham.com/
> avg.html).
> Seulement une petite partie comprendront et en tirerons
> d'importants bénéfices, les autres resteront dans la médiocrité (au
> sens médian du terme). C'est normal.
>

Sauf que c'est un peu déprimant pour l'enseignant :-(

--                                                         oooo
Dr. Serge Stinckwich                                     OOOOOOOO
Université de Caen>CNRS UMR 6072>GREYC>MAD               OOESUGOO
                                                           oooooo
Smalltalkers do: [:it | All with: Class, (And love: it)]   \  /
                                                             ##


Je ne suis pas enseignant mais je travaille quotidiennement avec des
équipes qui développent des applications en entreprises, en Java, C#
et parfois même en C++. Il s'agit de personnes ayant entre 0 et 10 ans
d'expériences en entreprises.

J'ai sincèrement le sentiment que 97% d'entre elles n'ont pas compris
ce qu'est la POO. Pour être bonnète, j'ai moi mêmes compris la POO
lorsque je me suis intéressé à Smalltalk il n'y a pas si longtemps que
ca.

Le résultat est assez désastreux en terme de design et de
maintenabilité des applications produites. Quasiment tout le monde
code "the J2EE way", en empilant des couches passe-plats. Pour la
plupart des développeurs, objet est synonymes de DTO (ou bean dans le
monde Java): des propriétés rassemblées au sein d'une classe avec
uniquement des getters setters et aucun traitements. Ils placent les
traitements dans ce qu'ils appellent des "services", c'est à dire des
classes stateless comportant essentiellement des méthodes statiques.
Ca donnent des paquets de "ServicesBidules", "ServiceShmoll" ou
"MachinHelper", dont certains atteignent les 1500 lignes de code dans
la même classe.

Autre pattern que j'observe souvent: le singleton. Il leur semble
souvent plus simple de créer toute une palettes de singleton contenant
leurs DTO, pour que les multiples couches de services/helper qu'ils
empilent puissent y accéder et les modifier plus facilement.

Bref, en résumé, ils codent en Java/C# comme en COBOL.

J'avoue qu'il est parfois frustrant de travailler dans ces contextes.


Par ailleurs, j'ai eu la chance depuis quelques mois de travailler
avec une équipes jeunes, sur un projet XP que je coach. J'ai vu
l'équipe avoir envie de sortir de ces poncifs Java et lutter contre
les "architectes J2EE" pour parvenir à imposer un design plus objet.

Ces développeurs sortaient d'une école où l'on enseigne la POO avec Smalltalk.

Je peux vous garantir que l'on voyait clairement la différence entre
eux et ceux qui n'avait pas suivi le même enseignement.
_______________________________________________
Squeak-fr mailing list

-- Valentin Guerlesquin
-- 




_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Expérience enseignement 1er cycle universitaire

Bernard Pottier
In reply to this post by Daniel Marre
Daniel Marre a écrit :

> Bonjour,
>
> Novice dans l'utilisation de Squeak, je suis à la recherche de retours
> d'utilisations de Squeak pour l'enseignement de l'informatique en 1er
> cycle universitaire (L1 -L3, DUT, BTS etc)
>
> Merci par avance de vos retours, adresses et suggestions me permettant
> d'avancer.
>
> Cordialement.
>
> DM.
>
Bonjour,

A l'UBO nous utilisons Smalltalk en L2 et L3 auprès d'étudiants
mathématiciens
ou informaticiens (filières informatique, math-info, systèmes).

En L2 il y a actuellement deux cours. L'un est un cours 'langage',
l'autre 'IHM'.
Ce sont des dénominations un peu vague. Disons que le premier cours
c'est de la
syntaxe comparée, dans le second on complète la définition du langage et
effectivement
on enseigne la conception d'IHM. En L3 il y a un cours qui porte sur les
mécanismes d'exécution: les objets en mémoire, ramasse-miettes, édition
dynamique,
interpréteur, outils de développement incluant la visite de l'arbre
syntaxique et la génération de
code.

Tout cela est fait sur Visualworks v7
(disponible librement pour les universités, merci Cincom).

Le module L2 IHM est le plus important (48h CM TD TP). Voilà un résumé
du contenu:
* compléments en programmation objets (savoir créer des classes, des
instances, hiérarchie)
* streams, et algo streams (savoir produire des formes textuelles et les
relire)
* modèle de données pour une application (exemple: réseau de lignes
arrêts pour des bus,
   on développe un jeu de classe complet).
* gestionnaire de dépendance
* principes de conception d'IHM relatifs au Canvas (widgets, découplage MVC)
* revue des composants et exercices sur le Canvas avec ts les widgets
que l'on peut imaginer
   (on réalise une petite application incluant un modèle fait auparavant)
* principe de fonctionnement MVC (Modele Vue Controleur)
   (illustration sur un exemple d'editeur de dessin que l'on modifie)
* conception d'une application MVC
   (par exemple un jeu de 'pousse-pousse')
* production d'images de déploiement (Linux/Windows/..)
* projet à rendre, au choix, Canvas ou MVC, sur la base de deux sujets
   proposés ou d'un sujet libre proposé par l'étudiant, validé par
l'enseignant.

Rendez vous sur http://as.univ-brest.fr/~pottier/wordpressfr/?cat=8 pour le
sujet 2007. Cette année j'ai encore eu des projets de très bonne facture,
du niveau d'une maquette interne pouvant servir de base à un produit.
Il s'agissait de créer un afficheur interacatif pour les arrêts de bus.

Modèle: réseaux de bus (arrets localisés géographiquement, lignes)
Jeu d'essai: quelques lignes de bus avec des points de routage
I/Os: sauvegarde et rechargement sur fichier (manuelle pour faire un
peu d'algo)
Vue: carte de la région brestoise, tracé des lignes, des arrêts
Controleur: désignation d'arrets couplée au modèle
Fonctions:
* Le logiciel permet de saisir le modèle de le sauver de le recharger.
* Il permet d'afficher les lignes par sélection interactive
* Il permet de désigner ue position destination et de trouver la
   meilleure route vers une destination que l'on souhaite atteindre.

Chaque année j'ai aussi des maquettes de jeux très propres: échecs,
dames, pousse-pousse, mikado, quattro, puissance-4, avec
quelquefois des fonctions algorithmiques de recherche de solution
qui ne sont pas triviales à implémenter (Cf la recherche de
routes optimales sur le projet BoBus).

Les résultats   se sont améliorés considérablement. Il y a
maintenant une moyenne raisonnable (proche de 12 cette année,
et personne à la repêche). Je crois que ce résultat est lié
à la motivation des étudiants et à l'investissement qu'ils accomplissent sur
le projet (de plus en plus sur MVC). Je peux en fournir quelques
bons échantillons si vous le souhaitez.

Et plus d'information sur le L3 si vous voulez également.

Bien cordialement
Bernard Pottier
Dept. Info -- UFR Sciences
UBO (Brest)
LESTER FRE CNRS 2734

>------------------------------------------------------------------------
>
>_______________________________________________
>Squeak-fr mailing list
>[hidden email]
>http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>  
>


_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr