Select Featured Exercises for Nibbly November

Next month (October), will have the Object-Oriented October theme, which will feature six languages:

  • MIPS Assembly
  • WebAssembly
  • x86-64 Assembly

In theory, this should make selecting exercises easier, but unfortunately there are two things going against it:

  1. We have already used a great many exercises in previous months
  2. They’re all relatively small tracks, with not that many exercises implemented

The current list of possible exercises looks as follows:

exercise mips wasm x86-64-assembly
grains :x: :white_check_mark: :white_check_mark:
resistor-color :x: :white_check_mark: :white_check_mark:
all-your-base :x: :white_check_mark: :x:
bank-account :x: :white_check_mark: :x:
binary :white_check_mark: :x: :x:
hexadecimal :white_check_mark: :x: :x:
nth-prime :white_check_mark: :x: :x:
nucleotide-count :x: :white_check_mark: :x:
octal :white_check_mark: :x: :x:
rotational-cipher :x: :x: :white_check_mark:
trinary :white_check_mark: :x: :x:

We don’t even have one exercise that is implemented by all three tracks.
For completeness’ sake, these are the unimplemented exercises that are in prob-specs that we haven’t yet used:

  • affine-cipher
  • alphametics
  • book-store
  • bottle-song
  • bowling
  • change
  • complex-numbers
  • connect
  • crypto-square
  • custom-set
  • diamond
  • dnd-character
  • dominoes
  • dot-dsl
  • error-handling
  • flatten-array
  • food-chain
  • forth
  • go-counting
  • grade-school
  • grep
  • hangman
  • hello-world
  • house
  • isbn-verifier
  • killer-sudoku-helper
  • kindergarten-garden
  • knapsack
  • ledger
  • lens-person
  • list-ops
  • markdown
  • meetup
  • micro-blog
  • minesweeper
  • ocr-numbers
  • paasio
  • palindrome-products
  • parallel-letter-frequency
  • pascals-triangle
  • perfect-numbers
  • pig-latin
  • poker
  • pov
  • prime-factors
  • proverb
  • pythagorean-triplet
  • queen-attack
  • rail-fence-cipher
  • rational-numbers
  • react
  • rectangles
  • resistor-color-duo
  • resistor-color-trio
  • rest-api
  • run-length-encoding
  • satellite
  • say
  • scale-generator
  • sgf-parsing
  • spiral-matrix
  • square-root
  • state-of-tic-tac-toe
  • strain
  • sublist
  • tournament
  • transpose
  • tree-building
  • twelve-days
  • two-bucket
  • variable-length-quantity
  • word-search
  • wordy
  • zebra-puzzle
  • zipper

There are currently only two exercises that are currently implemented by at least two tracks.

So are these all our options?

  1. Decide on some exercises, then try hard in the next few weeks to get at least 5 common exercises implemented across all 3 tracks.
  2. Select more than 5 featured exercises for this month, or even just allow any exercise to count.
  3. Try 1, but fallback to 2 if we can’t manage it in time.

MIPS ports for the following seem feasible - please reopen PRs:

  • all-your-base
  • grains (PR)
  • isbn-verifier (PR)
  • nucleotide-count (PR)
  • queen-attack
  • resistor-color (PR)
  • rotational-cipher (PR)
  • square-root (PR)

x86-64-assembly ports for the following seem feasible

  • all-your-base
  • isbn-verifier
  • nucleotide-count
  • queen-attack
  • square-root (PR)

I think the new pop count exercise might be a good addition to the tracks.

1 Like

My suggestion would be:

Eliud’s Eggs (Pop Count)

Any 1 out of

  • grains
  • queen-attack
  • square-root

Any 3 out of

  • isbn-verifier
  • nucleotide-count
  • resistor-color
  • rotational-cipher

I feel like this is the only sane option, so I would really like us to try and make this option work.

What about this list, where I’m heavily favoring easier exercises due to the difficulty I expect many people will have with assembly-based tracks:

  • eliuds-eggs: some bitwise operations and looping
  • grains: some math or bitwise operation
  • resistor-color: looping and strings
  • rotational-cipher: looping, strings and modulo arithmetic
  • nucleotide-count: looping and strings
1 Like

All merged except one (I asked a question on that PR)

List looks good.

Some x86-64-assembly ports:

  • isbn-verifier (PR )
  • nucleotide-count (PR )
  • queen-attack (PR )
  • pop-count (PR )

WASM implementation

  • pop-count (PR )
  • square-root (PR )
  • update for some existing exercises - exit with failure on compile error (PR )

MIPS implementation

  • pop-count (PR )
  • update for existing exercises - allow for solutions that modify arg registers (PR )
1 Like

All merged! Thanks so much.

The current status is

exercise mips wasm x86-64-assembly
grains :white_check_mark: :white_check_mark: :white_check_mark:
nucleotide-count :white_check_mark: :white_check_mark: :white_check_mark:
pop-count :white_check_mark: :white_check_mark: :white_check_mark:
resistor-color :white_check_mark: :white_check_mark: :white_check_mark:
square-root :white_check_mark: :white_check_mark: :white_check_mark:
rotational-cipher :white_check_mark: :x: :white_check_mark:

So we’re only missing rotational-cipher on wasm.

WASM rotational-cipher PR: Add rotation-cipher exercise by kahgoh · Pull Request #73 · exercism/wasm · GitHub

MIPS implementation

  • resistor-color-duo (PR )
  • update for some existing exercises - report expected and actual values on failure (PR )

x86-64-assembly implementation

  • resistor-color-duo (PR )

With Add rotational-cipher exercise by kahgoh · Pull Request #73 · exercism/wasm · GitHub merged, all tracks implement all five featured exercises! Thanks all