zurück zu  Übungsaufgaben stellen mit JavaScript 

Single-Select-Aufgabe

Die hier angebotene Aufgabenform eignet sich vornehmlich als relativ platzsparende simple Multiple-Choice-Aufgabe. Der Aufgabentyp kann somit gut in Texte eingebunden werden, um den Leser zur aktiven Mitarbeit zu bewegen.
Beispiel
Wie heißt der Begründer der Psychoanalyse
Funktionsweise
Man sieht ein Auswahlformular und direkt dahinter einen Button mit dem Zeichen ?
Der Lerner wählt eine Alternative aus.
Ist die Alternative falsch, so erscheint auf dem Button das Wort falsch
Ist die Alternative richtig, so erscheint auf dem Button das Wort richtig
Der Lerner hat nun grundsätzlich die Möglichkeit, eine weitere Alternative auszuwählen, was nur im Falle einer zuvor falschen Aufgabenbeantwortung Sinn machen kann (quasi eine optionale Answer-until-correct- Aufgabenform.)

Ein Anklicken auf das Button aktiviert in jedem Falle das Rückmeldefenster, in dem entweder die Aufgabenanweisung oder im Falle der Aufgabenbeantwortung die Aufgabenbesprechung steht. Zudem bewirkt ein Anklicken des Buttons nach einer Alternativenauswahl, daß automatisch die richtige Alternative im Auswahlformular selektiert wird.

Ausführliche und übersichtliche Darstellung der Aufgabenkonstruktion des Beispiels
Wie heißt der Begründer der Psychoanalyse
<form>
      Wie heißt der Begründer der Psychoanalyse
       <select size=1 name="Auswahl" onchange="ss(form)">
                <option value="?">?
                <option value="0"> 1.) Wilhelm Reich
                <option value="0"> 2.) Carl Gustav Jung
                <option value="1"> 3.) Sigmund Freud
                <option value="0"> 4.) Alfred Adler.
       </select>
       <input type=button name="mybutton" value=" ? " ONCLICK= "sscheck(this.form)">
       <!--------------------------------------------------------------------------/!-->
       <input type=hidden name=feedback value ="Der Begründer der Psychoanalyse heißt
         Sigmund Freud. Wichtige Begriffe seiner Lehre sind z.B.: Ich, Es, Überich, Libido,
         Übertragung, Angstabwehr, Verdrängung und Widerstand..">
</form>
Kommentar
Leider wird die Ordnung völlig zerstört, wenn man den Programmtext mit Netscape editiert und abspeichert, weil Netscape die Zeilen nach eigenen Regeln anfügt und umbricht oder aber unerwünschte Zeilenumbrüche setzt.

<option value="?">?  ist stets die erste Option und darf nicht verändert werden.
<option value="0"> 1.) Wilhelm Reich Die Alternative 'Wilhelm Reich' ist falsch
<option value="1"> 3.) Sigmund Freud Die Alternative 'Sigmund Freud' ist richtig

Es darf nur ein <option value="1"> , aber beliebig viele <option value="0"> geben.
Ansonsten sollte man nur den Inhalt des Wertes der Variablen feedback ändern.

Die Zahlen vor den Alternativen (, z.B. 3.)) sind zwar nicht notwendig, aber dann ist ein Bezug zu den Alternativen besser herzustellen.

Hinweise
Sehr anspruchsvolle MC-Aufgaben mit umfangreichen Alternativen lassen sich damit nicht konstruieren. Die Alternativen sollten ziemlich prägnant und platzsparend formuliert werden. Am besten entwickelt man eine Frage so, daß das Formular den Abschluß der Frage bildet. Ansonsten sind unerwünschte Formatierungsprobleme zu erwarten.
Auf der Basis von Graphiken mit entsprechender Farbgestaltung ließen sich statt verbaler Rückmeldungen unmittelbar verständliche Icons darstellen, siehe z.B. die Seite http://www.stat.berkeley.edu/users/stark/SticiGui/Text/ch7.htm  [14.9.1999], von der im übrigen die Idee zur Konstruktion dieses Aufgabentyps ausging.  Die Aufgabenkonstruktion wird dort mit schwer zugänglichen JavaApplets realisiert.

Die eigens entwickelte Single-Select-Aufgabe mit graphischen Symbolen auf der Basis von JavaScript ist jedoch komplizierter als die hier vorgeschlagene Variante, und wird daher nur dem erfahrenen Nutzer empfohlen. Ausserdem erfordert diese Variante mindestens Netscape 4, während die hier vorgeschlagene Single-Select-Aufgabe auch unter der Version Netscape 3 lauffähig ist.



Beispiel für eine kleine Frageserie
Selbst neue Aufgaben erstellen
Der Aufgabentyp single select gehört wegen seines speziellen Charakters nicht zum Standardrepertoire der Templatedateien. Er kann genutzt werden, in dem das nachfolgende Skript in das Skript der Datei template.html oder adaptivtemplate.html eingefügt wird. Somit können gleichzeitig noch die anderen Aufgabentypen genutzt werden. Als Schablone für den Aufgabentyp single select kann man dann eine Aufgabe dieser Seite verwenden.
Um nur Aufgaben des Typs single select zu erstellen, genügt eine Kopie dieser Seite.

//-------------------------single select Aufgabe --------------------
//---angefügt am 16.9.1999 von Bernhard Jacobs, pf00bj@rz.uni-sb.de
//---verändert am 11.10.1999 von Bernhard Jacobs, pf00bj@rz.uni-sb.de
function richtigeAlternative (form)
  {
    anzahl= form.Auswahl.length
    loesung="nichtangegeben"
  
    //---- 0 = Fragezeichen, deshalb muss die erste Option Fragezeichen bleiben.
    for (i=1;i<anzahl;i++)
      { 
        if (form.Auswahl.options[i].value==1)
         {
           return i
         }
       }
        if (loesung == "nichtangegeben") 
        { 
         alert ('Fehler bei der Aufgabenkonstruktion, da richtige Alternative nicht gekennzeichnet')
         return 0
        }
  }


function  ss(form)
{

 richtigsymbol=  "richtig"
  falschsymbol = "falsch "
   fragesymbol = "   ?   "
 
 x = form.Auswahl.options[form.Auswahl.options.selectedIndex].value

 if (x == "?")
 {
   //antwort="Aufgabe nicht beantwortet."
   form.mybutton.value=fragesymbol
 } 

 if (x == "1")
 {
   //antwort="richtig"
   form.mybutton.value=richtigsymbol
 }

 if (x == "0")
 {
   //antwort="falsch"
   form.mybutton.value=falschsymbol
 }

}

function sscheck(form)
  
  {
   x = form.Auswahl.options[form.Auswahl.options.selectedIndex].value
   if (x=='?')
       {
        auswertung= "<font size=2>W&auml;hlen Sie bitte eine Alternative aus!<br>Sie erhalten unmittelbar eine R&uuml;ckmeldung.<p>Ist Ihre Antwort falsch, so haben Sie 2 M&ouml;glichkeiten:<ol><li>Sie versuchen die richtige L&ouml;sung selbst zu finden.</li><li>Sie klicken auf das Button <i>falsch</i> und erzwingen damit die L&ouml;sung.</li></ol>Ist Ihre Antwort richtig, so haben Sie auch 2 M&ouml;glichkeiten:<ol><li>Sie begn&uuml;gen sich mit dieser Information.</li><li>Sie klicken auf das Button <i>richtig</i> und erhalten m&ouml;glicherweise weitere Erkl&auml;rungen</li></ol> </font>"
        gibfeedback(auswertung)
       }
   
   else
   {   
      richtig = richtigeAlternative (form)
      form.Auswahl.options.selectedIndex = richtig
      form.mybutton.value="richtig"
      auswertung=form.feedback.value
      gibfeedback (auswertung)
      
   }
 }
//---------------------------Ende Single select-Aufgabe-------------------------

created 14.9.1999; last update 11.10.1999; Bernhard Jacobs, pf00bj@rz.uni-sb.de