exercism / c

Exercism exercises in C.
https://exercism.org/tracks/c
MIT License
282 stars 175 forks source link

Add learn track for C #1006

Open dawnandrew100 opened 1 month ago

dawnandrew100 commented 1 month ago

Currently, the C track links out to some resources to learn outside of Exercism. However, I don't believe that https://www.learn-c.org/ is actively maintained and other languages attached to this site are extremely outdated (such as using the old formatting style for strings in python instead of f-strings). And while I'm sure CS50X is a fantastic resource, it appears that it focuses on a lot more than just the C language. This isn't good news for people who are interested in learning specifically about C and not interested in spending 12 weeks learning about all of computer science.

It would be fantastic to have a learn track on Exercism for C instead of having to rely on the good graces of outside individuals.

wolf99 commented 1 month ago

Hi @dawnandrew100 You are correct that we don't have any concepts exercises for the C track.

I feel that this is because of the level of work needed to get up to speed with implementing concept exercises and related tooling.

If you are volunteering to implement any of these, it would be very welcome!

As an alternative, updates to the links that you have mentioned, as well as any other relevant links, would also be a welcome commit.

Let us know if you need any support for either of these!

Or did you have something else in mind by "learning track"?

dawnandrew100 commented 1 month ago

I'll definitely look to see if there's an up to date version of a free resource available so that the links can be updated sooner rather than later. And I would love to participate in adding concept exercises similar to what Gleam has!

Is there a specific template that is available? Or should I just copy the layout of a track like Gleam?

wolf99 commented 1 month ago

Great!

To change referenced websites you only need to make changes to the markdown files in this repositories /docs directory.

For concept exercises...

What is shown on the website as the Learn track for a language is actually the concept exercises and related syllabus. The starting point for the documentation on these is here: https://exercism.org/docs/building/tracks#h-concepts

Additionaly, see the concepts already described in the /concepts directory.

I suggest starting by proposing a first concept exercise for a syllabus, based on one of the documented concepts, then implement that, see specifically: https://exercism.org/docs/building/tracks/syllabus and https://exercism.org/docs/building/tracks/concept-exercises

Once the first one is in place then new ones can be added one by one and the syllabus can be adjusted as needed.

I think we can leave any additional tooling until later as I even have forgotten what is needed for that 😅.

Not sure if this is enough to help you get started, please ask here if you need more.

(FYI, as far as I know the maintainers on this track, including me, are not very active on the forums or other contact channels. Issues or PRs on this repo are probably the best place for discussion currently)

sinmi-hub commented 3 weeks ago

@wolf99 I would simply like to clarify. From what I understand, I assume everything needed for the concepts are already setup. Things like actually setting up the exercises and making few changes in other places, as per : https://exercism.org/docs/building/tracks#h-concepts is all that is necessary?

I know some things in the .meta directory and the exercises itself are missing. I assume I can simply use what you have so far, for the public facing directories in order to start?

wolf99 commented 2 weeks ago

Hi @sinmi-hub No need to do the whole shebang, have a look at #586 to do just the first concept exercise! Let us know if you need help