What should replace #12in23 in 2024?

Many languages lack concepts which makes it harder for students to learn and use Exercism. Why not set the challenge to add concepts to a language per month?
Edit: iHiD told me about Freeing our maintainers

Another idea: I’m surprised how much time it took me to learn about Exercism be it on Reddit or just Google. People share a lot of links to video courses but these courses lack exercices and I always wondered how they managed to learn programming.
Anyway, why not have a month dedicated to spreading the word about Exercism on social networks and forums dedicated to the topic of learning programming?

1 Like

If we set aside January for setting things up, #48in24 works.

1 Like

We’ll do a badge for completing all 52 exercises, a badge for completing all 52 exercises in 3 languages, and then some periodic badges as well.

Does the second part of this mean 52 exercises divided into 3 languages (say, 17 + 17 + 18 = 52), or each of 52 exercises completed in 3 languages (52 * 3 = 156)?

We just need a name? #52in24 doesn’t run off the tongue as smoothly. Any better ideas?

Our French friends will probably recognize #hebdomadal24 or even just #hebdo24. I’m mostly joking, but maybe people would see it and their interest would be piqued when they wonder what the heck “hebdomadal” means.

52 is a multiple of 26, so maybe something like “The Alphabet of Code”?

2 Likes

I like that. :smile: It could be like a Sesame street - style thing:

This week brought to you by the Letter(s) ____, the number ____, and the concept ____.

Letter(s) being whatever the exercise(s) start with, the number being the week number, and the concept … well, I’d have to think about that one! :laughing:

Another (silly) thought: many folx still set a New Year’s resolution to “get in shape” . We could do a "Whip your coding into shape in 2024" or “Get into coding shape in '24 with weekly exercises”.

The Exercsim exercise plan for 2024.

Ok, maybe that isn’t as cool as it sounded in my head …

1 Like

Clever. The only missing exercise letters would be J, U, and X. However, we’d have some time until the U and X come along.

Here’s some silly ideas:

  • #24seven (as an allusion to 24/7 – solve exercism around the clock)
  • #weekxercism

Alternatively, how about we leave #52in25 for 2025 and go for two exercises a month in 2024: #24in24 ?

1 Like

(I’m trying to not be here btw to rest, but please keep the ideas coming! :slight_smile: Thank you all! :blue_heart:)

3 Likes

Along with badges, might a leaderboard be useful? I’d enjoy that, but I’m not sure how much work that would require.

Name: Exercism By The Week?

Not entirely related: but this is for end users. Might we make something similar for contributors/mentors? Some form of competition that would pull in new folks and kick up things.

2 Likes

I like the alphabet and deck-of-cards themes. With the latter, you could group exercises into one of 4 “suits” (or themes) like “algorithms”, “math”, “CS fundamentals”, etc.

I’m not sure it fits the vibe, but there’s also a TV trope of monster of the week where characters fight a new villain every episode (think Scooby Doo / Buffy / Captain Planet). Positioning each selected exercise as a cartoon “monster” (e.g. the "Leaping Lizard) could be fun (but is maybe a lot of extra creative effort.

As for the badges, I like the 100% completion. If we end up going with 4 sub-categories, those would make sense for badges too. I’m a little concerned with “do all 52 exercises in 3 languages”, since 156 exercises in a year seems like a lot (and there’s a new one every week). I might switch to exercises every other week if we want to encourage “do everything 3x”, which is still lofty but demands less of everyone. Or make it “do everything in 2 languages”; 3 just seems like a lot on paper.

While 12in23 was about branching out and trying new things, I like positioning 2024 as a year to focus in on your favorite(s) from last year and double down on them. To that end, i’m not really sold on a badge for repeating selected exercises in multiple languages anyway.

My last thought is that it may be hard to pick tracks that have every selected language. Scrolling the tracks page, there are quite a few that have fewer than 52 published. For the ones that have less than 70, I’m not sure what the overlap looks like. If we get the exercise list chosen well enough in advance, Track maintainers can probably get ahead of adding new exercises as needed, but that could also be a lot of extra burden for maintainers. Having folks pick a language that implements the week’s exercise is fine, but I think there’s a value in focusing in on one or two for the year and going deep (rather than broad). It won’t be an issue for the 10 most popular tracks, but I’d be annoyed to pick say, Julia, and only be able to use it for half the selected exercises.

All that said, this seems like a great program and I’m excited to dive in again!

Name ideas:

  • DeepIn24
  • 2024Shuffle (card metaphor)
  • 2Code4Learning (sort of silly, but takes advantage of the fact that 2 and 4 are both english words you can use in a sentence)
  • DeepDish24 (pizza metaphor?)
  • 52LessonsIn24

I’m not in love with any of those, just spitbaling a bit.

Also, let me know how I can help!

1 Like

Yes, weekly exercise make it more competitive and give reason to stick with the track, because in the #12in23 I lost on the track after participating two-three month.
but,
Thanks to #12in23 I learnt languages like elixir and rust so thank you :raised_hands:

1 Like

Related to my original concept, we could have a core badge instead of multiple month-specific badges. That badge gets leveled up throughout the year, changing rarity at certain stages of completion. That’ll give the student a sense of continuity and progress over the year. It’ll also encourage them to keep a streak going, but since the streak is by week and not day, the stakes are much lower. They’ll have ample time for rest in between featured exercises

5 Likes

To help us figure out what exercise to feature and what language to use, I’ve gathered some data. The below table contains a list of all practices exercises that:

  • Are defined in problem-specifications
  • Has status set to active
  • Has its track’s status set to active
  • Is implemented by more than one track

The following table lists each of these exercises along with the week they’re featured in (which is TBD for all but the first two), as well as the track that we’ll feature the exercise in as well as the total number of tracks that have implemented that exercise (for the full list of tracks per exercise, see this Gist):

Exercise Week Track Num Tracks
hello-world 1 TBD 67
leap 2 TBD 65
hamming TBD TBD 62
raindrops TBD TBD 62
rna-transcription TBD TBD 62
bob TBD TBD 59
difference-of-squares TBD TBD 59
triangle TBD TBD 59
grains TBD TBD 58
acronym TBD TBD 56
isogram TBD TBD 56
pangram TBD TBD 56
two-fer TBD TBD 56
anagram TBD TBD 55
collatz-conjecture TBD TBD 55
atbash-cipher TBD TBD 54
luhn TBD TBD 53
nucleotide-count TBD TBD 53
space-age TBD TBD 53
allergies TBD TBD 52
roman-numerals TBD TBD 52
scrabble-score TBD TBD 52
word-count TBD TBD 52
armstrong-numbers TBD TBD 51
all-your-base TBD TBD 49
darts TBD TBD 49
etl TBD TBD 49
matching-brackets TBD TBD 49
sum-of-multiples TBD TBD 49
phone-number TBD TBD 48
binary-search TBD TBD 46
queen-attack TBD TBD 46
reverse-string TBD TBD 45
gigasecond TBD TBD 44
sieve TBD TBD 44
perfect-numbers TBD TBD 43
run-length-encoding TBD TBD 43
nth-prime TBD TBD 42
pascals-triangle TBD TBD 42
prime-factors TBD TBD 42
secret-handshake TBD TBD 42
clock TBD TBD 41
largest-series-product TBD TBD 41
rotational-cipher TBD TBD 40
crypto-square TBD TBD 39
series TBD TBD 39
protein-translation TBD TBD 38
diamond TBD TBD 37
grade-school TBD TBD 37
isbn-verifier TBD TBD 37
resistor-color TBD TBD 37
robot-simulator TBD TBD 37
resistor-color-duo TBD TBD 35
meetup TBD TBD 34
say TBD TBD 34
minesweeper TBD TBD 33
sublist TBD TBD 33
robot-name TBD TBD 32
binary-search-tree TBD TBD 31
matrix TBD TBD 31
pig-latin TBD TBD 31
wordy TBD TBD 31
flatten-array TBD TBD 30
pythagorean-triplet TBD TBD 30
saddle-points TBD TBD 30
change TBD TBD 29
circular-buffer TBD TBD 29
high-scores TBD TBD 29
kindergarten-garden TBD TBD 29
list-ops TBD TBD 29
proverb TBD TBD 29
bowling TBD TBD 27
linked-list TBD TBD 27
strain TBD TBD 27
affine-cipher TBD TBD 26
complex-numbers TBD TBD 26
custom-set TBD TBD 26
resistor-color-trio TBD TBD 26
yacht TBD TBD 26
palindrome-products TBD TBD 25
simple-cipher TBD TBD 25
transpose TBD TBD 25
dnd-character TBD TBD 24
forth TBD TBD 24
ocr-numbers TBD TBD 24
rail-fence-cipher TBD TBD 24
spiral-matrix TBD TBD 24
twelve-days TBD TBD 24
two-bucket TBD TBD 24
bank-account TBD TBD 23
pop-count TBD TBD 23
tournament TBD TBD 23
house TBD TBD 22
square-root TBD TBD 22
variable-length-quantity TBD TBD 22
dominoes TBD TBD 21
simple-linked-list TBD TBD 21
book-store TBD TBD 20
food-chain TBD TBD 20
knapsack TBD TBD 20
rectangles TBD TBD 20
alphametics TBD TBD 19
connect TBD TBD 19
poker TBD TBD 19
rational-numbers TBD TBD 19
react TBD TBD 17
zebra-puzzle TBD TBD 17
zipper TBD TBD 17
grep TBD TBD 16
bottle-song TBD TBD 14
parallel-letter-frequency TBD TBD 13
word-search TBD TBD 13
killer-sudoku-helper TBD TBD 12
markdown TBD TBD 12
pov TBD TBD 11
satellite TBD TBD 10
go-counting TBD TBD 9
error-handling TBD TBD 8
rest-api TBD TBD 8
sgf-parsing TBD TBD 8
ledger TBD TBD 7
dot-dsl TBD TBD 6
hangman TBD TBD 6
tree-building TBD TBD 6
state-of-tic-tac-toe TBD TBD 5
lens-person TBD TBD 3
micro-blog TBD TBD 3
paasio TBD TBD 3

The second step is to come up with 52 exercises that we want to feature and select the track with which we do so.

For the exercise selection, we should prefer exercises that:

  • are implemented in many languages
  • can be solved in different ways (in other words: have multiple approaches)

For the track selection, we should prefer a track that:

  • fits the exercise well (some exercises make less sense in some tracks, even though they’ve been implemented in that track)
  • supports the exercise being solved in different ways
  • has not yet been featured for another exercise (I probably don’t want to make this a requirement (yet))

Hello. Happy new year everyone. Thanks for all your discussion! Little update from me on this…

  • We’re going to do 48 exercises and call it #48in24.
  • We won’t have exercises in the first or last two weeks of the year.
  • You can solve the exercises at any time during the year, but they’ll be released once per week.
  • Each exercise will have three featured tracks in which we recommend solving it. Those tracks will be featured based on us offering variety (as per 12in23), how interesting it is to solve in a particular language, and how comprehensive that language has implemented the exercise in terms of approaches etc.
  • There are three levels of completion for each exercise:
    • Bronze: Complete it in any track during the year
    • Silver: Complete it in any three track during the year
    • Gold: Earn Silver + have completed it all three featured tracks (either historically or this year).
  • There will be badges for various levels of earning bronze/silver/golds (I’m not sure what yet - but we can be creative)
  • We’ll launch the sign up page this week.

From a community perspective, we’d love to use this to get more walkthroughs and approaches made to really enrich the quality of the exercises, as well as refining descriptions for each one etc. I feel that’s one of the most valuable things we can do to make Exercism better for students. I’d also like Erik and I to put together some weekly “chat about the exercise” videos for each exercise as part of this, but need to work out the burden of creation of that with Erik before committing. Erik will be working out a plan of how to achieve that with you all. We’ll have a community call soon too where we can discuss it.

I’m considering the “leaderboard” idea - there’s pros and cons to it, so I want to take some time over it.

I’m open to extra ideas or suggestions!

5 Likes

It’s great to see the consideration of exercises done historically (for the gold level), as the more we do the exercise, the more difficult it will be to find the necessary exercises in the languages individuals want to learn.

1 Like

I’ve updated the gist to also list what tracks have approaches (and how many) and which do not: 52in24.md · GitHub

2 Likes

In terms of choosing exercises, my preference would be ones that can be solved in multiple interesting ways, and also just a focus on variety of difficulty and type (e.g. algorithm, maths/not, strings/not, data structures, etc)

I’m locking this issue and defering to the new 48in24 Category where we can start new threads. Thanks for weighing in everyone - it’s only based on all your feedback that we’re doing this :slight_smile: