Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a column in the Buggy Specifications & Race Rules page for rules #240

Open
mandyWW opened this issue May 18, 2024 · 1 comment
Open
Labels
enhancement New feature or request

Comments

@mandyWW
Copy link
Collaborator

mandyWW commented May 18, 2024

At the moment it is not clear to students what the race rules are in the /specs page unless we tell them to look for bold text/the word "must". It would be helpful to have another column called "rule" or "constraint" which holds this info. For example:

Item Description Rule
Primary motive power The main source of motive power that moves your buggy forward.See power table for details Must not be none.

Also, I am unsure if "Auxiliary motive power" has a rule where you require a backup or not? Wording is slightly confusing. Adding the rule column above would probably help clarify.

@mandyWW mandyWW added the enhancement New feature or request label May 18, 2024
@davewhiteland
Copy link
Collaborator

davewhiteland commented May 18, 2024

Aux motive power is optional — the default is none and the text does say "You don't need a backup". Also, worth noting that if a student does add an incorrect rule enforcing an aux power, nothing specifically breaks (although you might be spending more on your buggy than you strictly needed to).

Not tabulating the rules is a deliberate design decision (and maybe it's wrong): the rules, unlike the other specs, are not tabulated. I mention this on the "Design principles" page of the docs :

The buggy racing specification is deliberately large, and the rules embedded in it are not all tabulated or enumerated. At some point every student needs to find where the boundary between specification and implementation lies in the software they write. When is data encapsulated in code? When is it explicitly separate?

I want students to have to figure out the rules. I think of it as a reading comprehension task which is really part of the "understanding the problem domain" problem that I am OK about forcing students to have to dive into, and think about. (That doesn't excuse ambiguity in the text of course — although in the case of aux power, I don't think it is ambiguous but could be persuaded: might be helpful to add optional... but then that's true of all items (not just aux_power_type) that have a default value of none, so I am not yet convinced).

This matters for task 2-RULES so if you want to enumerate them for your students, you could tabulate them and and add that to the task text in the Hints section

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants