How do I get involved with contributing to Exercism?

I thought about contributing to Exercism, adding exercises, syllabus pages or even some obscure languages, and why I still haven’t has several reasons:

  1. I don’t know how to go about adding stuff to Exercism. I looked at /contributing, it’s more about fixing what’s there than adding.

  2. I am not exactly an expert in any programming language. Languages I am somewhat familiar with are already fleshed out quite nicely on Exercism, and languages I am not familiar with and come to Exercism to learn are the languages that often need some love, which I can’t offer since I am not well-versed enough in those. The only one language that I can think of is TypeScript, since it doesn’t have a learning track and I use it daily at work, but then does Exercism need another track for TypeScript if the JavaScript one is already there? And this brings me to my last point.

  3. I don’t know what is actually needed. Does Exercism need more languages? More exercises? More learning tracks and syllabi? Would Exercism prefer to improve on what’s already there before adding more new things? I poked around /contributing and saw items I could check out, but they are not new languages or new learning tracks.

(We’re going off-topic again.)

Adding exercises is not an easy task. It helps to have some experience beforehand, e.g. through small fixes.

Adding a new track is a lot of work. It helps if you have a good idea of how a track hangs together beforehand.

Not in general, I think. But it certainly does need a track for [insert specific language].

(I have a wish list. So do others.)

I don’t think so. But if you have a good idea, let’s hear it.

Some tracks could use more ported exercises, I guess. But not just any exercises. Specific ones, or the effort is worth less.

I see little reason to prioritize one or the other. Many potential contributors will refine but not add, and vice versa, so it does not make much sense to trade.

Now if you personally would do both, then it might make sense for you to weigh one against the other. In which case I’d say… it depends.

If you have relevant expertise and you see two problems to fix, you can make an impact assessment (how many students does this help, and how much?) and then decide which one to tackle.

YES! (and those are the same thing)

But that’s a lot of work.

I estimate that the relative payoff of writing Dig Deeper material (“approaches”) is higher. However, at some point diminishing returns set in, and development of a syllabus becomes relatively more worthwhile.

I think both (good) syllabi and Approaches are more important for ‘obscure’ / less mainstream languages to have. After all, popular languages tend to have easier to find learning materials and loads and loads of example code.

There’s always room to improve the docs :slight_smile: If there’s something specific you opt to add, you can ask for guidance and details.

You most certainly don’t need to be an expert to contribute! Often experts are blinded by their own expertise and assume certain things are common knowledge, so being an expert can even be a liability!

@VolrakRutra I’ve moved this to a different topic. The discussion is valid, but please try to remain on-topic.

This is an excellent point. If you want to have the most significant impact, it is certainly best to write approaches and syllabus content for the less frequented languages than to write exercise 151 for some languages, which probably has enough material for the concepts that the new exercise would have as well.

Curious - what’s on your wish list? I’m a bit surprised to not see PowerShell and Haxe on Exercism, and equally (and pleasantly) surprised to see Red.

What is this “Dig Deeper” and can you show me an example on Exercism?

Here’s an example:

Here is a discussion with people who want to take care of the PowerShell track