“Squeaky Clean” - The Task 2 hint suggests using Character.isISOControl . But I can’t figure it out how to use it. Of all the community solutions, I only found one that uses it. And all the solutions are using -> threads, map, and filter. Maybe this shouldn’t be catagorized as a learning exercise. Squeaky Clean in Clojure on Exercism
Thanks for the feedback. You’re right, the syllabus is a work in progress and many if not most of the exercises are far from where they should be.
Reverse-string is a practice exercise which don’t have hints so that’s normal.
I didn’t realize that Interest is Interesting was missing hints, so thanks for pointing that out! I’m planning to devote special attention to the hints going forward, because I’ve realized that they are a huge opportunity to point students to the relevant documentation which is incredibly important.
The main point of Squeaky Clean is to teach how to use the methods in Java’s Character class. In the hint, isISOControl is actually a link to the Java docs for that method, but I now see that it’s not exactly clear because it just looks like it’s displayed as a code symbol in the markdown, you have to actually hover over it in order to tell. I bet we could do something about that, by like explicitly showing the url with “See here” or something.
After poking around the github link that MatthijsBlom gave, it turns out interest is interesting does indeed have hints, but they’re just not being shown. Maybe the bullet point is causing problems? Is the diff working?
## Calculate the interest rate
- - You can refer back to the [conditionals][conditionals] concept if you need to remember how to return values based on an input value.
+ You can refer back to the [conditionals][conditionals] concept if you need to remember how to return values based on an input value.
## Calculate the annual balance update
- - The [`bigdec`][bigdec] function can be used to coerce a number to a [BigDecimal][bigdecimal].
+ The [`bigdec`][bigdec] function can be used to coerce a number to a [BigDecimal][bigdecimal].
## Calculate how much money to donate
- - The [`int`][int] function can be used to coerce a number to an integer.
+ The [`int`][int] function can be used to coerce a number to an integer.
The hint message itself makes it clear it’s a java method, link or no link. But it took me forever to find out how to actually call it using / instead of . and other syntax (namespace?) stuff.
What i wanted to say is that I’m not sure about how to proceed using it. Threads, map, filter haven’t been introduced yet. There are no loops that I know of (I just started and probably wrong), so recursion with cons/conj? but that feels too advanced also.
For now I’m just skipping to another exercise and sleeping on it.
You need to read the documentation/examples for each of the functions and spend some time outside Exercism to learn more about how the language works and how it is normally used. If you expect to learn Clojure just by following a Syllabus, you’ll be disappointed and give up. You can also ask for a code review for each of the exercises. A mentor will point out the issues and how these can be addressed.
Then what makes exercism special? What’s the point of having a syllabus track? Locked solutions and locked exercises to force me to leave exercism? Once I leave to learn a language elsewhere, why should I even bother coming back?
I’m on exercism and doing these introductory exercises because I expect to learn something other resources might have glossed over or missed. I enjoy the focused practice on specific topics. I enjoy practicing the fundamentals.
Mentoring is not available until AFTER the exercise is solved. Maybe I’ll just copy and paste a solution to get access.
My goal is to provide as complete of a stand-alone guide as possible, and any places where it falls short are my fault, not a shortcoming of courses in general.
While it is valid that you will surely benefit from a variety of learning sources, our goal is to help you, to the greatest extent possible, to navigate you through the concepts without confusion or the need to look elsewhere. This is easier said than done however.
The ultimate “test” I think is trying the syllabus out on someone who is a beginner to coding in general, which is the focus of the Jumpstart: Clojure series I’m doing with Jonathan.
@TutorialTatoe All i’m saying is that if you are frustrated - and it’s evident that you are - then that means the syllabus is probably not working very well for you. But this is normal because there are no sites that contain the perfect information. That’s why you need to use multiple sources and not get fixated on one. Open up the docs and read them. Setup Clojure locally and write some simple programs. Try an online REPL.
Exercism is nothing more than another tool that can assist in the process of learning.
Hint 4 - I suggest removing Hint 4 entirely. I fail to see how :as all is useful for this task 4, nor do I see any community solutions that use it. It’s misleading. Perhaps just repeat Hint 3 the & combines tail elements
Hint 5 - The difficulty of Task 5 is not in the destructure but in the re-structure. Here, I’m not sure what kind of hint to give, because that depends on the intent of the task.
My solution destructured the face-cards and nested many cons, with a if for the nil case. It’s a bit long and single purpose, but it was good practice doing extra destructuring and using the vector concepts introduced in the earlier exercises to rebuild the vector. I also played around with reduce and filter but felt complicated.
The community solutions mostly use remove and flatten . I like the few solutions that use concat and into because the values order feels more explicitly important, whereas flatten feels like it was chance that the values were in the correct order.
I’m not sure if the hint should be to practice the old (not beautiful code) or to introduce something new. (or both?)