Small Basic – About Monthly Challenges

This is a few thoughts from writing Small Basic forum monthly challenges for 3 years. 

Initially they started as weekly challenges, here is the first, which was in response to a discussion topic posted by Kirkkaf.  However, the weekly setup was just too fast a turn-over.  It was difficult to create them every week, and only one week did not provide enough time to let contributors work through longer challenges, so it was changed to a monthly event.  There have been a couple ‘guest’ writers of the challenges over the years (most notably rubbikWizard) and usually there are some great suggestions for the following month from contributors which I always incorporate.  These are especially welcome as they breathe new life and perspective into it.

Nonki wrote a wiki article listing the previous challenges, and Jibba Jabba collated some statistics.

The nature of Small Basic is that most new programmers use Small Basic for between a few months and a year, then move onto greater things or otherwise fade from the forum.  So the challenges have to cover basics and I also try to add some quite tricky ones along the way.  The main idea is that contributions will show different ways to do things.  Some will be ‘better’ than others, but the variety will help new programmers by seeing how others tackle things.  Basically the community can help each other with a continually evolving set of programmers at different stages of experience at any point in time.

Here are some of my observations:

  • Answers mostly seem to be either to the smaller text based challenges or graphical challenges.
  • A few regular ‘experts’ come up with great solutions for the ‘harder’ games type questions.
  • The maths and physics challenges generally seem to have less appeal, but I like them so I continue do drop them in.
  • The simpler questions obviously tend to get complete answers pretty quickly with less community interaction.
  • The bigger graphical questions tend to get more discussion.

I look at and run them all, even if I make no reply, and enjoy seeing progress as people ‘get-it’. 

From my point of view it is hard to gauge the level to post questions at – the more replies to a certain type of question tends to lead to me creating more of this type, but this doesn’t mean these are the most helpful.  Another issue is continually trying to create new and original ideas, especially for the smaller simpler questions.

So, here’s some questions:

  • I want the challenges to engage as much community interaction helping each other as possible – so what kind of questions are best for this?
  • My gut feeling is that the challenges are too advanced in most cases, but feedback isn’t clear on this?
  • Perhaps repetition of simpler questions after a few months wouldn’t be a bad thing, since the community is continually changing?
  • More feedback in terms of the sort of questions that are most helpful would help to guide how to set the challenges.
  • Guest challenge setters are most welcome.
Comments (7)

  1. litdev says:

    Correction – the collated statistics are by Jibba Jabba.

  2. Challenge of the Month is a great content in Small Basic Forum.  Also this blog article is great. Thank you very much, litdev.  I hope this activity make many young programmers motivated.

  3. Jibba Jabba says:

    Great article litdev.

    RE repetition of simpler past challenges sounds reasonable. Not only do different programmers come along but the same programmers change by improving, so they might enjoy how they do the same challenge months later.

  4. I updated the line to say that Jibba Jabba collated the statistics.

    Thanks to everyone involved in this team effort! Great job!

  5. anonymouscommenter says:

    I like the monthly challenges. I don't try all of them but a few I feel I could tackle are great exercises. What if problems are made to be more of a group activity whereby a problem is posted in the form of an outline and contributors offer suggestions and/or code to solve a section of the problem at a time. The community coordinator would then fill in the code and post it. Everyone can see the evolution of the program. Then the next section of the outline is posted and contributors tackle that part.

    In this manner everyone can contribute to parts they are comfortable about and at the same time learn more about the language. Contributing ideas about how to develop the outline itself will help in learning about algorithms and development.

    The program to be considered might be a practical application or a fun project.

  6. litdev says:

    @ Ilikebasic,

    I like your idea to encourage people to work together.  

    It can actually be harder to combine several people's code into one big program than to write the whole thing.  All the variables have to be shared have exactly the same meaning to work together.  But if the challenge is to write a subroutine with a specific task and all the input/output variables are well defined it could work.

    I will think about more collaborative challenges.

  7. anonymouscommenter says:

    I like the maths and physics challenges every month, please continue to post some challenges in those categories, it is also a mind challenge , to understand, for example the world in which we live in, like gravity, movement, acceleration, speed, momentum ,