Closed afonsomatos closed 9 years ago
Dan values are reserved for now. We intend to grow into them by having them be rewarded for earning achievements, which are earned not just from one kata but across multiple kata and activities. We are hard at work on a new service which will compliment Codewars, but this is something I personally want to add as soon as we get some bandwidth.
hey @jhoffner, can you give an update to your answer please ?
@snackycracky Dan level players (i.e. users) currently exist but I think there are currently only three of them on the entire Site due to the tremendous amount of rank progress required to progress past the 1 kyu
rank. Dan level Kata, on the other hand, are not yet supported but I anticipate that they will be supported within a year (just a wild guess, don't take my word for it).
There are obviously some 1kyu katas out there that are probably above 1kyu though (e.g Minesweeper, Mystery function #2...). I'd imagine if people begin to put forth some serious practical scenarios (e.g implementing X-Wing and Swordfish in Sudoku) there can be lots of katas that reach 1kyu or even above.
Though that also brings forth the problem of how a kata's difficulty should be evaluated: CS problems are obviously brick walls when they are, but practical kata challenges can be pretty hard in two ways: hard to come up with an approach (in contrary to lots of CS stuff, which usually have standard approaches taught to every CS student), and hard (read: annoying most of the time) to code. And some people really don't like the former: the great diffuse the bombs kata receieved some complaints at the comments, and other similar puzzle/mathematics katas have received their own share of them as well.
So I guess before determining what is actually an 1dan kata, we need first determine what'd be a better measure of kata difficulty. At least I don't think they should all be compiler/parser problems :P
We still want to open up Dan level kata. Some have suggested that we actually shift many of our kata over to the right of the spectrum, to make room for super easy, codecademy level 8 kyu kata (which some are, but as time goes on the difficulties keep getting compressed). I also agree with @Voileexperiments that there are some kata that deserve to be 1 Dan already.
Though it would be nice if the Dan levels were a clear upgrade from the kyus in terms of what you are solving. Ideally they would be project level kata, that span across multiple files and aren't just algorithm challenges, but mini apps. We are working towards expanding our code execution engine and interfaces to support these types of things but I don't have an estimate on how long it until that would show up on CW at this point.
There are some new categories of katas I was planning to make that should probably be interesting in this regard:
Practical implementation katas: e.g Make your first incremental game (this should be 6-5kyu range I think, but writing these kind of katas that go above 1kyu shouldn't be hard)
Solvers: Currently there are: Slider puzzle, Tic-Tac-Toe, bruteforce Sudoku solver, Lights Out, 6x6 Skyscrapers, Minesweeper, Link Up (in beta), and some more. It's very easy to write other katas of the same form, e.g what I'm doing right now with the ASCII Games series I just started. There are various actual puzzles one can encounter in various places (most of my inspirations are from puzzle games, I play lots of them), and writing solvers for them would provide a constant source of kata material.
Mathematical/statistical/science problems: Project Euler is insanely tough, surely we can learn something from it? Sampling (e.g the coin campling kata I wrote that just got approved), gaussian elimination (touched by a few katas here and there) , regression (there are two), k-mean, gradient descent, linear programming, advanced problems (e.g Take it or Leave it Interview Strategy aka secretary problem)... It probably needs some people with good background knowledge on them (g964 is pretty good at this), but as far as it is right now, this is a largely unexplored field.
Other paradigms: There are already three "network" katas (ranked at 5-2kyu), and there are many more possibilities: Computer graphics/computational geometry (e.g Hide from the Sun beta kata), protocol/communication interface (e.g TIS-100), numerical simulations, exotic system/platforms (e.g SHENZHEN I/O and MHRD), crypto (Mystery function #2), reverse-engineering and hacking (diffuse the bombs, or like games like Untrusted), AIs and cops-and-robbers challenges (similar to what codegolf.SE has, except you write programs that generate cases which consistently break subpar "robbers"). They should be pretty fun.
By the way, I do agree that 6-7kyu katas are way too compressed at the moment. My feeling after cleaning up all 7kyu JS katas is this:
If we want to move katas at the right of the spectrum, the first thing to do is to naturally focus on katas at 6kyu range, the nastiest bits lies at there. Or maybe we can open up a "real-life scenario" category, so people who don't want to deal with muddy details (which most real-life like katas have) can avoid them completely.
Some have suggested that we actually shift many of our kata over to the right of the spectrum, to make room for super easy, codecademy level 8 kyu kata
Just my personal opinion, but I have a really bad feeling about this if this Suggestion is ever accepted. I've joined Codewars for over a year and the impression that I have gotten of Codewars is that it is a place designed to refine your skills on language and programming fundamentals learned from other sites like Codecademy through the implementation of simple algorithms to solve real-world problems or learn new, advanced syntax and language features not provided by Codecademy (or similar) such as ES6 generators (which I still don't understand to this day :p). If we keep shifting our content towards the easy spectrum and make Codewars look like another Codecademy then most of the fun is lost - I might just as well leave Codewars and go back to Codecademy to further solidify my memory in basic syntax features of JavaScript (for example). Sure, I get that it is sometimes good to be able to grind a large number of 6-8 kyu
Kata for what little honor/rank progress they offer just to pass the time when I can't find a single 5+ kyu
Kata that is of interest (or that I am able to solve) but it's always better to have more Kata on the more challenging spectrum (typically 5+ kyu
) so that I can always seriously train my programming and algorithm-devising skills whenever I feel ready to do so. And it's not like any beginner/novice coder can use up all of the currently approved 6-8 kyu
Kata anytime soon as there are currently at the very least 200 8 kyu
Kata on site and at least three to four times more 7-6 kyu
Kata than 8 kyu
ones. Even during my early days on Codewars when I was literally addicted to the site, I was still only able to grind about 30 8-6 kyu
Kata per days which meant that it would take at least an entire week to grind through all the 8 kyu
Kata and at least an entire month to grind through all 7-6 kyu
ones. And by the time that a beginner/novice coder has finally completed every single 8-6 kyu
Kata there is on the site (which even I haven't done), chances are that he/she is no longer just a beginner/novice and will probably find such Kata too easy and boring. Challenging content, on the other hand, especially all the 2-1 kyu
Kata on the Site, can in fact be completed by the average fresh CS graduate in no time. Such Codewars users (CS graduates who aim to further refine their skill and knowledge here on Codewars) are then left with no option but to grind lower-level Kata which I assume is rather boring and pointless for them.
So, my push would be towards encouraging more able CW users to write more high-level Kata and push the overall content difficulty towards the left end of the spectrum.
Though it would be nice if the Dan levels were a clear upgrade from the kyus in terms of what you are solving. Ideally they would be project level kata, that span across multiple files and aren't just algorithm challenges, but mini apps.
While I do agree with this, I believe that it is indeed possible to write an extremely tough (tougher than 1 kyu
) Kata that only requires implementing a single function or algorithm, and on the other hand, it is also possible to write a Kata involving a mini-app (in the future) that is perhaps no higher than 5 kyu
, especially if said mini-app only involves recalling a lot of APIs and how to use them. Perhaps we could structure the Dan system such that all mini-app Kata are not allowed to be ranked below 1 dan
, or if said mini-app Kata is too easy to be ranked 1 dan
then a user can vote for it to be retired? On the other hand, in terms of ordinary single-page Kata, perhaps the number of Dan rankings available to be voted on could be restricted to only 1 dan
/2 dan
maximum?
Fairly new user on codewars here, but want to add a comment/opinion that "project-type" questions may be longer and require multiple files but not necessarily harder. Making project length kata automatically "dan" level would go against the current hierarchy and understanding of difficulty on CW. As an SE working on sometimes long and slightly mundane projects, I appreciate the conciseness and cleverness required by many CW problems.
In any case, would love to see "dan" level kata soon, project type or otherwise. Any idea when these will be going out?
It has been almost 5 years since this issue was posted, are there any updates? Any example of a problem/puzzle/application whose intricacies and difficulty is at par of dan level? (Sure I can read the comments from voile and donald, but any update from your side?)
Please read our responses in https://github.com/codewars/codewars.com/issues/1859
I was wondering if more advanced levels are available, since the documentation says there are dan levels.