User Tools

Site Tools


homework3

Homework 3

Summary: This homework assignment is intended to be easy: just write the code that allows you to run this straightforward latency test experiment in two tasks: task 1: press button on any change; and task 2: answer yes/no with arrow keys if word is present in a depicted list.

Late policy: There is no late-policy if you submit after deadline, it is not graded. Check the deadline on the wiki's main page. If you want to know more, read here no-late-policy.

Boost policy: remember you can turn in this assignment ahead of the deadline for a boost up to 7%, read here no-late-policy.

Submission Form: https://forms.gle/sgeNULRhp6kYFJ329

How does form submission work: You are responsible for submitting the form on time. All forms sends you a confirmation email after submission, thus, check your inbox after submitting to be sure your submission went through.

How will we grade this?: (1) we will run your latency testers (task 1 and task 2) on a person who has never seen it, and they will perform a full run through (i.e., to get their own data points for both tasks). Think about ways they might hack/bypass your experiment and try to prevent those from occurring. (2) we will examine your code to see how it implements the requirements; (3) we will watch your videos; (4) we will check the data to check if it is formatted as expected; finally, as always in this class, (5) we expect any interfaces to have decent usability.

Programming assignment: Submit your code in one of the following programming languages: JavaScript (via node or html), Python (make sure to follow this tutorial to share your python dependencies with us), Processing (also known as P5 or P5js), and finally, C or C++ with a working makefile (test it, because we need to run it and this is on you).

Task 1: press button on change

Task 1 goal: The user sees some change and hits a key. Your code records the time difference in milliseconds between the change and the user's input. Your code executes 30 valid trials in a row and outputs the data at the end (e.g., on a csv, printout, or command line formatted as indicated below.)

Task 1 deliverable: (1) Collect 30 latencies (tap on it 30 times) and submit your results and (2) the link to a video of you performing this test to collect the 30 entries (see here how we recommend video links in this class).

When you submit your results: format them as a comma-separated list of 30 integers values in milliseconds . Your results should look like this:

600, 300, 400, 800, 400 [etc for all 30 entries, no other numbers or text, no floating points, no other separators except commas] 

Task 2: answer yes/no with arrow keys if word is present in a depicted list

Task 2 goal: You have received a library of words (n), a sample size (m) and a word (w) via email. For each trial, randomly select m number of words from the library of n words to be displayed as a list. The user needs to press the right key on the keyboard if this word is present, or the left key if not. (Yes = right key | No = left key.) As in the last task, your code records the time in milliseconds between the list & the word being shown and the user's input. However, the user cannot make mistakes. If they make a mistake, you must reset the task. The user's goal is to complete 10 reactions in a row without any mistakes, only then is the experiment valid and you can report this result.

Task 2 deliverable: (1) Collect 10 latencies (tap on it 10 times) and (2) submit your results (no mistakes allowed, 10 correct answers in a row).

homework3.txt · Last modified: 2023/12/18 16:59 by pedrolopes

Page Tools