Universität Wien

200185 SE Anwendungsseminar: Geist und Gehirn (2020S)

Programming psychological experiments in Python

4.00 ECTS (2.00 SWS), SPL 20 - Psychologie
Continuous assessment of course work

Anwendungsseminare können nur für das Pflichtmodul B verwendet werden! Eine Verwendung für das Modul A4 Freie Fächer ist nicht möglich.

Registration/Deregistration

Note: The time of your registration within the registration period has no effect on the allocation of places (no first come, first served).

Details

max. 20 participants
Language: English

Lecturers

Classes (iCal) - next class is marked with N

Tuesday 10.03. 13:15 - 14:45 Hörsaal C Psychologie, NIG 6.Stock A0618
Tuesday 17.03. 13:15 - 14:45 Hörsaal C Psychologie, NIG 6.Stock A0618
Tuesday 24.03. 13:15 - 14:45 Hörsaal C Psychologie, NIG 6.Stock A0618
Tuesday 31.03. 13:15 - 14:45 Hörsaal C Psychologie, NIG 6.Stock A0618
Tuesday 21.04. 13:15 - 14:45 Hörsaal C Psychologie, NIG 6.Stock A0618
Tuesday 28.04. 13:15 - 14:45 Hörsaal C Psychologie, NIG 6.Stock A0618
Tuesday 05.05. 13:15 - 14:45 Hörsaal C Psychologie, NIG 6.Stock A0618
Tuesday 12.05. 13:15 - 14:45 Hörsaal C Psychologie, NIG 6.Stock A0618
Tuesday 19.05. 13:15 - 14:45 Hörsaal C Psychologie, NIG 6.Stock A0618
Tuesday 26.05. 13:15 - 14:45 Hörsaal C Psychologie, NIG 6.Stock A0618
Tuesday 09.06. 13:15 - 14:45 Hörsaal C Psychologie, NIG 6.Stock A0618
Tuesday 16.06. 13:15 - 14:45 Hörsaal C Psychologie, NIG 6.Stock A0618
Tuesday 23.06. 13:15 - 14:45 Hörsaal C Psychologie, NIG 6.Stock A0618
Tuesday 30.06. 13:15 - 14:45 Hörsaal C Psychologie, NIG 6.Stock A0618

Information

Aims, contents and method of the course

This course is a general introduction to the Python programming language and to the Python-based PsychoPy software package for experimental purposes (stimulus presentation, recording). Each lesson will cover only a few basic programming concepts or functionalities, using plenty of practical examples. While we will eventually focus on experimental aspects (PsychoPy), this course should in any case give a strong fundamental programming knowledge that allows easy further individual learning of other uses of Python or of other programming languages as well. Partly to demonstrate this latter point, toward the end there will be a very short introduction to basic data processing and statistical analyses in R (just one or two lesson, see syllabus).

Assessment and permitted materials

The grading will be based on the writing of a relatively simple PsychoPy script for experimental presentation. Any sort of material or help may be used for writing your script, but it has to be written by you (and so of course you have to know what each function or line of code does). Your script will have to be presented shortly (e.g. 3-5 min) during one of the last lessons, after which you will get some feedback; the final code can be submitted anytime toward the end of the semester (deadline will be specified in due time).

Syllabus (approx.):
1. General introduction to Python. Main variable types, basic commands.
2. The random module. Lists, tuples, strings, and related methods.
3. IF – ELSE – conditional statements, FOR and WHILE loops.
4. Dictionary variables. Defining functions. Local and global variables.
5. Handling files and storing data.
6. Practice: writing small scripts for small games.
7. Exception handling. Classes. Basic data processing and analysis.
8. Introduction to PsychoPy. Input through GUI and screen settings.
9. Presenting stimuli. Timing: the core module.
10. Monitoring and recording input: keyboard and mouse.
11. R statistics intro.
12.-15. Script presentations (& more R, if there is time)

Minimum requirements and assessment criteria

The PsychoPy script will have to be written at the end of the course, and it may present any sort of well-known or totally original psychological task (e.g. an example taken from an article or otherwise a task for your own upcoming thesis).

However, it should include the following elements:
- Welcome screen and instructions (~10%)
- Presentation of stimuli according to the given task - including proper generation of possible items (or trial details) to be presented and possibly a balanced randomization of sequence order (~25%)
- Recording of responses (~20%)
- Feedback about the performance (extra)
- End screen (~5%)
- Output properly saved in a file, with all relevant data per each trial (~20%)
- Automatic preprocessing and/or brief pre-analysis of results (extra)

Grades approx.:
>=50%: 4, >=63%: 3, >=75%: 2, >=87%: 1

The percentages are just illustrative of the importance, there will be no detailed evaluation of each part.

Alternative tasks may be possible (e.g. if you want to do some elaborate data analysis instead), but in that case first discuss it with me.

After most lessons, there will be some small script to write as homework.

Examination topics

Reading list

Material will be uploaded on moodle.

Recommended:
Dawson, Michael. Python programming for the absolute beginner. Cengage Learning, 2010.
http://www.psychopy.org/documentation.html
https://discourse.psychopy.org/
https://stackoverflow.com/
https://repl.it/languages/Python3

Association in the course directory

Last modified: Mo 07.09.2020 15:21