TidyBlocks: FAQ

Who is TidyBlocks for? Our primary audience is students in middle school and high school (ages 10-18) who are learning how to use and interpret data. We hope that older learners, such as students doing introductory statistics at the college level, will also find it useful.

Why blocks? For several reasons:

  1. Many studies have shown that block-based programming is more accessible to novices than text-based programming.
  2. If school-age users have done any programming before, they have probably used Scratch, so the block interface will already be familiar to them.
  3. Just as importantly, the interface will already be familiar to their teachers.

Can TidyBlocks do [thing]? The answer is either "no" or "not yet":

  1. TidyBlocks is never going to be an industrial-strength data analysis tool, any more than Scratch is meant to replace languages like Java. They are both balance bikes designed to help people master key concepts before moving on to other tools.
  2. That said, we need to add more blocks to handle the kinds of questions that come up in high school statistics courses. Suggestions are very welcome, as are examples and help with implementation. Please contact us if you would like to contribute.

Is TidyBlocks an RStudio product? No. The first version was developed by Maya Gans while she was a summer intern, but TidyBlocks is a free-standing open source project.

Does TidyBlocks use R or Python? No: TidyBlocks is 100% JavaScript.

Does TidyBlocks generate R or Python code? No, but it could. While Version 1 generated executable JavaScript directly, Version 2 produces JSON that is then translated into runnable code objects. Generating R or Python that could be copied and pasted into some other system would be straightforward, but from a teaching point of view we think it would be better to get learners to use those systems directly once they have learned what they're trying to do.

Do I need to install anything to use TidyBlocks? No. TidyBlocks runs in any modern browser without any kind of server process, so it does not require you to install anything. (This is particularly important for users at schools and libraries, whose machines are often locked down for security reasons.)

Do I need to create an account to use TidyBlocks? No, and we do not collect any data of any kind about our users.

Can I save projects, results, and plots locally? Yes.

What license does TidyBlocks use? The Hippocratic License, which allows it to be used for anything that doesn't violate basic human rights laws. (If what you're teaching or the way you're teaching it violates the Universal Declaration of Human Rights, we'd rather not be involvd.)

How does the project make decisions? Maya Gans, Justin Singh, and Greg Wilson are responsible for reviewing and merging pull requests, prioritizing issues, and deploying updated versions. For the moment they make decisions by consensus, but if we gain more regular contributors, we will start using Martha's Rules to give everyone involved an equal voice.

How can I contribute? We're glad you asked:

Where can I contribute? Please use our GitHub repository to file issues and submit pull requests. We also have a Slack channel for regular contributors---please contact us if you'd like to join.