Courses
This page is constantly updated based on the feedback received by students
and teachers. Do not hesitate to get in touch if you have a suggestion!
Programming Fundamentals (with JavaScript!)
Target: Social science students, beginners and absolute beginners in computer programming.
Last Taught: University of Luzern Block Course Spring 2020
This course teaches the basics of computer programming with the JavaScript language.
Latest slides and exercises are available
here.
Design and Implementation of Online Behavioral Experiments
Target: Social science students, beginners and absolute beginners in computer programming.
Last Taught: Mannheim University Fall Semester 2019
In this applied course, students will learn the fundamentals of experimental design,
will review landmark lab and experiments, and will design and
implement a behavioral experiment of their choice.
To do so, they will first learn how to master the JavaScript language,
to manipulate the DOM tree, and to style HTML pages with CSS rules.
Then, they will learn the nodeGame framework for implementing and running
online experiments, including: defining treatments, game sequences, client types, widgets,
surveys, interactive games, bots, etc.
Do it yourself at your own pace, or teach it your class using the slides in .ppt format.
- Lecture 1. Introduction: From Lab to Online Experiments
-
A quick tour of the pillars of experimental design,
with a focus on the challenges and opportunities of online experimentation.
- Slides:
pdf,
ppt
- Lecture 2. JavaScript Introduction
- A fun intro into JavaScript: the browser's console and primitive types.
- Slides:
pdf,
ppt
- Lecture 3. More JavaScript
- Getting serious about JavaScript: manipulating the HTML DOM and understanding CSS.
- Slides:
pdf
ppt
- Lecture 4. Advanced JavaScript
- Putting the pieces together: a conclusive exercise.
- Slides
pdf,
ppt
- Lecture 5. The Puzzle of Cooperation
- An overview on experimental and behavioral research on cooperation.
- Slides
pdf,
ppt,
- Lecture 6. Getting Started with nodeGame
- Getting to know nodeGame: using the terminal, installation, and the game folder.
- Slides
pdf,
ppt
- Lecture 7. More nodeGame
- The big picture: game stages, treatments, client types, and widgets.
- Slides
pdf,
ppt
- Lecture 8. nodeGame Intermediate
- Getting your hands dirty: implementing the game sequence, creating a survey, and writing a bot.
- Slides
pdf,
ppt
- Lecture 9. nodeGame Advanced
- Mastering nodeGame: interactions between players, timueps, matching players, and the memory database.
- Slides:
pdf,
ppt
- GitHub:
My Experiment
- Lecture 10. Going Live
- A few last advice before sailing off: requirements, authorization, and other production settings.
-
Slides: pdf,
ppt
- Appendix
- Configure and get started with the ATOM editor.
- Slides:
pdf,
ppt
- JavaScript Extra Concepts: npm, closures, debugging, prototype, inheritance.
- Slides:
pdf,
ppt
- Evaluation
- Project Evaluation Criteria.
- Slides:
pdf,
ppt