Foregone parallel-letter-frequency exercise still visible by URL

This was initially noticed on Discord. Parallel Letter Frequency on Python is still visible by URL even though it’s a deprecated exercise. That means students can find this exercise in a Google search, but then they can’t start the exercise. If they navigate away, they might not be able to find it again.

My proposal is that we simply put a band-aid on this by using an instructions append to indicate that this exercise was removed.

Isn’t it normal for deprecated exercises to be available by URL? When an exercise is temporarily public, then deprecated, it is still accessible on the track exercises page to anyone who already completed it. It’s just semi-hidden from the rest of the students.

The point is that there are probably dozens of exercises like this, across many tracks.

It currently says the following:

“Unlock Parallel Letter Frequency

This exercise is currently unavailable for you to start. Complete the following exercises to unlock Parallel Letter Frequency or disable learning mode.”

This bit is shown on other deprecated exercises for tracks even without learning modes so it’s confusing. The correct behavior is probably to fix this upstream, but that requires staff involvement.

Yes, it needs a fix to the website. Though writing the necessary Ruby code is probably not Jeremy’s most urgent priority this week!

The website shows the same for all locked exercises, regardless of deprecated/active or not.

Alright. I’ll start a broader thread outside of the forum. This thread was specifically about the proposed band-aid fix, but it sounds like there might be more interest handling this closer to the source.

Yeah this is more or less a state mismatch problem in the Python track.

deprecated exercises shouldn’t reuse the same “unlock this exercise” UI - that’s what’s confusing people. Currently, URL access still works, but the frontend displays it as a locked exercise, so users cannot tell if it is removed or just locked.

A quick band-aid message could help, but the real fix has to be upstream: separate “deprecated/retired” and “locked/unavailable” states so that the Python track behaves consistently across all exercises.

This isn’t confined to the Python track — it is an issue on every language track that has deprecated and/or foregone exercises.

The Python track doesn’t even have assets for this exercise (no stub, tests, or introduction docs) because is is foregone. There aren’t any student completions (unlike for deprecated exercises), and there aren’t any dependancies (it isn’t needed to unlock anything).

This is different from a deprecated exercise, which is “discontinued” but has assets and student completions. For those exercises, if you have started or completed the exercise as a student it needs to remain available to you — and thereby available via URL — even if new students can’t start it.

Please see this discussion for suggestions and discussion on what to do cross-track to make inactive and unavailable exercise messaging more clear.

Since this is a cross-track issue, I am going to flag this thread as resolved.

1 Like