FAQ — Häufig gestellte Fragen & Antworten(Frequently Asked Questions)

Worum geht es in diesen Aufzeichnungen?

Diese Aufzeichnungen sind ein Experiment, in dem die Lernmethode der "programmierten, computergestützten Unterweisung (CAI - Computer Aided Instruction) eingesetzt wird. Das Thema ist Java Programmierung für Anfangsprogrammierer. Das Ziel ist:

  1. Anfangsprogrammierer auf den Weg zu einer professionellen Stufe der Programmierung zu bringen.
  2. Durch die Bereitstellung von sehr viel Feedback, den Lernprozess zu verstärken.

Diese Aufzeichnungen begannen als Ergänzung zu einem Universitätskurs über Informatik für Anfänger. Ihr Zweck war es, zusätzlichen Diskussionsstoff und viele Beispiele zu den grundsätzlichen Themenfeldern der Programmierung bereitzustellen.

Typische Universitätstexte behandeln den Anfangsstoff im Eiltempo (vielleicht, weil dieser Text alle Themen abhandeln muss). Typische Java Durchschnittsbücher sind bei diesen Themen ebenfalls oberflächlich. (oft setzt das Buch voraus, dass der Leser schon ein Programmierer ist).

Diese Aufzeichnungen versuchen diese Lücke zu füllen. Sie behandeln nicht alle Themen, aber sie behandeln die grundsätzlichen Themen sehr ausführlich. Diesen Aufzeichnungen liegt die Methode des Programmierten Lernens zugrunde. Ich hoffe, es ist mir gelungen das Lehrmaterial interessant zu gestalten.


Was ist Programmiertes Lernen?

Programmiertes Lernen ist eine Methode der strukturierten Anleitung, mit der nach jedem neuen Begriff, dem Lernenden eine Frage gestellt wird, um den Lernstoff zu verfestigen. Die Anleitung erfolgt in der Form

Lerneinheit Frage Antwort Lerneinheit Frage Antwort

Die Lerneinheiten sind kurz, und die Fragen sind leicht zu beantworten. Das regelmäßige Feedback führt beim Lernenden zu einem aktiven Lernen, und damit zu einem besseren Verständnis und zur Verfestigung des Gelernten.

Viele Studien haben gezeigt, dass diese Methode sehr wirkungsvoll ist, besonders bei Anfangslektionen mit fachlichen Themen. Wenn ein Lernender geistig angeregt wird, indem er jede Frage beantwortet und die Antwort überprüft, ist der Lernprozess viel schneller.

Programmiertes Lernen war besonders zwischen 1960 und 1970 populär. Es wurde üblicherweise in Büchern eingesetzt (mit Lerneinheiten, Frage und Antwort waren durch breite Balken getrennt, oder sie waren jeweils auf einer eigenen Seite). Das war nicht allzu sinnvoll.

An großen Universitäten wurde es auf Großrechner mit besonderen (und sehr teuren Terminals) für Studenten eingesetzt. Nur bevorzugte Studenten bekamen Maschinenzeit, und ein Stab von Technikern und Programmierern wurde benötigt, um alles am Laufen zu halten.

Heute ist diese Technik durch das Internet preiswert und einfach geworden. Seltsamerweise verwendet sie niemand mehr.


Wenn das Beantworten einfacher Fragen so wirkungsvoll ist, sind dann hochgradig interaktive, multimediale Methoden nicht noch wirkungsvoller?

Möglich. Aber die Erstellung ist sicherlich zeitaufwendiger. Und ich vermute, dass einige von ihnen wenig zum tatsächlichen Lernprozess beitragen. Der größte Wirkungsgrad an Interaktion von Anwendern kann mit einfachen Methoden erreicht werden. Diese Aufzeichnungen sind als ein inoffizielles Experiment geschrieben worden, um zu sehen, ob diese These glaubwürdig ist.


Ist der Wirkungsgrad dieser Aufzeichnungen getestet worden?

Diese Aufzeichnungen sind im Klassenraum erprobt worden — das heißt sie wurden als Ergänzung in richtigen Klassen verwendet und auf der Grundlage jener Experimente geschrieben und angepasst. Es fand keine formale Überprüfung dieser Aufzeichnungen statt. Aber viele Studenten haben viel Gutes über sie geäußert (besonders am Ende des Semesters, wenn die Prüfungen anstanden).


Mit J++ (und anderen Entwicklungsumgebungen) bleibt das DOS-Fenster nicht stehen, nachdem das Programm beendet ist. Wie kann das erreicht werden?

Dieses Problem ist eine Eigentümlichkeit vieler kommerzieller Entwicklungsumgebungen. Hier ist zum Beispiel ein korrektes Hello World Programm:

class Hello
{
  public static void main ( String[] args )
  {
    System.out.println("Hello World!");
  }
}

Wenn Sie in J++ auf "execute" klicken, wird das Programm seinen Output (die Zeichen "Hello World!") auf das DOS-Fenster ausgeben, das aber zu kurz eingeblendet wird, um es sehen zu können.

Es gibt mehrere Möglichkeiten mit diesem Problem umzugehen. Eine Möglichkeit besteht darin, das Programm so zu verändern, dass es kurz bevor es beendet wird, auf eine Eingabe wartet. Der Code in rot kann in jedes Programm eingefügt werden.

import java.io.*;

class Hello
{
  public static void main ( String[] args ) throws IOException
  {
    System.out.println("Hello World!");

    System.out.println("Programmende mit Enter");
    System.in.read();
  }
}

Eine andere Möglichkeit, um mit diesem Problem umzugehen besteht darin, J++ (oder eine andere Umgebung) zum Editieren und Kompilieren zu verwenden, aber für die Programmausführung Ihr eigenes DOS-Fenster zu verwenden. Um das zu tun, starten Sie ein DOS-Fenster und wechseln dann in das Verzeichnis, in dem sich der kompilierte Bytecode befindet (zum Beispiel Hello.class.) Führen Sie dann den unten stehenden Code im DOS-Fenster aus:

java Hello.class

Die Portabilität von Java stellt sicher, dass der mit J++ (oder einer anderen Umgebung) kompilierte Code mit der Java Virtuellen Maschine, die ein Bestandteil des JDK ist, funktionieren wird.


Können diese Aufzeichnungen Offline verwendet werden?

Die folgende ZIP-Datei enthält das gesamte Lehrmaterial. Die Erlaubnis zum Download für den privaten Gebrauch oder für den Gebrauch an öffentlichen, nicht kommerziellen Bildungseinrichtungen wird erteilt. Beachten Sie bitte die rechtlichen Hinweise.

Wenn Sie die ZIP-Datei nicht herunterladen möchten, tun Sie folgendes. Jedes Kapitel ist eine lineare Sequenz von Seiten (d.h. jede Seite ist mit der nächsten Seite verlinkt ohne andere Abzweigungen). Klicken Sie auf ein Kapitel, und dann, ohne die Seiten zu lesen, auf den Link am Ende der Seite bis Sie das Ende des Kapitels erreicht haben. Jetzt haben Sie alle Seiten in Ihrem Browsercache und können Offline gehen und die Seiten in Ihrem eigenen Arbeitstempo lesen.

Einige Browser unterstützen den Download aller Seiten einer Website mit einem Klick. Das funktioniert ebenfalls gut mit dieser Website.


Gibt es Lösungen zu den Programmieraufgaben?

Die Lösungen zu den Programmieraufgaben des übersetzten Teils der Aufzeichnungen können bei mir erworben werden. Weitere Informationen dazu finden Sie hier.


Können diese Aufzeichnungen mit einem Textbuch verwendet werden?

Ja. Die Reihenfolge der Themen kann unterschiedlich sein, aber es sollte möglich sein ein Textbuch und diese Anweisungen als Ergänzung zu lesen. Viele Leser arbeiten diese Aufzeichnungen durch, während sie einen regulären College oder High School Kurs belegen. Die meisten Textbücher haben ihre eigenen Input/Output-Klassen, die installiert werden müssen. Diese sind üblicherweise einfacher zu verwenden, als die fundamentalen Input/Output-Methoden von Java, die in diesen Aufzeichnungen verwendet werden.


Was sollte ich lesen, wenn ich mit diesen Aufzeichnungen fertig bin?

Das Beste, was Sie tun können, ist selbst viele Programme zu schreiben. Wenn Sie ein weiteres Java Programmierbuch lesen wollen, haben Sie drei Möglichkeiten:

  1. Wählen Sie ein Standardbuch, über allgemeine Java-Programmierung. Vielleicht eines mit einem Touch Multimedia.
  2. Wählen Sie ein fortgeschrittenes Buch, über ein spezielles Java-Thema wie Netzwerkprogrammierung oder Bildbearbeitung.
  3. Wählen Sie ein allgemeines Java-Programmierbuch, das für den erfahrenen Programmierer gedacht ist.

Die folgenden Bücher sind für erfahrene Programmierer. Für den Anfänger dürften sie schwieriger sein.


Wo sind all die fehlenden Kapitel?

Die Lücken in der Kapitelnumerierung sind für die noch zu schreibenden (bzw. noch zu übersetzenden) Kapitel gedacht. Sie sind da, damit zukünftige Kapitel leichter eingefügt werden können, ohne alles neu numerieren zu müssen.


Können diese Aufzeichnungen auf Papier ausgedruckt werden?

Ja, indem Sie die "Drucken"-Funktion Ihres Browsers verwenden. Aber das Ergebnis ist hässlich, und Sie verlieren die meisten der interaktiven Merkmale. Ich habe es nicht getan, aber ich weiß, dass es viele Anwender getan haben. Die Aufzeichnungen bestehen aus ca. 1200 Webseiten. Wenn Sie diese Seiten alle ausdrucken, werden Sie wesentlich mehr als 1200 Seiten Papier brauchen, da viele der einzelnen Webseiten beim Ausdrucken zwei oder mehr Seiten benötigen.


Wann werden diese Aufzeichnungen jemals fertig sein?

Das ist die Frage, die ich mir am häufigsten stelle...


—— Zurück zum Inhaltsverzeichnis.