Kurs:Programmieren in Aleph

Aus Wikiversity

Dieser Kurs gehört zum Fachbereich Informatik.

Motivation[Bearbeiten]

Dieser Kurs führt in die Programmierung mit Aleph ein. Aleph stellt Interaktivität wieder in den Vordergrund. Direkte Auseinandersetzung mit den eigenen Überlegungen ist die Grundlage. Es gibt keine (praktisch) Syntax und die vorhandenen Fragmente können sehr einfach beseitigt und durch eigene Vorstellungen ersetzt werden.

Syntax ist ein sehr praktisches Hilfsmittel, darf aber nicht einschränken. Aleph gestattet die Formulierung jeder Syntax zu jedem Zeitpunkt. Die Anwendung von Aleph bedeutet also Verantwortung und nicht Unterordnung. Dieser Ansatz wird sehr ernst genommen. So wird in Aleph bereits ein mathematischer Ausdruck nicht als solcher interpretiert, denn er basiert auf Regeln (Punkt- vor Strichrechnung). Regeln sind verboten, es sei denn sie wurden vom Anwender aufgestellt. Aleph bietet also totale Freiheit im Aufstellen von Regeln. Weil Programme die Lösung eines Problems zum Ziel haben, darf bei der Formulierung des Programms von korrekten Eingaben ausgegangen werden. Es ist nicht Aufgabe eines Systems hier einschränkend in Erscheinung zu treten.

  • Aleph fragt bei unbekannten Eingaben, stoppt aber nicht.
  • Aleph akzeptiert jede Eingabe von jedem erreichbaren Medium.
  • Aleph compiliert jedes Objekt zu jeder Zeit, wenn es verlangt wird.

Weil bei ersten Kontakten mit Programmiersprachen stets eine Erwartungshaltung vorhanden ist, geht auch Aleph von gewissen Annahmen aus. So wird bei einer Eingabe von "123" von einer Zahl und bei "true" von einem booleschen Wert ausgegangen. Allerdings sind die Annahmen damit auch schon erschöpft. Natürlich können diese "Voraussetzungen" jederzeit beseitigt werden.

Ziele[Bearbeiten]

Mit dieser Freiheit in der Programmierung umgehen zu können ist das erste Anliegen dieses Kurses. Die Ausdehnung dieser Freiheiten auf das untergeordnete System (Java) ist das zweite.

Am Ende dieses Kurses sollten die Absolventen zu den folgenden Erkenntnissen gelangt sein:

  • Programmieren findet zuerst im Kopf und dann in einem System statt.
  • Syntax sollte am Problem orientiert sein.
  • Keine Programmiersprache kann Alles.

An Fähigkeiten sollten nach Ende des Kurses

vorhanden sein.

Besuch des Kurses[Bearbeiten]

Dieser Kurs ist in Abschnitte aufgeteilt. Jeder Abschnitt baut auf dem vorangegangenen auf und führt tiefer in das Konzept von Aleph. Am Ende einiger Abschnitte sind Aufgaben vorhanden, in denen das Besprochene angewendet wird. Manchmal sind Aufgaben auch im Kurs selbst vorhanden. Diese sind aber mehr als "Pausenfüller" gedacht. Außerdem sind zu jeder Aufgabe "Musterlösungen" vorhanden, die von den Teilnehmern hoffentlich durch bessere ersetzt werden.

  1. Alles ist Objekt
  2. Wie sag ich es in Aleph
  3. Kontakt mit Java
  4. Zusammenarbeit mit Java
  5. Mit Aleph Probleme lösen
  6. Zur Erweiterung empfohlen - ein Compiler
  7. Rekursion und lokale Variablen
  8. Infix-Notation mit externem Parser
  9. Grundlagen des Listprocessings

Sobald es um den Zugriff auf Klassen und Objekte geht, sind Kenntnisse in Java hilfreich. Durch einfaches kopieren von Kursinhalten kann vielleicht ein gewisser autodidaktischer Lerneffekt auftreten. Für ganz Eilige mag ein Besuch von "Java – ein schneller Einstieg" ausreichend sein. Allerdings sollten dort keine tiefen Einblicke erwartet werden.

Voraussetzungen und Hilfsmittel[Bearbeiten]

Java muss auf dem Rechner vorhanden sein. Minimum ist ein j2sdk1.4.2_10. Damit genügt es, Aleph einfach in ein beliebiges Verzeichnis zu laden und zu entpacken. Gestartet wird Aleph wie jede Java-Anwendung, die als ".class"-Datei vorliegt.

Der Sprachschatz von Aleph ist zwar übersichtlich, aber trotzdem zu umfangreich um ihn auswendig zu lernen. Eine Übersicht mit kurzen Erklärungen zu jeder Anweisung im

ist vorhanden.

Ein Editor ist nicht erforderlich. Trotzdem ist eine Entwicklungsumgebung mit eigenständigen Prozessen für jede gestartete Java-Anwendung hilfreich. Es muss nicht gleich eclipse oder NetBeans sein. Auf der Seite von Aleph (www.e-vocation.eu oder www.exmpl.de) gibt es einen open source Editor mit IDE-Eigenschaften. Auch in der Aleph-Doku wird dieser Editor angesprochen. Eine Hilfestellung zur

von Aleph und des erwähnten Editors ist vorhanden.