Getting Started with NeuroTask Scripting
Getting Started with NeuroTask Scripting
Create an online psychology experiment in one hour
About the Book
You want to do a web-based experiment, for example, for a marketing study or as part of some psychology research. The web is everywhere, but how can you create a program for it?
This book gives a introduction to web-based programing using the NeuroTask system, which involves a minimal amount of programming in JavaScript. Topics covered are:
- Uploading stimuli
- Creating experiment scripts
- Working with images, sound and video (also YouTube and Vimeo)
- How to collect reaction times
- Randomization of stimuli
- Inviting subjects
- How to follow the progress of your experiment
- Downloading data
Table of Contents
-
Preface
- Audience
- Typographic convention
-
1. Getting started with NeuroTask Scripting
- 1.1 What are scripts and why do we need them?
-
1.2 Scripting psychological experiments
- Writing scripts
- Inviting subjects
-
1.3 Scripts
- The structure of an experiment script
- Your first script: A small experiment
- Walking through Script 1.1
- Script 1.2: A free recall experiment
-
Script 1.3: A shorter script with a for loop
- Variables
- White space
- Assigning values to variables
- Arrays
-
for
loops- increment
-
Script 1.4: Even shorter scripts with
getwords()
- 1.4 You have started with online experiments!
-
2. Capturing keys and reaction times
- 2.1 Simplified script for a lexical decision task
-
2.2 Timing with
await()
andnow()
-
2.3
Await
ing keyboard events- Key presses
- 2.4 Reaction times with timeouts
-
2.5
if...then
statements- Order of interpretation of operators
- 2.6 Non-printable keys
-
2.7 Handling other types of events with
await()
- Click events
-
2.8 More about keyboard events
- Shift-Alt-Ctrl
- 2.9 More complete script for a lexical decision task
-
3. Screen layout with Box and Block
- 3.1 Layout issues for the world-wide web
-
3.2 Two standard layout choices in NeuroTask
- The fill layout
- The square layout
- Font size
-
3.3 Other cross-browser layout issues
- Font types across browsers
- Zooming and text sizing
- Centering text and images
-
3.4
Box
-
3.5 Preset
Box
calledmain
-
main
is default in severalBox
functions
-
-
3.6
Block
-
Removing and destroying
Block
s -
Example
Block
layouts - Showing text in blocks
- Showing images in blocks
-
Removing and destroying
-
3.7 Using blocks as stimuli
- Corsi Block Tapping Task
- Random Dot Stimuli
-
3.8 The
makebox()
convenience function -
3.9 Deleting the contents of a
Box
object
-
4. Images
-
4.1 Visual recognition task
-
-
concat(array1,array2)
-
contains(array,element)
-
log(variable,label)
-
-
-
4.2 Image linking and uploading
- Uploading images
- Linking images
- Uploading versus linking images
- 4.3 Where your images are stored
-
4.4 Preloading images
-
The
preload()
function - Preloading is Block-specific
-
The
- 4.5 Resizing images
-
4.1 Visual recognition task
-
5. Style
-
5.1 Style with
style()
- Chaining of block function calls
-
5.2 Queries with tag name,
class
andid
-
5.3 Color
- Named colors
- RGB and Hex
- Opacity and transparency
-
5.4 Fonts and text styles
- Font family
-
Font size and other text style properties
- Font weight: bold and bolder
- Font style: italic
- Text decoration: underline and line-through
- Font size and line-height
- Text align: left, right, or justify
- Top, left, width, height, and getshape()
- 5.5 Borders
- 5.6 Padding
- 5.7 Preset functions versus block functions
-
5.1 Style with
-
6. Survey questions with form controls
- 6.1 Instruction
- 6.2 Button
- 6.3 Input
-
6.4 Using response values in scripts
- Return values
- The response object
- Feedback with {name}
- 6.5 Largeinput
-
6.6 Select, radio, and scale
-
select()
-
radio()
-
scale()
-
- 6.7 Check
- 6.8 Sleep questionnaire example
- 6.9 Combining controls with startform() and endform()
- 6.10 Validation
-
6.11 TODO: Add initial values either from
response
or as arguments to the functions
-
7. Data logging and handling
-
7.1 Data logging with
log()
- 7.2 Data that is always logged in ‘activated’ scripts
-
7.3 Data tables in your account
- What a ‘session’ is
- What ‘Type’ means in the data table
- 7.4 The main data type selector
-
7.5 Data storage and retrieval
- Storing ‘behind the scenes’ or storing now
-
increase()
anddecrease()
-
7.6 Working with the data tables
- Filtering data
-
7.7 Exporting data
- Pivot tables, or how to make your tables ‘square’ again
- 7.8 Logging, storing, and the ‘response’ object
-
7.1 Data logging with
-
8. Animation and drag-and-drop
-
8.1 Animation
-
Feedback with
blink()
-
Blinking other properties with
toggle()
-
Using the
animate()
function -
A general approach to animation with
RAF()
-
Using icons with the
icon()
function - An animation loop
-
Using icons with the
-
Feedback with
-
8.2 Drag-and-drop
- Drag-and-drop basics
- Dragging a block inside (on top of) another
- Drag-and-drop with multiple drop targets
- 8.3 Putting everything together: A simple game
-
8.1 Animation
-
9. Sound
- 9.1 Preloading sounds
- 9.2 Advanced options
-
10. Working with video
- 10.1 Subtitles and chapters
- 10.2 Advanced options
- 10.3 Supported video options
- 10.4 Getting the video player
- 10.5 Showing the same video simultaneously in two blocks
- 11. Graphics
- 12. Pivot Tables
-
13. Synchronous and asynchronous programming
- 13.1 To be written
-
Example Scripts
- Corsi Block Tapping Task
- Random Dot Pattern Recognition
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them