Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add hints to some exercises? #457

Closed
abo64 opened this issue Dec 9, 2016 · 4 comments
Closed

Add hints to some exercises? #457

abo64 opened this issue Dec 9, 2016 · 4 comments
Labels

Comments

@abo64
Copy link
Contributor

abo64 commented Dec 9, 2016

I was wondering if we should not start a campaign to add or refine some exercise hints similar to this issue in the Scala track?
Even if most people still won't read the Readme we can at least just refer to these hints instead of typing the same comments again?

@abo64 abo64 added the question label Dec 9, 2016
@rbasso
Copy link
Contributor

rbasso commented Dec 10, 2016

I like the idea of having HINTS.md files - even if most people don't read them - but I don't know how much information we should put in those files.

I would be easier to discuss a concrete case, so let's talk about the first exercise, what hints do you think we should add to leap?

Hints

To complete this exercise you need to implement the function isLeapYear,
that takes a year and determines whether it is a leap year.

You can use the provided signature if you are unsure about the types, but
don't let it restrict your creativity:

isLeapYear :: Integer -> Bool

@abo64
Copy link
Contributor Author

abo64 commented Dec 12, 2016

leap might not be the most important example. But here is what I wrote for Scala.
I have noticed that people have more difficulties with Either in nucleotide-count.
Although in general Haskellers tend to be more experienced, so maybe all this is not necessary for most?

@rbasso
Copy link
Contributor

rbasso commented Dec 12, 2016

I think that having HINTS.md files is great, but we should probably avoid...

  • Directing the implementation - I believe that people learn more when they try some bad paths by themselves, so we should avoid suggesting ways to solve it.

  • Teaching the language - Teaching the language deserves a more structured material, and HINTS.md shouldn't be material for study.

I understand that putting code improvement suggestions in a HINTS.md could allow users to get hints easily and save us a lot of work reviewing code, but I'm afraid that answering questions before the users are ready to ask them can be detrimental to the learning process.

So I would prefer not go much farther than mentioning some minimum required knowledge to start to solve the problem, and maybe also link some free resources. More than that could help the student, but also take away the opportunity to discover the better solution, developing fluency while repeatedly rewriting the exercises while searching for a better design.

Summarizing, I'm definitely in favor of improving the HINTS.md files, but I prefer to avoid putting to much in it, to keep the fun and maintainability.

@abo64 abo64 closed this as completed Dec 12, 2016
@rbasso
Copy link
Contributor

rbasso commented Dec 12, 2016

Fell free to add some hints where you think they are needed, @abo64!

Just try to keep in mind that giving too much information may not always be the best to help the students.

As maintainers we'll certainly disagree a little in how we think that things should be, but - because we are all trying to make the best track ever 👍 - I believe that we'll always find a reasonable compromise.

Nobody has a final word here, and people can always change their minds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants