Mama (logiciel) - Mama (software)

Maman
Environnement de développement Mama
Environnement de développement Mama
Auteur (s) original (s) Informatique Eytam
Version stable
1.5.2 / 22 février 2010
Système opérateur les fenêtres
Type Langage de programmation éducatif
Licence Logiciel gratuit
Site Internet eytam .com / maman

Mama est un langage de programmation éducatif orienté objet conçu pour aider les jeunes étudiants à commencer à programmer en fournissant tous les éléments linguistiques dans la langue maternelle de l'élève. Le langage de programmation Mama est disponible en plusieurs langues, avec une prise en charge de la direction des langues de gauche à droite (LTR) et de droite à gauche (RTL).

Une nouvelle variante de Mama a été construite sur l' environnement de développement Alice de Carnegie Mellon , prenant en charge le script des objets de scène 3D. Cette nouvelle variante de Mama a été conçue pour aider les jeunes étudiants à commencer la programmation en créant des animations et des jeux 3D.

L'histoire

Les premières versions de Mama - 1.0, 1.1 et 1.2 - fournissaient un environnement de développement intégré simple (IDE) qui contenait la prise en charge d'éléments standard tels que l'éditeur de texte avec coloration syntaxique , le compilateur, le débogueur, la fenêtre de sortie, etc. À partir de la version 1.5, Mama était intégré à l'EDI open source Alice pour prendre en charge la programmation par glisser-déposer et l'animation 3D. Les versions Mama sont implémentées en Java.

La version actuelle de Mama, version 1.5.4, est disponible en anglais et en hébreu, et elle fonctionne sous Microsoft Windows.

Conception

Mama a été conçu pour résoudre les problèmes suivants dans les programmes éducatifs:

  1. Les langages de programmation industriels sont conçus pour être utilisables pour le code de production, introduisant ainsi une complexité supplémentaire. Mama est conçu uniquement pour enseigner les concepts de programmation, fournissant un développement simple et rapide de programmes.
  2. Les erreurs de syntaxe frustrent les étudiants lorsqu'ils commencent à apprendre la programmation - La variante de Mama sur Alice utilise un environnement de glisser-déposer pour créer des animations informatiques à l' aide de modèles 3D .

Le langage Mama est un langage purement orienté objet , tandis que l'EDI d'Alice est basé sur l'objet . Cela implique que tout en écrivant des scripts textuels avec le langage Mama prend en charge tous les éléments orientés objet ( héritage , polymorphisme , programmation générique , gestion des événements de style modèle Observer ), la création d'objets et de méthodes avec l'interface glisser-déposer est basée sur l'objet - il n'y a pas d'héritage (et donc pas de polymorphisme). La dernière observation peut dérouter les débutants - il est donc suggéré d'utiliser les scripts Mama uniquement comme sujets avancés dans les cours CS.

Améliorations principales de Mama 1.5 par rapport à Alice version 2.2:

  • Ajout du langage de programmation Mama en tant que langage de script (riche) - les objets de scène 3D peuvent être manipulés à l'aide de ce mécanisme de script
  • support Unicode complet
  • création et édition d'objets 3D
  • prise en charge du téléchargement de films sur YouTube et de la publication sur Facebook
  • prise en charge des décors et des personnages
  • outil d'édition de didacticiels pour les instructeurs
  • exportation de films avec audio
  • exécutables autonomes utilisateur
  • meilleure logique de menu
  • Nombreuses corrections de bugs

Principes de base de l'IDE

Il y a plusieurs parties dans la fenêtre IDE: en haut, vous trouverez le menu principal et la barre d'outils, qui vous permettent d'exécuter des commandes telles que créer / ouvrir un monde, importer des objets 3D dans le monde, créer une application autonome, exporter l'animation sur YouTube, etc.

Les cinq fenêtres contenues dans la fenêtre principale sont:

  • arborescence d'objets - contient la liste des objets dans le monde actuel.
  • Fenêtre 3D - c'est là que les objets sont positionnés, déplacés, tournés, etc.
  • zone d'événements - vous permet de modifier ce qui se passe lors de la survenance de certains événements.
  • zone de détails - contient des informations sur l'objet actuellement sélectionné dans 3 onglets: propriétés, méthodes et fonctions.
  • zone d'édition (en bas) - c'est là que le code du programme est écrit, en utilisant le glisser-déposer d'instructions.

En mode d'édition de scène, deux des pièces ci-dessus sont remplacées:

  • panneau de contrôle - remplace la zone d'événements et affiche diverses commandes qui aident à manipuler les objets dans la fenêtre 3D.
  • galerie d'objets - remplace la zone de l'éditeur et affiche les objets dans des dossiers hiérarchiques à sélectionner et à incorporer dans la fenêtre 3D.

Voici les types de base disponibles dans Alice IDE:

  • Number - un type numérique, représente à la fois des entiers et des réels
  • Boolean - une valeur booléenne, acceptant true ou false
  • Object - un objet Mama général
  • String - une chaîne, une collection de caractères
  • Couleur - une couleur RVB
  • TextureMap - une carte de texture
  • Son - un son
  • Pose - une pose capturée d'un objet
  • Position - un tableau 3D définissant une position dans l'espace 3D
  • Orientation - un tableau 3D définissant l'orientation dans l'espace 3D
  • PointOfView - une combinaison d'une position et d'une orientation

Les instructions de contrôle disponibles en bas de la zone de l'éditeur sont:

  • doInOrder - exécute une séquence d'instructions séquentiellement
  • doTogether - exécute une séquence d'instructions simultanément
  • if - exécute une séquence d'instructions séquentiellement uniquement sous une condition donnée
  • while - exécute une séquence d'instructions séquentiellement pendant qu'une condition donnée est maintenue
  • for - exécute une séquence d'instructions séquentiellement un nombre donné de fois
  • forAllInOrder - exécute une séquence d'instructions itérant séquentiellement sur la collection donnée
  • forAllTogether - exécute une séquence d'instructions itérant simultanément sur la collection donnée
  • wait - attendez un certain nombre de secondes
  • print - imprime les données données sur la console de sortie
  • assert - affirmer qu'une condition est vraie, afficher un message si la condition est fausse (nouveau dans Mama 1.5)
  • Script - ajoutez un script Mama gratuit au programme
  • # - ajouter un commentaire au programme

Voir également

Références

Lectures complémentaires

  • Manuel de référence du langage Mama
  • Manuel de référence Mama IDE
  • Apprendre à programmer avec Alice, Wanda P. Dann, Stephen Cooper, Randy Pausch: ISBN   0-13-187289-3
  • Conception et création de monde virtuel pour adolescents; Charles R. Hardnett; Course Technologies PTR, 2009; ISBN   1-59863-850-5 , ISBN   978-1-59863-850-9

Liens externes