Getting Started with NeuroTask Scripting
Getting Started with NeuroTask Scripting
Free!
Minimum price
$8.50
Suggested price
Getting Started with NeuroTask Scripting

This book is 100% complete

Completed on 2016-01-04

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() 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

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 memory.uva.nl 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). 

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Write and Publish on Leanpub

Authors and publishers use Leanpub to publish amazing in-progress and completed ebooks, just like this one. You can use Leanpub to write, publish and sell your book as well! 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. It really is that easy.

Learn more about writing on Leanpub