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

Do dan levels exist? #35

Closed
afonsomatos opened this issue Apr 11, 2015 · 13 comments
Closed

Do dan levels exist? #35

afonsomatos opened this issue Apr 11, 2015 · 13 comments

Comments

@afonsomatos
Copy link

I was wondering if more advanced levels are available, since the documentation says there are dan levels.

@afonsomatos afonsomatos changed the title Does dan levels exist? Do dan levels exist? Apr 11, 2015
@bkaestner
Copy link

According to the API (version 1), no, they don't. The strategy field doesn't include dan values yet.

@jhoffner
Copy link
Member

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.

@snackycracky
Copy link

hey @jhoffner, can you give an update to your answer please ?

@DonaldKellett
Copy link
Member

@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).

@Voileexperiments
Copy link

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

@jhoffner
Copy link
Member

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.

@Voileexperiments
Copy link

Voileexperiments commented Apr 19, 2017

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 User API endpoint is not showing correct information #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.

@Voileexperiments
Copy link

Voileexperiments commented Apr 19, 2017

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:

  • 8kyu is mostly equivalent to "I just knew how to code"
  • 7kyu katas are like C code assignments, you can't do anything other than loops, arrays, strings and basic math library, have fun
  • And then 6kyu katas are all over the place, some of them are simple while some of them are just way too annoying but still got put into 6kyu range because the things and concepts involved are "not hard enough". I do not plan to clear up all 6kyu katas in near future because of this. (Also I have a suspicion that our regular residents are conspiring to cramp most katas into 7-6kyu range whenever they can :P)
  • 5kyu is relatively more okay because the number of them are much smaller, but I can't really feel the difference between 5kyu and 6kyu katas
  • 4-3kyu... CS/language feature abuse problems are hard hard hard, some problems are easy if you know the standard tricks, math/physics problems and real-life problems are all quite easy, solvers all resort to brute-force and it's boring (at least even pathfinding variants should be somewhat distinct from each other in terms of problem characteristics, right? At least that's what I'm trying to achieve with my ASCII Games series)
  • 2-1kyu: Seriously needs lots more non-CS katas
  • Also, roughly speaking 7kyu and 6kyu has the most katas. But because 6kyu katas are way more annoying than 7kyu ones on average, they also takes the most time to complete

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.

@DonaldKellett
Copy link
Member

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.

@DonaldKellett
Copy link
Member

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?

@kanglicheng
Copy link

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?

@XRFXLP
Copy link

XRFXLP commented Jun 7, 2020

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?)

@kazk
Copy link
Member

kazk commented Jun 7, 2020

Please read our responses in #1859

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

No branches or pull requests

9 participants