Skip to content
PsychoProjects edited this page Nov 18, 2018 · 16 revisions

In diesem Artikel wird der Aufbau des Programms vom Groben ins Feine erläutert (top-down).

Am besten klappt man zunächst einmal in dem Projektbaum alle Elemente zu und erweitert sie erst dann, wenn sie untenstehend erläutert werden. Wenn man im Baum auf ein Element klickt, erscheint im rechten Fenster der Inhalt des Elementes.

Generelle Struktur: program

Das Programm besteht grob gesehen aus drei Struktur-Teilen

  • Vorbeitung (preparation)
  • Durchführung des Experiments (experiment)
  • Durchführung des Trainings (training)

Hierbei wird das Experiment nur durchgeführt, wenn [isTraining] = 0 und das Training nur im Fall [isTraining] = 1. Die Variable var.isTraining wird im Skript evaluate_choice in der Vorbereitung gesetzt und hängt davon ab, welchen Programm-Modus man am Anfang auswählt.

Das Version-Skript dient lediglich der Dokumentation des Versionsverlaufs und das end_text-Skript informiert den Probanden, dass das Programm beendet wird.

Vorbereitung: preparation

Im Bereich der Vorbereitung finden sich Skripte für

  • Spracheinstellungen (language_settings)
  • Globale Parameter (global_settings)
  • Die Auswahl des Programm-Modus (Übungsdurchlauf, Experiment (Vortest), Training mit salientem T2 und Experiment (Nachtest)) (choice_of_mode, evaluate_choice)
  • Ein paar Hilfsfunktionen, die im weiteren Verlauf des Programms benötigt werden (helper_functions)

Durchführung des Experiments: experiment

Auch der Aufbau des Experiments selbst ist einfach gestaltet

  1. Anzeigen der Anweisungen für den Probanden (experiment_instructions)
  2. Zurücksetzen der Statistik-Werte, damit keine Werte von vorherigen Experimenten übernommen werden (reset_statistics, reset_feedback)
  3. Ausführen der Runden-Schleife experiment_laps_loop gemäß der in var.num_of_laps eingestellten Rundenzahl. Da die Steurung über eine Variable erfolgt, wird im Feld Repeat dort nichts angezeigt. Man muss in die Skripteinstellungen des Elementes gehen, um das zu sehen.
  4. Feedback für den Probanden über seine Trefferquote (give_feedback)

Die Runden-Schleife: experiment_laps_loop

Diese Schleife ist für die Abarbeitung der Runden zuständig und wird so oft ausgeführt wie in var.num_of_laps festgelegt (siehe global_settings). Die Ausführung ist in der Sequenz experiment_laps_sequence untergebracht und hat folgenden Aufbau:

  • Anzeigen der Rundeninformation für den Probanden (lap_info_text)
  • Ausführen der eigentlichen Experiment-Schleife, die 10 mal die Stimuli-Sequenz anzeigt

Die Experiment-Schleife: experiment_block_loop

In dieser Schleife findet sich der eigentliche Programmcode zur Anzeige der Stimuli-Sequenz. Diese Schleife wird 10 mal durchlaufen und erzeugt dabei Stimuli-Sequenzen mit je 5 shortSOA und 5 longSOA, also 5 mal folgt T2 in kurzer Distanz auf T1 und 5 mal in großer Distanz. Die Reihenfolge von shortSOA und longSOA ist dabei zufällig:

Innerhalb der Programmsequenz trial_sequence in dieser Schleife erfolgen folgende Programmschritte:

  1. Anzeigen des Fixation-Points für ca. 1 Sekunde
  2. Generieren der Stimuli-Sequenz in create_stim_list
  3. Anzeigen der Stimuli-Sequenz in show_stim_psycho_backend oder show_stim_any_backend. Welches Skript für die Anzeige ausgeführt wird, hängt vom eingestellten Back-End ab.
  4. Abfrage der Ziffern in ask_for_T1_and_T2
  5. Aktualisieren von Statistikdaten wie var.acc (accuracy) in update_statistics
  6. Protokollieren der Rundenwerte und aller Einstellungen in logger

Durchführung des Trainings: training

Das Training folgt fast exakt derselben Struktur des Experiments. Deshalb sind die meisten Items in der Programmstruktur auch mit denen des Trainings verlinkt (linked copy).

Eigentlich gibt es nur zwei Unterschiede

  • Eine eigene Anleitung (training_instructions)
  • Die Ausführungsschleife training_block_loop hat nur den Wert shortSOA und iteriert diesen 10 mal.