-
Notifications
You must be signed in to change notification settings - Fork 1
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
Retire "Pole Vault Starting Marks" #106
Comments
Hello, I don't think that's enough to retire a kata. Maths are part of coding too, and moreover of solving problems. A good argument against the kata could be the description or tests quality/coverage (if they aren't good. I didn't check, in the present case), but definitely not the fact that one needs linear algebra. Cheers |
Hi Blind4Basics, I'd like to expand on my original comment a little more to clarify. As mentioned above: "Having math as part of coding challenges is reasonable. Having math as THE challenge, with a tiny sprinkle of code on the side, makes no sense. At that point it's no longer a coding challenge." The issue isn't the inclusion of math as part of a coding challenge -- it's the meat of the challenge itself being a math problem that is irrelevant to the coding aspect. Whether you're given m and b or you find it yourself by using linear algebra, the code remains the same. However, since you're not given m and b you are forced to either learn or already know linear algebra to solve the problem. On this kata specifically, the linear algebra tangent adds no value whatsoever to implementing the code while simultaneously being the biggest blocker to completing the kata. You do not even solve the linear algebra problem with code --- you just use it to find the constants within a formula. Providing the constants within the formula from the start would remove the need for linear algebra completely without changing the solution code at all. On a broader scope beyond this specific kata, I believe the vast majority of codewars users would prefer coding challenges to primarily test their coding skills rather than their math trivia skills. I even enjoy math-heavy katas, provided the relevant knowledge and formulas are both (a) provided in the descriptions and (b) relevant to solving the problem with code. Neither (a) nor (b) are true for this kata. |
Well, some websites are much more math oriented, others much more "coding" oriented. CW falls already in the second category, but I don't see any problem with this kata being... a kata. It's a task to resolve, in the end. I'm not saying I really liked it, but still... You may not like it, that's totally up to you. As akar-0 said in the discrouse, you definitely can push the "not satisfdied" button, it's there ""specifically"" for that. But again, I still see no reason to retire it. Ok, it's not a "coding" problem, but it's still a "problem" to resolve. Seems like it does that part of the job properly. Cheers |
In my opinion, a kata being entirely math-focused is not necessarily a problem in itself, there are some good kata that are mostly reliant on background math knowledge, and very little code. But I do agree that this particular kata is quite poor. This kata, compared to other math kata, is more like a puzzle. It gives you incomplete information about the challenge, and you must complete a math problem on paper before you even have the information to begin coding the actual solution. And I think that is the reason that the average satisfaction rate is very low (61%)! I think that any approved kata with very low satisfaction should be considered as candidates to be either fixed, or retired. In this case I would vote retire. |
I didn't like solving a kata, but actually I see no problem with it, just like B4B said. The kata itself has an acceptable quality, and apparently some people like it according to Discourse page. I see no reason for a retirement. |
About 61% of people apparently like it, which is much less than what is considered an acceptable satisfaction rate for new kata. The fact that you, and ~40% of people didn't like it, is a reason for retirement. |
Welcome to the reality, where algorithms and competitive programming are things that exist! If you haven't been living under a rock you should've already noticed that there is a heavy focus of mathematics on competitive programming. All the respectable competitive programming sites that are treated as industry interview standard (e.g LeetCode, CodeForces) conforms to this, so if you're objecting to "math problems in coding problems" I'm afraid you're at odds with the ecosystem here. Also, before throwing the "think of the children" card, please, for hell's sake, define what you mean by "true beginner". I can also claim that true beginner should not be using CW; they should be training on something like Codecademy or FreeCodeCamp instead. Before you define this, your argument is utterly pointless. As for "should users be demanded to derive a math relation on their own instead of being given the relation", that's a debate about the kata description so it should go the discourse section of the kata. This issue is, however, written in a truly inflammatory and anti-elitism bait way. I do not believe continuing the discussion here would be a good idea. |
I think I would disagree with you on many points. I believe that kata like this one are also valuable for several reasons:
I also enjoy solving math kata, especially these which require research. I like having the task explained, but I not always find it necessary to have the underlying math explained. This part is quite often covered by books. The problem with the kata is that this might insufficiently hint (warn?) users about the type of the problem it poses. Maybe a better solution than retiring would be just tagging it as |
Almost all entry level coding problems belong into one of these 3 categories:
Since 1 is introspective in nature and 2 is highly theoretical, you literally cannot avoid the It's akin to asking "why are we doing primary school math problems that are phrased as real life math problems": What else are you gonna give them then? Trigonometry? Calculus??? |
When I downvote an approved kata, most of time I don't have in mind "I think this kata should be retired"; I just mean I didn't like solving it. If I was aware that downvoting a kata could be an argument pro its retirement, it's probable I would reconsider many downvotes. BTW, I tend to be less severe in my votes on beta katas, because I know it influences their approvability; I take in account that, maybe I don't enjoy the task. but, independently from that, it can be an acceptable problem on CW. |
That may be the case, however one of the reasons that the satisfaction rating exists at all, is to ensure that most people do enjoy solving it. This ensures a better experience for solvers overall, when solving random kata. I am not trying to say that any kata that drops below 80% should be auto retired or anything, I think many people will vote differently for beta kata, than for approved kata, my point was that at only 61%, this kata is a particular outlier for people not enjoying solving it. (It has the ~22nd lowest satisfaction, out of any of the 7226 approved kata on the entire site). And to me, that is a valid enough reason to at least consider retirement. |
I'm not entirely sure the original issue's comment was the inflammatory one, friend 😄 but I understand where you're coming from and would like a chance to clarify. I'd like to repeat a few things I wrote previously but communicated poorly (this is from my perspective, I am not speaking for anyone else. Maybe some people do go use CodeWars primarily to learn math): Math being involved isn't a negative at all. The problem arises where the math involved in the challenge is not relevant to the -coding- aspect of the challenge, AND is the core focus of the kata. Bonus (negative bonus) points if the kata is basically a math trivia problem rather than a coding problem, without providing the necessary trivia info to solve the coding problem. So things like algorithms, etc that are extremely relevant to programmers would be perfect math problems for coding challenges. Things like reducing time complexity by being clever in your solutions, using algorithms, being given a brute force example and using math to create an elegant solution, etc are great math problems that progress your skills as a programmer. In contrast math trivia questions such as "hey do you know this obscure geometry formula off the top of your head? If you do just plug it in and you got it, if not good luck researching it for hours to write one line of code utilizing this trivia." do not progress your skills as a programmer in any way. I don't think the vast majority of users go to codewars wanting to play a game of Jeopardy in the math-trivia category. Even if your goal is to learn math on codewars, you'd learn it much better by being introduced to the concept in a straightforward way in an appropriate environment! I love learning about math personally, just not as sudden gotcha trivia questions when I'm trying to become a better programmer. I'd like to clarify too: Katas that link references to a math concept and then guide you into implementing that math as code are great IMO, and not at all the types that I think are problematic. Things like finding if a number is prime efficiently, getting a number's divisors, etc are examples of math katas I've enjoyed solving in the past thanks to well-authored descriptions. It's easy to tell the difference between math katas that were authored in a way intended to challenge and progress the reader, versus those written to show off the author's knowledge. It comes down to a difference in goals: is this math kata intended to provide value to the solver, or to the author? Considering the linear algebra portion of "Pole Vault Starting Marks" is obscured within the challenge and ultimately doesn't affect the code used to solve the kata (since you use it to find constants that could have been provided from the start), it falls into the latter category. I hope this explanation is more clear from me. And I apologize for the lengthy wording and miscommunication from myself. |
I believe this assumption is utterly and totally incorrect. Programming is not about languages, ifs, loops, classes, OOP, functions. Programming is about solving problems (presumably with computers). Input for a programming task is a problem, and output is a solution to a problem. Computers were made to solve problems. Some problems require ifs and whiles and OOP to be solved. Some problems happen to have good solutions which are based on, as you call it, "math trivia":
Every time I see a complaint that "it's math not code" I cannot help the feeling that one of two things happen:
Platform like Codewars differs from professional programming, or from competitive programming, that users can always choose to not solve problems they don't like. If a user is presented with a kata they don;t want to research on, they can just skip it. Sooner or later, they will encounter another one. Until then, there are thousands of tasks to choose from, and many (most?) of them require nothing but |
I don't disagree. The usefulness of math in programming was never my point. Math is a tool, the programmer uses those tools to create solutions to problems. TL;DR:
The issue is with katas that treat math as the priority of the kata rather than as a tool for solving a problem. You're not going to reconstruct X's theorem on your own. No amount of creativity and problem-solving is going to get you to the result if you don't know what theorem/trivia the solution relies upon you knowing. That's the problem with trivia-based katas: you either know the trivia or you don't. This doesn't mean that X's theorem isn't incredibly powerful when applied to programming, just that the kata itself made poor use of it. A good kata utilizing X's theorem will reference it in the description, and then provide a coding challenge where using X's theorem is a piece of the puzzle. A bad kata utilizing X's theorem will make no mention whatsoever of X's theorem, nor even hint at it. At that point the kata has devolved into a Jeopardy quiz where the biggest challenge is to have prior awareness of some obscure theorem. Actually using it to solve a problem with code is an afterthought. |
But this is what programming is! Isn't it? Code is just a materialization of the solution. To write code, you need to find the solution! Or not? If the only thing which is required is code, then the problem is already solved. Effectively, a user is not solving the problem, they are just implementing the solution with code.
I think it's a false dichotomy. |
That's a very good point. I agree with the thought process. The only opinion I differ on is that I think kata's should provide a starting point for analysis and research to begin from. Too much of that becomes spoonfeeding, but too little leaves people completely lost if they don't have a clue where to begin. There's an ideal middle ground in there somewhere. Such as in your example, where even the title of the kata is enough of a clue to get people started. In this kata specifically, you wouldn't even know what to search for if you didn't already have some familiarity with linear algebra, unfortunately. I think the exceptionally low satisfaction rating is indicative of people being too lost from the description to know where to begin. Anyway, it seems that retiring this kata is not likely. Not sure about the etiquette for things like this -- I see a "Close with comment" option. Is this something I should close, or leave the issue up for someone to resolve? |
You can close the thread if you feel it's concluded, but I can do this too. Have fun! |
Pole Vault Starting Marks
This kata is not a coding challenge. This kata is a linear algebra challenge.
The coding aspects of this problem: return a value from a simple math expression (mx +b) where m and b are known, rounded to two decimal places. A challenging but within reason ask for beginners (which this is marked as, being 8kyu)... IF m and b are given.
However, this kata doesn't give you m and b. This kata requires you to learn linear algebra to find m and b. Finding m and b is the real challenge here. Finding m and b has absolutely nothing to do with coding. Therefore, this kata is completely inappropriate for the spirit of a website supposedly centered around providing coding challenges, but especially inappropriate for an 8kyu.
Having math as part of coding challenges is reasonable. Having math as THE challenge, with a tiny sprinkle of code on the side, makes no sense. At that point it's no longer a coding challenge.
A true beginner coming across this kata is more likely to leave the site and never come back than to solve it. And when they do solve it, did they learn anything about coding? No. They learned linear algebra.
(I initially raised this issue on the kata, and was redirected to do so here instead.)
The text was updated successfully, but these errors were encountered: