A Parent's Guide to Hacking Test Taking during Covid19

Index Link to heading

Introduction Link to heading

Covid19 hit like a tsunami. Many economies have been shutdown and many parents in places all over the world are now realizing that they are the primary educator for their children.

It has been nice in the corporate world, where there was a strong belief that remote work could not be successful, to see such a rapid change. As when remote work was the only option everyone immediately pivoted. And by most accounts many organizations are more successful in this model.

You know what has also been interesting? Watching as parents struggle to help teach their kids. And seeing other parents realize just how much they’ve undervalued the teachers in their lives. As hard as Covid19 is, it has yielded really interesting conversations. As many parents have realized that their child’s school or teacher is not the responsible party for their child’s education and that the parent has been and always is the primary educator, role model, and support agent.

Covid19 is revealing how many of us have forgotten this.

TestBuilder Link to heading

I started writing Test Builder, a simple command line application that uses YAML to faciliate the building and taking of tests. Being as my kids and wife are Oregon natives, I decided that the first test I’d create would be about the Oregon Trail. Original, I know.

But something interesting happened. I needed someone to try it out so of course I snagged my kids. After taking the tests my 10yo said “I want make a test myself.”

Now, my kids have told me that they want to learn to code. The above book purchase is just another step in that direction. And though I am not sure any one of my kids will choose to take up programming or computers as their profession, I am however confident about a few things. If my kids can understand data structures, statistics, and how to research, they will most definately have an advantage in life.

And after hearing her statement that is when the light bulb clicked. “You can make your own test!” I exclaimed.

YAML Link to heading

In programming, YAML is generally used for configuration. It tells an application or development environment how to behave. And TestBuilder expects the author to write tests using YAML files. Thus I started to teach my 10yo about TestBuilder and YAML and I noticed some side benefits in how she started to think.

  • Syntax: YAML’s syntax is important as tabs and spaces dictate behavior. My child had never even thought about how a space or a control character impacts the function of the results she desires. If she mispells a word in school, she gets marked down, but with TestBuilder, her test simply will not run if the syntax isn’t correct.

  • Data Types: My kid thinks in numbers and words when composing assignments but in programming she is dealing with scalar data types. Booleans, Strings, Maps, Arrays, all these concepts she is learning. And yet she doesn’t realize how it will play a part down the road. She simply is goal focused and wants her test to run.

  • If you want to learn, teach: Here is probably the most impactful thing for my kid. In order to compose a test she must learn about the subject itself. She doesn’t really enjoy taking tests. But educating herself on a topic, so that she can build a test that render’s on Dad’s computer in hopes that she stumps her Dad is obviously super motivating for her. And so she is learning the subject. She is becoming an expert but all through the power of self motivation and education and it is a wonder to behold.

Tutorial Link to heading

Create a new file called example.yml.

You start by naming the test using a name: element.

name: Oregon Trail

Add a description with the description: element.

description: A quiz on the Oregon Trail

Then you simply append a question. Notice how is_answer: true denotes which answer is correct.

- question: Around how long is the Oregon Trail?
  type: multiple-choice
  answers:
  - answer: 100 miles
  - answer: 500 miles
  - answer: 1,000 miles
  - answer: 2,000 miles
    is_answer: true
  - answer: 4,000 miles

Simply continue to append questions and your test will grow. Here is the complete example.yml.

name: Oregon Trail
description: A 10 question quiz on the Oregon Trail
questions:
- question: 'True or False: The main danger to pioneers on the trail was Native Americans.'
  type: true-false
  answers:
  - answer: "True"
  - answer: "False"
    is_answer: true
- question: Around how long is the Oregon Trail?
  type: multiple-choice
  answers:
  - answer: 100 miles
  - answer: 500 miles
  - answer: 1,000 miles
  - answer: 2,000 miles
    is_answer: true
  - answer: 4,000 miles

Now feed the file to TestBuilder.

$ ./tb -file example.yml
Demo

Conclusion Link to heading

TestBuilder is up on GitHub . It runs on Mac/Windows/Linux and is pretty straightforward. It’d be nice to find some other kids for my kids to virtually meet and create some test buddies. Swapping tests to stump all the parents while building YAML files.