10
votes

Apprentissage de concepts de langage de programmation

En tant que professeur d'étudiant, je suis très intéressé par la manière dont les "langues mini" efficaces telles que Scratch, logo, Alice et Lego Mindstorms sont en enseignant à l'élève les concepts de base de la programmation telle que des variables, des fonctions et des boucles.

est une "mini-langage" mieux qu'un autre pour enseigner ces concepts de base de base?


0 commentaires

4 Réponses :


5
votes

Selon la qualité des jeunes que vous enseignez, je voudrais simplement aller avec une langue plus simple comme Python.

Voici un livre gratuit qui enseigne à toutes les bases et n'est qu'environ 200 pages: http://www.greenteathret.com/thinkpython/thinkpython.html


2 commentaires

D'accord sur Python! Si seulement parce qu'il a des exigences de syntaxe absolument minimes et une ponctuation minimale. L'esthétique comme qui peut faire une énorme différence pour un nouveau développeur. Il existe également de très bons cadres tels que Pygame pour rendre des choses interactives très facilement. Je pense que la tâche compte plus que la langue. Ignorez "Imprimer un message à la console" et concentrez-vous sur "Cette chose graphique réagit lorsque je clique dessus"


LiveWires est un cours open source pour enseigner aux enfants à programmer, qui utilise Python et une version simplifiée de Pygame pour les amener encore plus rapidement. J'ai écrasé dessus - ça a l'air très prometteur. livewires.org.uk/python/home



4
votes

Je pense que peu d'importance que vous utilisez «la langue mini». Mais je pense que vous feriez mieux de rester avec une vraie minilurage et non une langue «réelle» si vous ne planifiez pas d'expliquer plus que les bases. Quand j'ai appris les bases (avec Java), j'étais vraiment irritée que je devais me rappeler Public statique Void Main sans vraiment savoir ce que tous signifiaient. Donc, je choisirais une langue avec aussi peu de frais généraux que possible. Quelle langue spécifique choisir est vraiment dépendante de l'âge de vos élèves.


0 commentaires

1
votes

Il y a plusieurs possibilités et, finalement, ce type de question a beaucoup à voir avec "goût". Je pense que ce régime est un très bon choix, car plusieurs raisons. La première est qu'il est un langage très minimaliste, avec très peu de la manière de syntaxe pour compliquer les choses. Un autre est que je me sens comme un schéma exprime quelque chose de vraiment fondamental sur le calcul et le fait très clairement. Un autre est que le schéma peut être utilisé de manière très "multi-paradigmatique". Vous pouvez faire une programmation fonctionnelle dans le schéma ou la programmation impérative. Il est également très facile de créer un système d'objet à partir de zéro pour le schéma, vous pouvez greffer une simple sur la langue dans moins de 100 lignes de code. Il existe également des implémentations de régime qui ont beaucoup de bibliothèques, vous pouvez donc faire des choses comme une programmation graphique ou une programmation Web.

Et enfin une grande attention a été consacré au développement de bons matériaux pédagogiques dans le cadre du système. "La structure et l'interprétation des programmes informatiques" est considérée comme un classique, mais beaucoup de documents de ce type serait assez difficile pour les jeunes enfants, je pense (c'était ciblé les étudiants de première année entrants au MIT.) Mais il y a aussi beaucoup plus doux matériaux, comme "Comment concevoir des programmes": http://www.htdp.org/ une chose que vous peut voir vraiment clairement dans le HTDP est la manière dont la syntaxe minimale du schéma vous permet d'obtenir droit aux idées importantes.

L'inconvénient principal du schéma en tant que langue maternelle est que la plupart des langues qui sont très largement utilisées ces jours-ci ne ressemblent pas à un régime, afin que les étudiants puissent avoir un peu d'ajustement en magasin lors de leur déplacement. Mais j'ai tendance à penser que, en particulier pour les enfants, les idées de base sont la chose la plus importante au début.


0 commentaires

5
votes

C'est une question très difficile. Logo et SmallTalk (pour ne nommer que deux exemples évidents) ont tous deux été conçus à l'origine spécifiquement destinés à être utilisés dans l'enseignement des enfants à programmer. Vous rencontrez rapidement un problème: il est difficile de définir une langue suffisamment simple pour qu'un petit enfant puisse comprendre complètement, et toujours assez riche pour éviter de devenir rapidement limitant et maladroit.

au moins de ce que j'ai vu, la plupart des tentatives ont mal tourné dans les respects des deux . Juste par exemple, la plupart tentent d'inclure la verbosité destinée à rendre le code lire plus comme l'anglais (par exemple, le "à:" dans logo). Les enfants ont souvent des compétences de clavier assez médiocres que cette verbosité est frustrante. Ils (dans mon expérience) s'attendent également à ce que, si une partie de la syntaxe ressemble à l'anglais, que la langue doit accepter un autre anglais valide également (je m'attendais à ce que la même chose soit vraie des locuteurs natifs d'autres langues, mais mon expérience est principalement avec Haut-parleurs anglais).

En même temps, la plupart des enfants (que j'ai travaillé avec) arrivent rapidement au point de trouver la limitation mini-linguistique. Certaines de cela provient probablement des frustrations mentionnées ci-dessus. Certains proviennent probablement également du manque d'imagination de la part de (au moins une partie de) leurs enseignants à venir avec des exercices intéressants et difficiles. Je pense que c'est aussi beaucoup plus difficile aujourd'hui que c'était (par exemple) il y a 20 ans - à l'époque, les enfants étaient excités avec ce qu'ils pouvaient dessiner avec des graphiques de tortue (pour un exemple). Aujourd'hui, ils sont habitués à des jeux avec des graphismes 3D photo-réaliste et dessinez une "rose" 2D de lignes droites semble frapper beaucoup d'entre eux comme essentiellement boiteux.


0 commentaires