# briefquiz: a fun, personalized challenge for some kids
in @/challenges i mentioned an idea of a challenge event i could run. but lately i was thinking a bit about it. perhaps that idea is a bit too impersonal, too steep as a starting point. i remembered how i all started developing my interest in computers at about an age of 10. there was actually a "competition" aimed at my level. you could sign up for it and then they would send you some questions via snail mail. then you would anwser them and send the answers back via snail mail. i started participating in this. but when i was starting, i didn't really know the answers. so one of the infotech teachers in the school started helping me. we worked through the problems together.
two things happened here: first, the letter format was a very good, soft introduction to the world of computing. second, i basically got a mentor out of this. i spent a lot of time at that teacher. i ran to him even between classes so that he explain some questions to me. i'm not sure why he invested so much time in me (i took away his breaks after all), but i'm glad he did, since it helped me significantly.
so based on these observations and my previous ideas, i think i'd want to make a challenge site that consists of two parts. there's a "qualification" phase that is done purely through email, and there's a "challenge" phase where the participants demonstrate their skills in person a bit similarly to what i described in @/challenges.
i think the qualification phase is important to light the fire in the kids' hearts. i imagine it as follows: a kid (or even adults if they wish) would sign up for my site. then i'd send the kid some easy questions. e.g.:
then on later rounds the questions would become harder:
and stuff like that. about 2-4 questions per round. i'd expect that the kids send the answer back in an email. and i'd limit the answer to 300 characters, they would need to fit their answers into that limit.
the kids can use any help they need, i wouldn't really care. and then i would answer each email individually. depending on the letter i might even get a bit philosophical: for example if for that information lookup question i get a googling answer, i might respond that using teachers and mentors is also a good source, and for some type of questions and problems, it's the only source. if they didn't answer the questions correctly, i might ask them why did that happen, otherwise i'd just send them the next set of questions.
if they persist through the qualification rounds (about 4-5 rounds) i'd introduce them to the "challenges" where you have actual coding tasks. i'd create 90 static "challenges". 90 because i want to refer to the challenges as a number starting from 10. keep in mind that these would be relatively easy challenges, wouldn't go deep into the algorithms. the idea is to keep them relatively easily achievable, so that the kids can get a sense of achievement, that would lead them to start studying these things deeper, and maybe go on to the more mature national contests to further hone their skills. and the challenges have to remain relatively easy, so that their cs teacher can easily work with the kids.
i'd make about 10 shell scripting tasks, about 40 c tasks, and about 40 javascript tasks. i think i can cover most important things with that. the c and javascript challenges would be very similar so basically i would be asking them to implement the same thing in two entirely different languages. the challenges themselves would be public, anybody can read and prepare for them on their own. think of relatively easy tasks, like guess what number i'm thinking or draw a large ascii art christmas tree.
however the act of solving these tasks wouldn't be conducted online. we'd probably go to a computer lab after school together, and i'd expect that the kid demonstrates writing the solution without any help. i wouldn't allow any references. they shall memorize the syntax and the function parameters. on the other hand they can try any time and retry any number of times. so there's no pressure. and to save time, they can do any number of challenges per session. even one challenge per session is fine. the challenges are intended to be easy enough that one can solve multiple ones in a short amount of time, depending on their experience. if they manage to solve the problem without help, i'll consider their challenge complete. they can now either try another one, or go home to prepare for the next one.
i'll keep their solution for myself, and after the session i'd send them a review of their solution or suggest improvements. and if somebody manages to get through all the 90 challenges, i'll add them to a "hall of fame" somewhere on the internet or maybe even to a physical poster somewhere (e.g. on a school wall).
i also figured out how could i start the whole process: when my kid becomes school age, i'm pretty sure there will be parent-teacher meetings. i could ask the teachers on such occassions if they were willing to advertise my challenges to the older kids. starting with a single school is fine, and from that on, i'm hoping to rely on a word of mouth. if that doesn't work out then i need to improve my product until it does. i wouldn't want more few kids signing up for this though. more than a dozen would be too much. if i get more, i'd just increase the difficulty of the qualification questions to cull the less motivated ones.
or maybe rather than using emails, i should stick to letters via snail mail to cull out the less motivated ones (the ones lazy to go to the post office). physical letter exchange might actually give it some extra excitement, and it also allows me respond relatively slowly, so that i can keep the pace of the whole thing is relatively slow. this also requires some token amount of money to participate, so i would be somewhat protected from spam or from a suddenly very high subscription rate.
and i could run this here in switzerland even if i don't speak german well. i can just keep everything in english and let the kids deal with the english rather than me with the german. at least they would have some extra motivation to learn english. although i'd probably accept german answers too but i wouldn't document this.
and i would only accept people from my local city. i don't really want to deal with people that i can't meet personally. i just want to give some interactive game for the local community.
more specifically i just want to give opportunity to kids similar to what i received as a kid and more. i very much wanted to get my schoolmates into coding too, but nobody was that much interested. even if i managed to get some people into this, the competitions were way too fierce for them to keep along for long. my hope with such a forgiving place would be to keep them interested. the only way to lose is to give up rather than being plain unlucky or not smart enough. the kids can even prepare each other for my exams.
i know that there are nice online communities like khan academy. but i can compare my experience with online and offline competitions: offline competitions, one where i actually am next to the others were usually a more exhilarating experience. a person giving you some recognition in front of others feels more exciting than watching a robot telling you that you did good while you sit alone in a dark room, isolated from the world. i just want to try giving such an experience for the next generation. i think this idea could totally give that with a really little effort. but it still requires effort from my part, so we'll see if i ever start this.
published on 2020-12-09
new comment
see @/comments for the mechanics and ratelimits of commenting.