Getting Started with NeuroTask Scripting
With Membership
Suggested price

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

About the Author

Jaap Murre
Jaap Murre

Jaap Murre is Professor of Theoretical Neuropsychology at the University of Amsterdam. He has been conducting web-based psychological experiments since 2000. Via his website well over 100,000 web-based tests have conducted, resulting in about 20 published articles based on Internet experiments.

Observing how much time students spend on learning even the very basics of web-based programming prompted him to develop the NeuroTask Scripting system, with the aim to greatly speed-up doing web-based testing. Rather than having to learn both server-side and client-side technologies such as PHP, SQL, CSS, JavaScript, JSON, jQuery, etc., the experimenter can concentrate on just a small subset of JavaScript to create sophisticated and complex experiments. In practice, students go from months to hours in order to create an online experiment.

Jaap Murre enjoys programming as part of his research work. He wrote his first computer programs in Pascal and APL in 1986 and has since developed the Walnut - Nutshell neural network simulator (in C/C++, Visual Basic, Python, Javascript) and MasterKeeper software for foreign language learning (in C++ and recently in PHP/JavaScript). 

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() and now()
    • 2.3 Awaiting 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 called main
      • main is default in several Box functions
    • 3.6 Block
      • Removing and destroying Blocks
      • Example Block layouts
      • Showing text in blocks
      • Showing images in blocks
    • 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
    • 4.5 Resizing images
  • 5. Style
    • 5.1 Style with style()
      • Chaining of block function calls
    • 5.2 Queries with tag name, class and id
    • 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
  • 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() and decrease()
    • 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
  • 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
    • 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
  • 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...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 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

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub