Mama (oprogramowanie) - Mama (software)

Mama
Środowisko programistyczne Mama
Środowisko programistyczne Mama
Pierwotni autorzy Eytam Computer Science
Wersja stabilna
1.5.2 / 22 lutego 2010 r
System operacyjny Windows
Rodzaj Edukacyjny język programowania
Licencja Oprogramowanie bezpłatne
Stronie internetowej eytam .com / mama

Mama to zorientowany obiektowo, edukacyjny język programowania zaprojektowany, aby pomóc młodym uczniom w rozpoczęciu programowania, zapewniając wszystkie elementy językowe w języku ojczystym ucznia. Język programowania Mama jest dostępny w kilku językach, z obsługą kierunku od lewej do prawej (LTR) i od prawej do lewej (RTL).

Nowy wariant Mama został zbudowany na bazie środowiska programistycznego Alice Carnegie Mellon , obsługującego skrypty obiektów sceny 3D. Ten nowy wariant Mamy został zaprojektowany, aby pomóc młodym uczniom w rozpoczęciu programowania poprzez tworzenie animacji 3D i gier.

Historia

Pierwsze wersje Mama - 1.0, 1.1 i 1.2 - zapewniały proste zintegrowane środowisko programistyczne (IDE), które zawierało wsparcie dla standardowych elementów, takich jak edytor tekstu z podświetlaniem składni , kompilator, debugger, okno wyjściowe itp. Począwszy od wersji 1.5, Mama była zintegrowany z oprogramowaniem Alice IDE typu open source w celu obsługi programowania metodą przeciągnij i upuść oraz animacji 3D. Wersje Mama są zaimplementowane w Javie.

Bieżąca wersja programu Mama, wersja 1.5.4, jest dostępna zarówno w języku angielskim, jak i hebrajskim, i działa w systemie Microsoft Windows.

Projekt

Mama została zaprojektowana, aby rozwiązać następujące problemy w programowaniu edukacyjnym:

  1. Przemysłowe języki programowania są zaprojektowane tak, aby można je było używać w kodzie produkcyjnym, co wprowadza dodatkową złożoność. Mama jest przeznaczona wyłącznie do nauczania koncepcji programowania, zapewniając proste i szybkie tworzenie programów.
  2. Błędy składniowe frustrują uczniów, gdy zaczynają się uczyć programowania - wariant Mamy zamiast Alice wykorzystuje środowisko przeciągnij i upuść do tworzenia animacji komputerowych przy użyciu modeli 3D .

Język Mama jest językiem czysto obiektowym , podczas gdy Alice IDE jest oparta na obiektach . Oznacza to, że podczas pisania skryptów tekstowych w języku Mama obsługuje wszystkie elementy obiektowe ( dziedziczenie , polimorfizm , programowanie ogólne , obsługę zdarzeń w stylu obserwatora ), tworzenie obiektów i metod za pomocą interfejsu przeciągnij i upuść jest oparte na obiektach - nie ma dziedziczenia (i a więc brak polimorfizmu). Ta ostatnia obserwacja może zmylić początkujących - dlatego sugeruje się używanie skryptów Mama tylko jako zaawansowanych tematów na kursach CS.

Główne ulepszenia Mama 1.5 w stosunku do wersji Alice 2.2:

  • dodano język programowania Mama jako (bogaty) język skryptowy - za pomocą tego mechanizmu skryptowego można manipulować obiektami sceny 3D
  • pełna obsługa Unicode
  • tworzenie i edycja obiektów 3D
  • wsparcie przesyłania filmów do YouTube i publikowania na Facebooku
  • wsparcie dla scenerii i postaci
  • narzędzie do edycji samouczków dla instruktorów
  • eksport filmów z dźwiękiem
  • samodzielne pliki wykonywalne użytkownika
  • lepsza logika menu
  • Wiele poprawek

Podstawy IDE

W oknie IDE jest kilka części: u góry znajduje się menu główne i pasek narzędzi, które pozwalają wykonywać polecenia, takie jak tworzenie / otwieranie światów, importowanie obiektów 3D do świata, tworzenie samodzielnej aplikacji, eksportowanie animacji do YouTube itp.

Pięć okien znajdujących się w oknie głównym to:

  • drzewo obiektów - zawiera listę obiektów w aktualnym świecie.
  • Okno 3D - w tym miejscu obiekty są pozycjonowane, przesuwane, obracane itp.
  • obszar wydarzeń - pozwala edytować, co dzieje się po wystąpieniu określonego zdarzenia.
  • obszar szczegółów - zawiera informacje o aktualnie wybranym obiekcie w 3 zakładkach: właściwości, metody i funkcje.
  • obszar edytora (na dole) - to tam zapisywany jest kod programu, za pomocą instrukcji przeciągnij i upuść.

W trybie edycji scen dwie z powyższych części są zastępowane:

  • panel sterowania - zastępuje obszar zdarzeń i wyświetla różne kontrolki, które pomagają manipulować obiektami w oknie 3D.
  • galeria obiektów - zastępuje obszar edytora i wyświetla obiekty w hierarchicznych folderach do wybrania i osadzenia w oknie 3D.

Oto podstawowe typy dostępne w Alice IDE:

  • Liczba - typ liczbowy, reprezentuje zarówno liczby całkowite, jak i rzeczywiste
  • Boolean - wartość logiczna, przyjmująca wartość prawda lub fałsz
  • Obiekt - ogólny obiekt Mama
  • String - ciąg, zbiór znaków
  • Kolor - kolor RGB
  • TextureMap - mapa tekstur
  • Dźwięk - dźwięk
  • Pose - uchwycona poza obiektu
  • Pozycja - tablica 3D określająca położenie w przestrzeni 3D
  • Orientacja - tablica 3D określająca orientację w przestrzeni 3D
  • PointOfView - połączenie Pozycji i Orientacji

Instrukcje sterujące dostępne w dolnej części obszaru edytora to:

  • doInOrder - wykonuje sekwencję instrukcji
  • doTogether - wykonaj sekwencję instrukcji jednocześnie
  • if - wykonuje sekwencję instrukcji sekwencyjnie tylko pod zadanym warunkiem
  • while - wykonuje sekwencję instrukcji sekwencyjnie, podczas gdy dany warunek jest spełniony
  • for - wykonuje sekwencję instrukcji sekwencyjnie określoną liczbę razy
  • forAllInOrder - wykonuje sekwencję instrukcji kolejno iterując po danej kolekcji
  • forAllTogether - wykonuje sekwencję instrukcji jednocześnie iterując po danej kolekcji
  • czekaj - czekaj określoną liczbę sekund
  • print - wypisuje podane dane do konsoli wyjściowej
  • assert - potwierdź, że warunek jest prawdziwy, wyświetl komunikat, jeśli warunek jest fałszywy (nowość w Mama 1.5)
  • Skrypt - dodaj darmowy skrypt Mama do programu
  • # - dodaj komentarz do programu

Zobacz też

Bibliografia

Dalsza lektura

  • Podręcznik referencyjny języka Mama
  • Instrukcja obsługi Mama IDE
  • Nauka programowania z Alice, Wanda P. Dann, Stephen Cooper, Randy Pausch : ISBN   0-13-187289-3
  • Projektowanie i tworzenie wirtualnego świata dla nastolatków; Charles R. Hardnett; Course Technologies PTR, 2009; ISBN   1-59863-850-5 , ISBN   978-1-59863-850-9

Linki zewnętrzne