You are on page 1of 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/266394549

The Use of Programming Languages and Computer Software in Psychological


Science

Article in Temas em Psicologia · October 2014


DOI: 10.9788/TP2014.3-09

CITATIONS READS

2 386

5 authors, including:

Nelson Alves Bernardino Fernández-Calvo


Universidade Federal da Paraíba University of Cordoba (Spain)
54 PUBLICATIONS 792 CITATIONS 123 PUBLICATIONS 1,330 CITATIONS

SEE PROFILE SEE PROFILE

Armindo de Arruda Campos Neto Natanael Antonio dos Santos


Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso (IFMT) Universidade Federal da Paraíba
8 PUBLICATIONS 31 CITATIONS 199 PUBLICATIONS 1,083 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Bernardino Fernández-Calvo on 05 October 2014.

The user has requested enhancement of the downloaded file.


ISSN 1413-389X Trends in Psychology / Temas em Psicologia – 2014, Vol. 22, nº 3, 529-538
DOI: 10.9788/TP2014.3-09

The Use of Programming Languages


and Computer Software in Psychological Science

Nelson Torro-Alves1
Departamento de Psicologia da Universidade Federal da Paraíba,
João Pessoa, Paraíba, Brasil
Bernardino Fernández-Calvo
Departamento de Psicologia da Universidade Federal do Rio Grande do Norte, Natal,
Rio Grande do Norte, Brasil
Antonio Aznar Casanova
Departamento de Psicología Básica de la Universidad de Barcelona, Barcelona, España
Armindo de Arruda Campos Neto
Instituto Federal de Mato Grosso, Cuiabá, Mato Grosso, Brasil
Natanael Antonio dos Santos
Departamento de Psicologia da Universidade Federal da Paraíba,
João Pessoa, Paraíba, Brasil

Abstract
In the present paper, we review some programming languages and computer software used to investi-
gate basic psychological processes. In the first section, we address the principles and logical structure
of the most common programming languages (e.g. C, C++, Java, Matlab, R, Python), and in the second
section we present some of their applications to psychological research. Finally, we discuss the impor-
tance of computer programming as a tool in the field of psychology and its relationship with technolo-
gical innovation.
Keywords: Basic psychological processes, programming language, software, technological innovation

O Uso de Linguagens de Programação e Softwares


na Ciência Psicológica

Resumo
No presente artigo foram revisadas algumas linguagens de programação e softwares usados na investi-
gação dos processos psicológicos básicos. Na primeira seção, foram abordados os princípios e a estru-
tura lógica das linguagens mais comuns de programação (e.g. C, C++, Java, Matlab, R e Python), e na
segunda seção foram apresentadas algumas de suas aplicações na pesquisa psicológica. Ao final, são
discutidas a importância da programação como uma ferramenta no campo da psicologia e sua relação
com a inovação tecnológica.

1
Mailing address: Departamento de Psicologia, Centro de Ciências Humanas, Letras e Artes, Universidade
Federal da Paraíba, Campus I, Cidade Universitária, João Pessoa, PB, Brasil 58051-900. E-mail: nelsontorro@
yahoo.com.br
This work received financial support from National Council for Scientific and Technological Development
(CNPq), Grant nº 479366/2011-0 (Edital 14/2011) and Grant nº478966/2012-1 (Edital 14/2012), delivered to
the first and second author, respectively.
530 Torro-Alves, N., Fernández-Calvo, B., Casanova, A. A., Campos Neto, A. A., Santos, N. A.

Palavras-chave: Processos psicológicos básicos, linguagem de programação, software, inovação


tecnológica.

El Uso de los Lenguajes de Programación y los Programas


Informáticos en la Ciencia Psicológica

Resumen
En el presente artículo revisamos algunos de los lenguajes de programación y programas informáticos
utilizados en la investigación de los procesos psicológicos básicos. En la primera sección, abordamos
los principios y la estructura lógica de los lenguajes más comunes de programación (e.g., C, C++, Java,
Matlab, R, y Python), y en la segunda sección, presentamos algunas de sus aplicaciones en la investi-
gación psicológica. Al final, discutimos la importancia de la programación como una herramienta en el
campo de la psicología y su relación con la innovación tecnológica.
Palabras claves: Procesos psicológicos básicos, lenguaje de programación, software, innovación tec-
nológica.

Basic Psychological Processes The simulation of a given basic process


and Programming Languages (e.g. shape recognition) is based on a neurophy-
siological model, which is used to formulate a
Psychobiology is a branch of psychology mathematical model in the format: input signal
concerned with basic psychological processes representation → processing algorithm → out-
such as attention, perception, memory, learning, put signal. A detailed model can be implemented
emotion, motivation, thought, and language. In in a computer and allows the simulation of cog-
undergraduate Psychology courses in Brazil, nitive processes. If the processing algorithm pro-
the study of basic processes has an emphasis on duces outputs that are comparable to human (or
experimentation, especially in the fundamental animal) responses, then there are evidences that
courses, such as General and Experimental Psy- the theoretical model is accurate and has expla-
chology I, II, and III. The empirical approach natory power. Therefore, computational simu-
to investigate the relationships between mental lation is a useful strategy to test theories about
processes and brain functioning has benefited mental functioning and cognition, allowing to
from the development of programming langua-
establish their strengths and weaknesses (e.g.,
ges and computer software. These tools allow
Gerstner, Sprekeler, & Deco, 2012).
the manipulation and control of stimuli and va-
The integration between research on basic
riables, the automation of complex experimental
processes and information technology increases
procedures, and the processing of large amounts
reliability and validity in the fields of psychobio-
of data. In addition, they also allow the compu-
logy and cognitive neuroscience. Programming
tational simulation of basic processes, a research
languages and computer software not only pro-
field known as computational neuroscience.
vide a better use of laboratory resources, but also
An important reference in the field is the con-
a better way to control stimuli presentation, ran-
nectionist approach described in classical book
domization, and other experimental variables,
Parallel Distributed Processing: Explorations
in the Microstructure of Cognition (Rumelhart reducing the impacts of confounding factors
& McClelland, 1986), in which authors analy- (e.g. equipment precision in stimuli onset/offset
zed computational simulation and machine lear- and response registration). Furthermore, much
ning as applied to perception and other cognitive has been gained in terms of data processing and
functions. data visualization.
The Use of Programming Languages and Computer Software in Psychological Science. 531

There is a wide range of programming lan- code to control hardware operations, Kernighan
guages that can be used in psychological re- and Ritchie (1978) proposed a high-level lan-
search, however, special attention should be guage similar to English, which is an abstraction
given to choose the most appropriate one. The of low-level machine language. Codes written in
right choice will depend on several factors, such C are translated into an assembly language by
as the object of research, the equipment required a compiler, and then an executable program is
in experimentation, the variables to be controlled generated (Hekma, 2005).
(e.g. physical characteristics of stimuli), and the The main characteristic of C is the use of
need of reusing codes in future studies. An in- structured programming, i.e. the program is or-
correct choice may increase programming time, ganized in independent blocks (functions, clas-
delay data collection and experimental results. ses, sub-routines etc.) and may include other
In addition, some languages may be unsuitable blocks that communicate with the main block by
to control certain laboratory equipments. means of variables, parameters and arguments.
There are some properties crucial for choo- Given its characteristics, C is considered a
sing a specific programming language, such as general-purpose language that can run on any
ease of learn and use, reliability in application microprocessor that has its own C compiler.
development and error handling, portability, rea- It is a language suitable to develop codes and
dability, and reusability of the source-codes (i.e. software that are easy to understand and main-
to reuse pieces of code in other projects; Couto, tain (Pardue, 2005). Despite its popularity and
Virtuoso, & Martins, 2012). advantages in accessibility, nowadays C has se-
In psychological research, one of the main veral drawbacks in portability, reusability, and
advantages of a programming language is por- readability in comparison with more recent pro-
tability (i.e. a program may be distributed for gramming languages such as C++ and Java, gi-
several platforms without requiring further ven that C codes may become complex, difficult
adaptations). Given the fast development of in- to read and to maintain (Couto et al., 2012).
formation technology, there are currently many
programming languages, and the most common C++ Programming
ones, such as C, C++, Java, Matlab, Python, and C++ was created by Bjarne Stroustrup in the
R are briefly presented below. Although we may early 1980s, it was standardized in 1998 by the
focus on some programming languages in the American National Standards Institute (ANSI)
present work, it is important to highlight that and by the International Standards Organization
many other languages could also work perfectly (ISO). It is a high-level, object-oriented langua-
well in psychology and neuroscience research. ge that works with classes and objects, which are
“packages” of structured codes (similar to C lan-
C Programming guage) designed to process specific information.
Since the classical book The C Program- In object-oriented languages such as C++ and
ming Language was published by Brian Ker- Java, objects are the building blocks of program-
nighan and Dennis Ritchie in 1978, the world ming and they may be reused in other projects
of computing has undergone a revolution. C has (Hekma, 2005).
evolved, albeit moderately, and spread far be- Three steps are necessary to create a com-
yond its original purpose, i.e. a language for the puter executable program. First, the program
UNIX operating system (Kernighan & Ritchie, should be written (a set of computational orders)
1988). C offers a text mode which is logical, and compiled, that is, the programming language
structured, and easy to read in comparison with codes are translated into machine codes in binary
hardware-specific assembly languages. Whereas system (the only language that the CPU unders-
assembly languages work at low-level instruc- tands), producing an executable file. Second, the
tions that are directly translated into machine debugging process is responsible to detect exe-
532 Torro-Alves, N., Fernández-Calvo, B., Casanova, A. A., Campos Neto, A. A., Santos, N. A.

cution and logic errors that occurred during the Its first version was written by Cleve Moler
compilation phase. Finally, the program is sub- in 1970 to provide a simple and interactive way
mitted to be intensively tested by the users. to write programs, given that codes do not requi-
C++ provides a convenient notation for im- re compilation. In the Matlab environment, it is
plementing algorithms, the programmers do not possible to write scripts or simple commands to
have to think in low-level terms and they can fo- execute instructions at runtime, allowing opera-
cus on specific functions of a program (Hekma, tions with variables and data registration, which
2005). It has the advantages of reusability and makes it very versatile (Wallisch et al., 2008).
readability, however, it combines the difficulties The strengths of Matlab include powerful pro-
of both structured and object-oriented program- gramming tools, highly advanced algorithms,
ming, requiring time and effort to be learned extensive data manipulation, and many graphical
(Couto et al., 2012). features. It performs fast numerical processing
and has a large number of built-in functions and
Java Programming libraries called toolboxes (e.g. statistics, optimi-
Java was created by the company Sun Mi- zation, image processing, neural networks etc.).
crosystems in the early 1990s because its deve- Matlab also provides useful tools for data visua-
lopers realized that microprocessors were being lization and simulation (Wallisch et al., 2008).
increasingly used in numerous electronic devi- One of the main advantages of Matlab is the
ces by a broad network of consumers. Led by possibility of using external libraries (toolbo-
James Gosling, the company developed Java – a xes), many of which are freeware. For example,
language suitable to write programs that can run the Psychophysics toolbox (or Psychtoolbox)
on a wide range of computer systems and contro- facilitates the development of experiments to
lling devices (Deitel & Deitel, 2011). investigate basic psychological processes, such
When the Web exploded in popularity in as visual perception (Kleiner, Brainard, & Pelli,
1993, the company realized the potential of Java 2007; Pelli, 1997).
to add dynamic content (e.g. animations and in- Other toolboxes are also useful to research
teractivity) to web pages. This language is now on basic processes. The Signal Processing Tool-
used to develop large-scale enterprise applica- box supports a wide range of signal processing
tions, enhance the functionality of web servers operations, such as waveform generation, fil-
and provide applications for consumer devices. ter design, parametric modeling, and spectral
Today, Java is the language most widely used in analysis. The Image Processing Toolbox (The
software development (Deitel & Deitel, 2011). MathWorks, Inc., Natick, MA, USA) offers a
When compared with languages like C and series of algorithms and graphic tools for ima-
C++, Java has advantages in reliability, porta- ge processing and visualization, allowing many
bility, readability, and reusability (Couto et al., operations such as image enhancement, focus,
2012), providing excellent resources to develop blur, feature detection, noise reduction, image
programs. segmentation, geometric transformations etc.

Matlab Programming Python Programming


Matlab is the commercial software most Python is a very popular portable, powerful
widely used for numerical processing (Sharma and open source programming language, which
& Gobbert, 2010). Among other programming provides various forms of programming and it is
languages, Matlab enjoys greater popularity in believed to be extremely easy to handle (Lutz,
quantitative studies in mathematics, statistics, en- 2009). It is considered a high-level language
gineering, and other scientific domains (Brewster program, and, therefore, it demands less time to
& Gobbert, 2011). Basically, uses in the pro- write, being easier to read and maintain (Dow-
gramming of its scripts ANSI C (or standard C). ney, 2008).
The Use of Programming Languages and Computer Software in Psychological Science. 533

Programming gains a lot in readability, con- The R programming has gained much po-
sistency and quality of software. Furthermore, it pularity in the scientific community, especially
is reusable and easier to maintain than traditio- in the development of statistical software and
nal script languages. The uniformity of Python data analysis of the experiments. The platform
code makes it easy to understand, and it is ty- R (R Development Core Team, 2008, http://
pically one third to one fifth of the size of C++ www.r-project.org) has the advantage of being
or Java. It can be executed immediately, without free software, as a powerful and affordable tool
the steps of compilation and long links deman- in the context of the classroom and research.
ded by some other tools. This language provides It has packages that let you perform functions
high-speed programming (Lutz, 2009). in MATLAB ® R. As a strong point, it has the
Python has extensive support library, for quality of producing well-designed and high-
example, NumPy (http://www.numpy.org) ex- quality printing graphics. In addition, there are
tension, and it has been described as a free and numerous functions for handling, import and ex-
more powerful equivalent to the Matlab numeri- port data, being multiplatform, with versions for
cal programming system. It also has great inte- Windows, MacOS, GNU/Linux and Unix. You
gration, being able to call C, C++ libraries and can load external data in many different ways,
be integrated with Java (Lutz, 2009). including spreadsheets such as Microsoft Ex-
There is a plethora of packages in Python cel® and Open-Office, database and even other
for a variety of applications, and new packages, packages, such as MINITAB®, and SPSS®
as well as improvements to the existing ones, (Henning, Alves, Konrath, & Samohyl, 2009).
are available daily. A good example is the Psy-
choPy (http://www.psychopy.org), widely used E-Prime Programming
in neuroscience, psychology and psychophysics E-Prime is a suite of applications widely
experiments, offering entirely free libraries. The used to computerize experiments, providing an
PsychoPy scripts are designed to be extremely environment to develop complex research pro-
easy to read and write, while allowing the user to jects, collect and analyze data with high preci-
customize the stimuli. The tools provided in the sion and high flexibility. It has excellent graphi-
package enable the performance from long sti- cal interface besides generating great precision
mulus presentation and the collection of answer in the presentation of stimuli and data collection.
to a simple analysis of data to mounting a psy- Its suite also includes a data management utility
chometric function. This package also has the ad- that allows you to filter, edit, analyze and export
vantage of being highly extensible and the entire data. Moreover, it can recover files which had
system can evolve through users’ contributions. broken or corrupted data during the experiment.
The E-prime also has the capability to play di-
R Programming gital movies as stimuli and to digitally record
The R environment is a set of software and vocalization of the participants. All this infor-
programming language based on S, for data mation, as well as access to the program and te-
analysis and visualization. It is a language with a chnical support, are available and earmarked for
runtime environment with graphics, a debugger studies involving experimental psychology, as it
for testing other programs, in addition to having can be found on the site https://www.pstnet.com/
the ability to run programs stored in script files eprime.cfm.
(Rizzo, 2008). The E-Prime is widely used in studies in-
R programming is fast becoming the stan- volving psychophysics, especially the auditory
dard for statistical computing and analysis in the perception, as in the research of Pütz and Sico-
social sciences, engineering and others. It is an la (2010) involving the multilingual lexicon, in
open source statistical language widely used for which the program administered auditory stimu-
manipulating statistics and produce publication- li of the experiment. In the study by Costa and
quality graphs (Gardener, 2012). Zimmer (2012), the software was used to evalua-
534 Torro-Alves, N., Fernández-Calvo, B., Casanova, A. A., Campos Neto, A. A., Santos, N. A.

te the performance of older adults in nonverbal red visual stimuli, since its introduction to data
task linked to executive functions. The E-prime collection. In Table 1, we present some sites with
was of great benefit to the management of colo- about tutorial and codes for use in psychology or
helpful to start learning programming.
Table 1
Examples of Sites with Tutorial and Programming Codes for Use in Psychology or Helpful to Start Lear-
ning Programming

Name Description Website

Psychophysics Toolbox Free set of Matlab and GNU/Octave http://psychtoolbox.org/


Version 3 (PTB-3) functions for vision and auditory research.

Code Academy Interactive website teaching the basics of http://www.codecademy.com/


Javascript and other programming languages.

Cogent Graphic toolbox and psychophysics http://www.vislab.ucl.ac.uk/cogent.php


experiments in Matlab.

Cprogramming Tutorial and Codes in C/C++ http://www.cprogramming.com/

E-prime E-prime website https://www.pstnet.com/eprime.cfm

Matlab for Basic guide for running and analyzing http://antoniahamilton.com/matlab.html/


Psychologists psychology experiments.

MATLAB for MATLAB code and program outputs that http://www.matlab-behave.com/


Behavioral Scientists. appear in the reference book. Rosenbaum (2007)

PsychoPy Open-source application to present stimuli http://www.psychopy.org/


and collect data in neuroscience, psychology
and psychophysics experiments.

R Free software environment for statistical http://www.r-project.org/


computing and graphics.

Programming Languages and C++ can be used to control important as-


Software: Applications to Research pects of stimuli presentation, such as: (a) mil-
in Perception and Cognition lisecond precision timing (i.e. stimulus onset,
duration and offset); (b) computer monitor cali-
Programming languages such as C, C++, bration (i.e. luminance and contrast); (c) visual
and Java were not initially designed for applica- stimuli size and location on display; (d) auditory
tions in psychological research. However, giv- stimuli characteristics (frequency, amplitude,
en their versatility and precision in controlling and pitch); (e) presentation mode (static or dy-
stimuli characteristics and experimental proce- namic). Furthermore, computer programs also
dures, they have become useful tools in the study allow the controlling of important features of
of basic psychological processes, allowing to the experimental design, for example, stimuli
investigate, for example, emotional perception presentation may occur at random or follow a
(Alves, Aznar-Casanova, & Fukusima, 2009), pre-established pattern. In psychophysics, the
detection of spatial frequency (Santos, Andrade, programs allow the implementation of sophisti-
& Fernández-Calvo, 2013), spatial navigation in cated procedures, such as adaptive methods that
virtual environments (Aznar-Casanova, Alves, otherwise would be difficult to control.
& da Silva, 2012) and age perception (Aznar- In adaptive methods, the intensity of a given
Casanova, Torro-Alves, & Fukusima, 2010). stimulus depends on the participant’s previous
The Use of Programming Languages and Computer Software in Psychological Science. 535

response to another stimulus. Such methods a device set at 250 Hz records eye positions at
can be used to measure sensory thresholds – every 4 milliseconds (ms), and an experiment
the stimulus minimal amount of energy that an running for 10 minutes produces an output con-
individual can detect, for example, the lowest sisting of 150,000 lines. The data comprising
sound intensity. The double staircase method the x/y coordinates of eye position (and other
(Cornsweet, 1962) consists of two random se- information such as pupil diameter, blinks etc.)
ries of stimuli: a descending series (from high- should be analyzed in order to detect patterns of
to low-intensity stimuli) and an ascending one eye movements. Therefore, it is essential to use
(from low- to high-intensity stimuli). In auditory computer software and programming languages
perception, an ascending series may start at 5 to control Eye-tracker functioning and process
decibels (dB), with intensity increasing in steps large amounts of data.
of 5 dB until stimulus detection. On the other In studies using Eye-tracker, data analysis is
hand, the descending series starts with audible, feasible with the use of a programming langua-
high-intensity sounds, which decrease progres- ge like Matlab and C++, which performs data
sively until no detection occurs. The experiment processing to produce visual representations of
finishes at the junction of the series, which in- eye movement patterns over the observed pictu-
dicates the sensory threshold, in this case, how res. In addition, the program may also detect the
many decibels are necessary for stimulus de- number of fixations in regions of interest. These
tection. The double staircase method may have fixations represent a record of behavioral/phy-
complex rules, for example, to decrease stimu- siological processes underlying cognitive and
lus intensity after three correct answers and to attentional processes.
increase intensity after a failure in detection At present, there are some application soft-
(Torro-Alves, Santos, & Simas, 2012). These ware specially designed for analyzing eye mo-
psychophysical methods, which are difficult to vements. In some cases, the user interface is
implement manually or by other means, can be friendly, allowing the registration and visuali-
easily implemented with a flexible programming zation of measures of interest without requiring
language such as C++. programming. For example, the software BeGa-
In the study of basic psychological proces- ze 2 (SensoMotoric Instrument – SMI) presents
ses, many experimental procedures require pro- “heat maps” in static or dynamic images, and
gramming, for example, eye tracking – the mea- can perform quantitative analyses of saccades,
suring of eye fixations and saccadic movements fixations, winks, and reaction time. These data
during visual scene perception. Eye movements can be easily exported to a computer software
can reveal important information to understand such as Microsoft Excel © or the IBM Statistical
perceptual, attentional, and cognitive processes Package for Social Sciences (SPSS v.18.0IBM
involved in vision. In order to record eye mo- SPSS Statistics for Windows, IBM Corp., NY,
vements, a device known as Eye-tracker is used USA).
coupled to a computer, and the most common Python is one of the most sought programs
type of Eye-tracker projects on the participant’s by fields of psychology and neuroscience, espe-
eye an infrared light, which is reflected back cially those directed to psychophysics and visual
by the retina and cornea. This reflection is then perception. A good example of its application
captured by the device’s camera, and the vector is the study of Aguilar and Castet (2011) which
from the pupil center to the corneal reflection used the library PsychoPy to create a software
point is used to determine the eye-gaze direction that managed visual stimuli and integrated an
(i.e. which part of an image one is looking; Han- eyetracker EyeLink II (EL II – headmounted
sen & Ji, 2010). binocular eyetracker – SR Research Ltd., Mis-
Eye-trackers based on infrared light can re- sissauga, Ontario, Canada) in the eye-tracking
cord information in certain frequencies, such as trying to simulate retinopathy in healthy indivi-
50, 100, or 250 Hertz (Hz). To give an example, duals.
536 Torro-Alves, N., Fernández-Calvo, B., Casanova, A. A., Campos Neto, A. A., Santos, N. A.

An Eye-tracker may also operate using a cephalography (MEG). These techniques have
pre-established programming language. For also promoted the development and improve-
example, the device produced by the company ment of application software and algorithms
Cambridge Research Systems was developed used for data processing.
with a MATLAB interface. It has a specific Given the interface between psychology
toolbox that allows the device calibration and and technological sciences, the APA launched in
the control of stimuli presentation, response co- 2010 a task force to include psychology in the list
llection, and data analysis. Thus, MATLAB – its of STEM disciplines (i.e. Science, Technology,
programming language and toolboxes, provide Engineering and Mathematics). The motivation
many resources suitable for each step of the re- is that psychology may be considered a basic
search process: from experimental procedure to science of behavior, using scientific methods and
device control and data processing. laboratory resources to test hypotheses about hu-
man behavior. In the history of psychology, all
Research on Basic Psychological sorts of technological resources have been used,
Processes and Technological such as the apparatus used in animal research, as
Innovation well as in human experimental psychology, for
example, virtual reality techniques, functional
In Brazil, there is a tendency to consider neuroimaging, computer software and program-
Psychology apart from other scientific and te- ming languages. Therefore, there is wide support
chnological domains, possibly due to its link that psychological research is strictly linked to
to clinical practice or to its deep relationships technological innovation. In Brazil, chances in
with Philosophy. This perspective is mislea- the traditional programs of the undergraduate
ding, however, given that many branches of courses of psychology would be important to
psychology – especially research on basic pro- strength the connection between the psychology
cesses – have important intersections with other and technology, for example, with the inclusion
scientific disciplines. To give some examples of programming language courses.
of technological innovation developed with the
help of psychological research, we can mention Conclusions
statistical methods and the design of devices
of cockpit airplanes, air traffic control systems, The use of programming languages and
and other security systems such as the centered computer software has been essential to the
high-mounted brake light (American Psycholo- development of Psychology. If these tools were
gical Association [APA], 2010). In particular, not available, many cognitive processes could
research on basic psychological processes moti- not have been studied or investigated with
vated the development of many application soft- appropriate methods. Interestingly, there is also
ware to control stimuli and experimental proce- a contribution of psychology, in particular of
dures, such as SuperLab (http://www.superlab. research on basic psychological processes, to
com.br), E-Prime (https://www.pstnet.com/ the process of technological innovation and the
eprime.cfm), and the Psychophysics ToolBox development of new programming languages
(http://www.psychtoolbox.org). and software.
The study of mental processes has also in- In summary, to considerer psychology as a
fluenced the development of techniques for re- basic science linked to technological innovation
cording electric and magnetic signals associa- may have positive impacts on its development
ted with brain functioning, resulting in some and its relationships with other disciplines. In
functional neuroimaging technologies such Brazil, to acknowledge this fact would make
as electroencephalography (EEG), Functional possible the inclusion of psychology in the Go-
Magnetic Resonance Imaging (fMRI), Positron vernment priority areas of Science and Techno-
Emission Tomography (PET), and Magnetoen- logy. In this case, psychological research would
The Use of Programming Languages and Computer Software in Psychological Science. 537

have access to huge federal funding, such as the Couto, M. A., Jr., Virtuoso, G. H. F., & Martins, P.
Science without Borders Program, which pro- J. (2012). Propriedades desejáveis a uma lingua-
motes the consolidation, expansion, and interna- gem de programação: Uma análise comparativa
entre as linguagens C, C++ e Java. Anais SUL-
tionalization of Brazilian science.
COMP, 1(1). Recuperado em http://periodicos.
unesc.net/index.php/sulcomp/article/viewArti-
References cle/796
Deitel, H. M., & Deitel, P. J. (2011). Java how to pro-
Aguilar, C., & Castet, E. (2011). Gaze-contingent
simulation of retinopathy: Some potential pit- gram: International version (9th ed.). London:
falls and remedies. Vision Research, 51, 997- Pearson Education.
1012. doi:10.1016/j.visres.2011.02.010 Downey, A. (2008). Think Python. How to think like
Alves, N. T., Aznar-Casanova, J. A., & Fukusima, a computer scientist. Needham, MA: Green Tea
S. S. (2009). Patterns of brain asymmetry in Press.
the perception of positive and negative fa- Gardener, M. (2012). Beginning R: The statistical
cial expressions. Laterality, 14(3), 256-272. programming language. Indianapolis, IN: John
doi:10.1080/13576500802362927 Wiley & Sons.
American Psychological Association. (2010). Psy- Gerstner, W., Sprekeler, H., & Deco, G. (2012).
chology as a Core Science, Technology, Engi- Theory and simulation in neuroscience. Science,
neering, and Mathematics (STEM) discipline. 338(6103), 60-65. doi:10.1126/science.1227356
Washington, DC: Author. Retrieved from http://
www.apa.org/science/about/psa/2010/08/stem- Hansen, D. W., & Ji, Q. (2010). In the eye of the be-
report.pdf holder: A survey of models for eyes and gaze.
IEEE Transactions on Pattern Analysis and Ma-
Aznar-Casanova, J. A., Alves, N. T., & da Silva, J. chine Intelligence, 32(3), 478-500. doi:10.1109/
A. (2012). Human navigational strategies in a TPAMI.2009.30
virtual environment. In C. Sík Lányi (Ed.), Ap-
plications of virtual reality (pp. 73-88). Rijeka, Hekma, S. (2005). Communication networks. Newa-
Croatia: In Tech. rk, DE: PragSoft Corporation.

Aznar-Casanova, J., Torro-Alves, N., & Fukusima, Henning, E., Alves, C. C., Konrath, A. C., & Samo-
S. (2010). How much older do you get when a hyl, R. W. (2009). Uma breve visão sobre
wrinkle appears on your face? Modifying age aplicações em ambiente R para o ensino de
estimates by number of wrinkles. Neuropsychol- engenharia. In 37o Congresso Brasileiro de Edu-
ogy, Development, and Cognition. Section B, cação em Engenharia – Cobenge. Recife, PE:
Aging, Neuropsychology and Cognition, 17(4), Associação Brasileira de Educação de Engenha-
406-421. doi:10.1080/13825580903420153 ria. Recuperado em http://dspace.universia.net/
handle/2024/555
Brewster, M. W., & Gobbert, M. K. (2011). A
comparative evaluation of Matlab, Octave, Kernighan, B. W., & Ritchie, D. M. (1978). The C
FreeMat, and Scilab on tara (Technical Report programming language. Englewood Cliffs, NJ:
HPCF–2011–10). Baltimore, MD: University of Prentice Hall.
Maryland, Baltimore County High Performance Kernighan, B. W., & Ritchie, D. M. (1988). C pro-
Computing Facility. Retrieved from http://user- gramming language (ANSI-C Version) (2nd ed.).
pages.umbc.edu/~gobbert/papers/BrewsterGob- New Delhi, India: Prentice-Hall of India.
bertTR2011.pdf
Kleiner, M., Brainard, D., & Pelli, D. (2007). “What’s
Cornsweet, T. (1962). The staircase method in psy- new in Psychtoolbox-3?” [Abstract] Perception,
chophysics. American Journal of Psychology, 36(Suppl.), 14.
75, 485-491.
Lutz, M. (2009). Learning Python (4th ed.). Sebasto-
Costa, A. L. P. A., & Zimmer, M. C. (2012). De- pol, CA: O’Reilly Media.
sempenho de idosos com presbiacusia em
tarefas de controle inibitório. Revista da So- Pardue, J. (2005). C programming for microcon-
ciedade Brasileira de Fonoaudiologia, 17(2), trollers: Featuring ATMEL’s AVR butterfly and
151-155. doi:http://dx.doi.org/10.1590/S1516- the free WinAVR compiler. Knoxville, TN: Smi-
80342012000200008 ley Micros.
538 Torro-Alves, N., Fernández-Calvo, B., Casanova, A. A., Campos Neto, A. A., Santos, N. A.

Pelli, D. G. (1997). The VideoToolbox software for Sharma, N., & Gobbert, M. K. (2010). A compara-
visual psychophysics: Transforming numbers tive evaluation of Matlab, Octave, FreeMat, and
into movies. Spatial Vision, 10(4), 437-442. Scilab for research and teaching (Technical Re-
doi:10.1163/156856897X00366 port HPCF-2010-7). Baltimore, MD: University
of Maryland, Baltimore County High Perfor-
Pütz, M., & Sicola, L. (2010). Cognitive processing
mance Computing Facility.
in second language acquisition. Amsterdam,
Netherlands: John Benjamins. Torro-Alves, N., Santos, N. A., & Simas, M. L. B.
(2012). A utilização de métodos psicofísicos na
R Development Core Team. (2008). R: A language
medição da sensibilidade ao contraste visual em
and environment for statistical computing [Pro-
humanos. In J. F. Landeira & S. S. Fukusima
gramming language]. Vienna, Austria: R Foun-
(Eds.), Métodos em neurociência (pp. 35-47)
dation for Statistical Computing. Retrieved from
Barueri, SP: Manole.
http://www.r-project.org
Wallisch, P., Lusignan, M. E., Benayoun, M. D.,
Rizzo, M. L. (2008). Statistical computing with R.
Baker, T. I., Dickey, A. S., & Hatsopoulos, N.
Boca Raton, FL: Chapman and Hall.
G. (2008). MATLAB for neuroscientists: An in-
Rosenbaum, D. A. (2007). MATLAB for behavioral troduction to scientific computing in MATLAB.
scientists. Mahwah, NJ: Lawrence Erlbaum. Oxford, UK: Academic Press.
Rumelhart, D. E, & McClelland, J. (1986). Paral-
lel distributed processing: Explorations in the
microstructure of cognition. Cambridge, MA:
Massachusetts Institute of Technology Press.
Santos, N. A., Andrade, S. M., & Fernández-Calvo,
B. (2013). Detection of spatial frequency in
brain-damaged patients: Influence of hemi-
spheric asymmetries and hemineglect. Fron- Recebido: 10/02/2014
tiers in Human Neuroscience, 7. doi:10.3389/ 1ª revisão: 02/05/2014
fnhum.2013.00092 Aceite final: 05/05/2014

View publication stats

You might also like