Is it possible to build the SYLLABUS section of Julia?

I see that the Julia track doesn’t have a syllabus section, is it possible to build it?

How would one go about doing it, if one is interested?

Thanks!

2 Likes

Hey! Thanks for your interest in helping. Julia is very close to having a syllabus launched, but sadly the main maintainer who was working on it stopped just before launch, so we never got it quite there.

The concept files are in here: julia/concepts.wip at main · exercism/julia · GitHub

And the exercise files here: julia/exercises/concept.wip at main · exercism/julia · GitHub

I’m not exactly sure what is left to do to get it over the line, but I’ll ask the old maintainer and see if they could provide some hints :slight_smile:

1 Like

Hi!

Nice to hear you’re interested in building out the syllabus :blush: I’m the maintainer @iHiD was referring to. These are the main issues that I remember that would need to be addressed for it to be ready to launch:

  • Many concept and concept exercise documents are either missing parts (marked with TODO) or are missing entirely. You can find the latter by renaming exercises/concept.wip to exercises/concept and concepts.wip to concepts and use the configlet tool to identify what’s missing. @ErikSchierboom can tell you more about the purpose of each file that’s missing and there might be site-wide documentation somewhere. I’m not sure if/how that has evolved since I’ve had to stop.
  • There are a handful of concept exercises that are blocking requirements:
    • an introductory string exercise (perhaps “Welcome to the Tech Palace” from another track?)
    • an exercise introducing immutable structs.

This is roughly the current exercise progression: xjulia.md · GitHub

Exercises marked in red are missing (I’m unsure why “Welcome to the tech palace” isn’t red though). Feel free to invent your own obviously but the ideas I had but wasn’t able to implement anymore were the following:

  • Dyno to the Top: An exercise about “operators are functions” and operator “overloading” comparing scores in a bouldering competition with </isless. Bouldering scores are made up of 4 values: tops, zones, attempts to tops, attempts to zones that have to be considered during comparison/sorting.
  • Elyse’s Transformative Enchantments: An exercise building on the Elyse storyline introducing the concept of mutating arrays through functions.
  • Poetry Club Door Policy: An exercise from a different track, I think there’s a PR open that has been abandoned because it didn’t fit our use case back then.

But as I said, those ideas can be disregarded entirely.

There’s more existing discussion on string exercises somewhere in either the old v3 repo or the Julia track repo but I can’t find the links right now as it was quite tricky to figure out the right scope.

1 Like

Hi @SaschaMann and @iHiD, thank you for the links and detailed response.

I’ll firstly go through the Contributing Guide on the GitHub - exercism/julia: Exercism exercises in Julia. page, and acquaint myself. I’ll try to search for the TODO’s for the missing parts in the concepts section.

I’ll communicate on an update.

Thanks again! :grinning:

2 Likes

I am interested in further development of this syllabus as well, and will be available for extensive testing and feedback at the very least.

2 Likes

Hi @SaschaMann, spent the day trying to familiarize myself on how to go about contributing to the Julia Track. I’ve outlined my understanding below in the form of a title, followed by the steps taken to get up and running in order to contribute. Please note that this is my first time contributing to a project - your guidance would be appreciated.

Getting Set-up
Having Git for Windows installed locally - since I have a windows machine.

  1. Fork the Julia Track Project,
  2. Clone the Julia Track Project,
  3. cd into the bin directory, and run the fetch-configlet script - which sets up configlet CLI on my computer.

I’m interested in adding to the TODO’s as mentioned here: [v3] Search for TODO comments · Issue #301 · exercism/julia · GitHub

For example: If I’d like to add to the TODO for blurbs in julia/concepts.wip/abstract-types/config.json file, would I do the following:

Adding TODO’s

  1. Would I just add a comment here: [v3] Search for TODO comments · Issue #301 · exercism/julia · GitHub on the issue I’m working on, without opening a new issue as quoted below:

Various minor things that need to be verified are marked with TODO comments. Rather than creating an issue for each of them, this one issue shall suffice.

  1. Create a topic branch from the master/main branch,
  2. cd into julia/concepts.wip/abstract-types/config.json file,
  3. Make and commit the change,
  4. Push the change to my GitHub page,
  5. Lastly, make a Pull Request.

Would that be a good approach to contributing to the track?

To reiterate, since this is my first time contributing, want to double check with you if my understanding is correct? Please direct me as necessary, as I’m willing to learn this process.

Thanks in advance! :pray:

That workflow generally sounds right and your understanding is correct. Two comments:

While it’s often a good idea to create an issue to state that you’re working on something or in this case to comment on #301, it’s not strictly needed. Nobody is actively working on that right now, so feel free to skip that step if you want.

You can also open the file on GitHub’s UI and click the pencil icon to edit it and open a PR completely through the web interface. For changes like this one that workflow is a bit quicker, since you don’t necessarily need a proper IDE/editor for the change itself. But if you want to learn the “proper” local workflow, doing what you described works best.

2 Likes

Hi @SaschaMann, thank you so much for the kind reply.

I’ll try and make a simple PR, I’ll try both ways using GitHub’s UI and the local workflow too.

1 Like

Hi @SaschaMann, I made a pull request for the Julia request for some basic changes to the concepts.wip/arithmetic-operators section. Find below the response due to an automated bot action, as follows:

and

Does this mean I should refrain from making anymore PR’s?

Your advice and recommendations will be appreciated! Thanks. :grin:

1 Like

No, it’s fine. I’ve reopened it and you can ignore that message.

1 Like

Hi @SaschaMann, I’ll be working on the about.md file for the arithmetic operators this evening and push it.

Thanks for your help so far! :pray:

2 Likes

Hi @SaschaMann, I’ve made a PR for concepts.wip/arithmetic-operators/about.md

Please let me know, if you get notified whenever I make a PR, as to not bother here.

I’ll use this forum for unique questions only that I haven’t yet come across or need advice on.

Thank you for guidance and patience with me.

1 Like

Yes, I get notified on GitHub as well.

If it’s Julia-specific, feel free to ask in a PR/issue as well. Otherwise the more general categories of this forum are a good place to ask, too. I don’t check the forum regularly.

Hi @iHiD and @SaschaMann,

I just saw the calendar for the #12in23 challenge, and was wondering would it be possible to launch the Julia syllabus for the Julia track on Exercism by Analytical April? Given that we complete the TODO’s in the julia/concepts.wip folder.

Or would that be to ambitious?

I don’t mind dedicating more time to completing that task.

Looking forward to your kind replies.

Some tracks have put a whole (basic) syllabus together from scratch in 2 months, so it’s definitely doable! In terms of how much work it is, probably the best thing is to get one exercise over the line, see how much needed doing, then project that forward!