Skip to content

[Hangman]: Should Exercise be Re-Written or Removed from Track? #2105

@xxylem

Description

@xxylem

I just completed the Hangman exercise on the Python track. I see from #1690 that you had problems deciding what to do with this exercise. The problem is from a user perspective it looks like the problem specification and the hints are all written by the same person and should be taken together. So the hint:

Please ignore the part regarding FRP library, a third party library is not required for this exercise.

looks like its telling me that Python has inbuilt support for FRP, which it does not. It looks like I should still use FRP but that I don't need a third party library to do it.

After reading the description, I spent a long time reading up on FRP assuming that I was supposed to use it. To be honest, FRP still confuses me, but as far as I can tell, there are Reactive Programming libraries for Python, but not Functional Reactive Programming libraries (Reactive Extensions is not FRP). To implement FRP in Python wouldn't seem to make much sense: you'd have to make everything immutable and you'd be fighting the language all the time. The fact that the exercise was made for OCaml is quite telling, I think. It is a very niche problem.

I understand from the discussion that the problem statement cannot be changed. In that case, I think a clearer hint would be:

PLEASE DISREGARD THE PROBLEM DESCRIPTION. IT IS NOT POSSIBLE TO USE FUNCTIONAL REACTIVE PROGRAMMING (FRP) WITH PYTHON. YOU CAN USE ANY STYLE/PARADIGM YOU THINK IS APPROPRIATE. WE ARE NOT ABLE TO CHANGE THE PROBLEM DESCRIPTION AND IT WAS ORIGINALLY MADE FOR A FUNCTIONAL PROGRAMMING LANGUAGE.

although this is not a perfect fix. It should be in caps because as far as the student is concerned, the problem statement and the hints should be read together as one complete whole, but here the hints are directly contradicting the problem statement.

Ideally the original problem should be changed to avoid requiring a specific paradigm. I have had similar problems in the Javascript track..

Anyway, let me know your thoughts and if I should update something (I haven't contributed here before so I'm not sure of the procedure).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions