Git Product home page Git Product logo

Comments (5)

coriolinus avatar coriolinus commented on July 21, 2024 2

from legacy-docs.

ErikSchierboom avatar ErikSchierboom commented on July 21, 2024 1

So, what is the reasoning you choose to use when deciding topics?

I have to admit that I think the C# and F# track isn't very consistent in choosing the topics, freely use both goals. That said, I think it is good to discuss this, so thanks for bringing this up.

What I think we should aim for is to describe what the core topic of the exercise is. What fundamental topic will always hold when dealing with the exercise. That should I think exclude possible topics, that depend on an implementation, such as suggesting a regular expression for the pig-latin exercise, unless of course, you really want people to only solve it using regular expressions (which would be to limiting I think).

from legacy-docs.

wolf99 avatar wolf99 commented on July 21, 2024

IMHO requirements should not be indicated through topic tags.

I would agree with @ErikSchierboom, to take the pig-latin example, I would likely mark this with a strings topic. The exercise concerns string handling but the student can perform that string handling in any way they choose that satisfies the tests.

Then, if the exercise is specifically intended to have the student use regular expressions then that is a requirement and it should be specifically mentioned in the exercise readme rather than relying on the student to draw requirements by observing topic tags (it likely should be added as a second topic also).

from legacy-docs.

Stargator avatar Stargator commented on July 21, 2024

I think the primary goal is to have topics that are broad and not specific to how the problem will be solved. For example, on the Dart track we have our solution solving the problem in a specific way using enums. The author of adding that problem to the track may only see that as the way to solve the problem, but there are certainly other ways around it.

from legacy-docs.

petertseng avatar petertseng commented on July 21, 2024

It might be useful to handle topics at the problem specifications level

Agreed that it might be useful. I used exercism/exercism#4186 to discuss some particulars of the approach.

To summarise my read of answers from those gathered here, it appears that we favour topics that are essential to the problem and/or without a doubt necessary to to solve the problem, rather than those that are merely a possibility for solving the problem. Examples of support:

describe what the core topic of the exercise is. What fundamental topic will always hold when dealing with the exercise

The exercise concerns string handling but the student can perform that string handling in any way they choose that satisfies the tests.

if the exercise is specifically intended to have the student use regular expressions then that is a requirement and it should be specifically mentioned in the exercise readme [...] (it likely should be added as a second topic also)

think the primary goal is to have topics that are broad and not specific to how the problem will be solved.

from legacy-docs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.