Whilst adding practice exercises to a couple of tracks, it struck me that we haven’t really added many new exercises to the prob-specs repo lately. I think this is a shame as new exercises make exercism stay “fresh.” We also have some subjects that seem to be lacking practice exercises, e.g. there are very few date-related practice exercises. My goal is to remedy this, hopefully doing this together
Here are the subjects that I feel are lacking practice exercises:
Bitwise operations (I’d love for one where you’d get to use an XOR)
Dates/time/timezones (maybe also calendars?)
Multi-dimensional arrays
Randomness
Parallellism
Domain-driven design (something a bit more “hefty” where you’d be defining a couple of classes/modules to build up a solution)
And some subjects that I feel would make for cool practice exercises:
Shortest path (Dijkstra/A*)
Build tiny language (lexing and/or parsing and/or interpreting, possibly three exercises that build on each other like the resistor-color series)
For bitwise operations, my first thought was perhaps an exercise on error detection and then correction. We could start with the simple parity bit for error detection and then follow up with Hamming code to include correction. Happy to try put together a PoC.
For an XOR bitwise operations exercise, we may use NMEA GPS checksum calculation. Basically its “XOR all ASCII chars between $ and * and represent the result as ASCII hex digits”.
I had an idea to rip off (or make something similar to) Google’s Half Moon doodle game. Maybe it’ll fit in the multidimensional arrays.
Also, any docs/guidelines on proposing new exercise? I haven’t really done it before.
We don’t really have docs. Usually we have a little discussion on how to implement the exercise, but you could also create a PR and discuss it then (which could mean having done work that would be reverted/changed).