-
-
Notifications
You must be signed in to change notification settings - Fork 120
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
Problem codenames don't match #259
Comments
So let me give a little history on this and then I would love it if we could all come up with a solution for how to deal with this across the books and Runestone.
THEN CAME THE ASSIGNMENT BUILDER When we added the assignment builder to Runestone many instructors stopped verbally assigning things and started creating assignments. But the database didn't know what the "display name" for corresponding to each unique id even was. Even worse, before this fall one teacher might build their book in June and another might build their book in September but in the meantime we had added some exercises to the textbook, so for one instructor item-11-1 through iter-11-5 might not even be the same problems! Thats not really a problem any more as everyone sees the same book. Also, early on, yours truly didn't really think that anyone would assign any problems except for activecodes. So not true! I also was totally random in the way I named questions. What to do now?
I'm not sure how easy / difficult this will be in the question builder as I think we rely on the node name being the unique identifier -- hopefully @bjones1 will know. This would be a LOT of work to update every question so it can't happen over night, and to do it right would require some real thought on the part of authors to come up with a sensible naming convention. Is there another way? A better way? help! Adding @RunestoneInteractive/authors to the discussion |
Number 1 would suit me just fine. You could tuck it away in the upper-right corner with a lighter font if its appearance bothers people. I wouldn't use iter-11-1 as a way of communicating from teacher to student; instead I would just number the problems on each page, and tell students to do "Problems 1-3 on the exercises page of Chapter 7". |
I think the easy option #1 is good for now. I realize now that I should
have renamed all the exercises that I forked from the old book before
making the new book public, but oh well. #2 just sounds too difficult at
this point. Could whatever code generates the current display names
chapter-lesson-number write that association with the unique name in the
database for us and then be used in the assignment builder?
-Beryl
…On Thu, Sep 19, 2019 at 11:58 AM sahi1l ***@***.***> wrote:
Number 1 would suit me just fine. You could tuck it away in the
upper-right corner with a lighter font if its appearance bothers people. I
wouldn't use iter-11-1 as a way of communicating from teacher to student;
instead I would just number the problems on each page, and tell students to
do "Problems 1-3 on the exercises page of Chapter 7".
A potential compromise for #2
<#2>: give each problem
an optional "description" entry, and display that description in a smaller
grey font on the Assignment Selector page right underneath the code, or
maybe as a tooltip when you hover over the codename. They wouldn't have to
be unique that way, and we could slowly build up our supply of descriptions
instead of having to do it all at once. (I'm not sure what the Tags field
is for, but that could be an alternative.)
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
<#259?email_source=notifications&email_token=ABC4GOTBDTY33LOHS7IHEA3QKOOSNA5CNFSM4IYLPIV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7D7EYI#issuecomment-533197409>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABC4GOTRPEVXALQA62S5GZDQKOOSNANCNFSM4IYLPIVQ>
.
|
Option #1 was particularly easy thanks to inheritance! So, here is what I have at the moment. I think it works well with our activity counts... For example: Continuing to the bottom of the page: The counter is generated by the CSS! I struggled with whether to do a counter at all and what to put in front of the number if anything, then I thought activity is kind of nice because it mostly matches.... There is just a tiny bit of dissonance due to counting the loading of the page as an activity. I think we can now remove the other labels like data-13-1 and just go with the captions underneath?? What do you all think? |
Activity 0 is loading the page! You're teaching them that indexing starts
at 0.
…On Thu, Sep 19, 2019 at 2:30 PM Bradley Miller ***@***.***> wrote:
Option #1 <#1> was
particularly easy thanks to inheritance!
So, here is what I have at the moment. I think it works well with our
activity counts... For example:
[image: Screen Shot 2019-09-19 at 1 24 36 PM]
<https://user-images.githubusercontent.com/51115/65270587-1701c700-dae1-11e9-8fba-7879f7d2ddef.png>
Continuing to the bottom of the page:
[image: Screen Shot 2019-09-19 at 1 24 36 PM]
<https://user-images.githubusercontent.com/51115/65270593-1f5a0200-dae1-11e9-9305-db79c82b267b.png>
The counter is generated by the CSS! I struggled with whether to do a
counter at all and what to put in front of the number if anything, then I
thought activity is kind of nice because it *mostly* matches.... There is
just a tiny bit of dissonance due to counting the loading of the page as an
activity.
I think we can now remove the other labels like data-13-1 and just go with
the captions underneath??
What do you all think?
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
<#259?email_source=notifications&email_token=AAIG7TU6NYNEDGMFBBOONXLQKPALJA5CNFSM4IYLPIV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7EM7LQ#issuecomment-533254062>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAIG7TSMPXU6RFEPXXHLEWLQKPALJANCNFSM4IYLPIVQ>
.
|
True, I think that is a better lesson than having the first activity on the page numbered as Activity 2. |
I like what you've done! However, please don't delete the label at the top
because we use those in our lesson plans for each lesson and it will be a
pain to go back and edit them all.
-Beryl
…On Thu, Sep 19, 2019 at 2:44 PM Bradley Miller ***@***.***> wrote:
True, I think that is a better lesson than having the first activity on
the page numbered as Activity 2.
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
<#259?email_source=notifications&email_token=ABC4GORXAHLFSYA3I46WJ23QKPCAHA5CNFSM4IYLPIV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7EOILY#issuecomment-533259311>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABC4GOVUVMVZRGKQX3RJEFLQKPCAHANCNFSM4IYLPIVQ>
.
|
Good point Beryl, we can maybe do that at a later time, or make it configurable per book (sorry @bjones1) 😄 It may be better for you in your book as you have probably done a more consistent job of using those numberings than we have in FOPP. I agree, it would be bad to remove them without any warning as there may be teachers referring to them in any Runestone book. |
I'm confused -- is the proposal to use the Instead, I think the assignments interface should be updated to:
|
All I want is to be able to look at the Exercises or Assessment page, jot down some problems that I want to assign for homework, and then find them in the assignments tab. Using the first few words of the HTML might suit that purpose, unless we end up with a whole page of problems that say "Write a program that…". Much better if each problem had a one-sentence description (or maybe a set of tags) that was specifically written for the assignments tab. Perhaps the description page could be auto-filled with the first few words (minus stopwords perhaps?) as a starting point. But I like having the div_id displayed on the assignments tab simply as a backup. Also, problem numbers should not look like div_ids. e.g. "iter-11-1". That's just confusing. If you REALLY wanted to be ambitious, give instructors the ability to "star" questions that appear in the book, and highlight those problems in the assignments tab. |
@bjones --- the div_id has always been used as the identifier for the question. What this is doing is restoring old functionality (displaying the div_id) on the page of the book. |
Good point. I think, long term, we need something other than the |
@bjones1 -- I think you are asking for something like option #2 Some books are better than others at specifying the qnum information necessary to create the descriptive numbering that Scott does not like. Although I think he would be fine with it if we used those names in both the book and the assignment builder. If you don't want to display the captions as I have currently implemented them (option #1) you can simply change the css. This is a good short term solution gut the long term solution of having a more descriptive number is better. |
Sounds good. |
I don't like it because it looks like the div_id but isn't, so it has thrown me off several times. It's intended for human consumption but looks like something intended for machine consumption. |
OK, maybe I just suck at naming things. But what sort of convention would work? I think they need to be reasonably short and yet still descriptive? Take this page as an example: https://runestone.academy/runestone/books/published/fopp/SimplePythonData/StatementsandExpressions.html Personally, I think that the captions I am showing in the screen shots from yesterday are FAR better than what we have in place. I like that Activity x has a meaning that makes sense to the student, and they can ignore the identifier. The descriptions that we generate like iter-11-1 are supposed to remind that these are part of the iteration chapter. I don' think that question-12-25 (the 25th question of chapter 12) or question-12-1-5 (the 5th question of chapter 12.1) is really that helpful. The approach of adding a star or favoriting a question seems nice to me, and maybe that is a great way to go for the long term. I don't like using the first few words of the question as I think it would be unhelpful and overly long. everything in designing the interface is a tradeoff between how much space you can use and how much information you can present. |
Personally, I would turn off the labels at the top in the FOPP book as they are used very inconsistently. |
I agree on strange labels. I also find them confusing. When they're not set, the numbering makes a lot of sense to me. Here's a screenshot of my book: I'd like to remove the captions as soon as we can get at least the problem number in the assignment interface, since I think they distract, but are also the best way for now to determine what problems to assign. |
What assignable things don't have problem numbers? |
activecodes are on the excluded list for some reason. |
There were a lot of objections to numbering like Q-1, Q-2 as they were not descriptive and highly repetitive. |
Hmmm, I'm surprised. To me, a problem is uniquely identified by its page and number on that page, much like a traditional textbook typically presents problems identified by chapter and problem number. So, if I tell students to work on Q-1 on page blah, they know where to go. Likewise, if I want to assign Q-1 on page blah, I know exactly what I've assigned. This, as I see it, is the purpose of numbering problems. Do other instructors intend the numbers to also describe the type of problem? As in "this is the second instance of an activecode question about lists" or something like that? |
perhaps this is all from an earlier time -- before we were numbering chapters and sections, maybe before we were having subchapters. |
That's my guess -- at one point, the numbering was broken/inconsistent, so the books had to use something else. Now, with working numbering, we should use that. |
So, maybe some things to clean up and or work on but we seem to be converging toward something that can work...
TODO
|
@sahi1l if the caption for the question is iter-11-1 AND the assignment builder displays iter-11-1 then I think you are just as happy as if the the caption showed ac2_1_13 in both places yeah? And maybe even better because things on each page will be numbered sequentially... |
I find the iter-11-1 style captions to be very problematic. In fopp, we
aren't good at about restarting the numbering in each chapter or subchapter.
Moreover, when a student post a screenshot or descriptin showing a problem
with one of the questions, it doesn't have an identifier that I can use to
search for the question in the database or in the book.
I like the idea of a display tag as a new field, with fallback to showing
the div_id if there's no display tag for that question. Brad's #2. I think
it solves immediate problems and gives a path forward for slowly adding the
display tags.
…On Fri, Sep 20, 2019 at 2:28 PM Bradley Miller ***@***.***> wrote:
@sahi1l <https://github.com/sahi1l> if the caption for the question is
iter-11-1 AND the assignment builder displays iter-11-1 then I think you
are just as happy as if the the caption showed ac2_1_13 in both places yeah?
And maybe even better because things on each page will be numbered
sequentially...
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
<#259?email_source=notifications&email_token=AAIG7TQIIBTJ5XUEU4HPAADQKUI33A5CNFSM4IYLPIV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7HQYNA#issuecomment-533662772>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAIG7TS5ONLU76M4FLS3XQTQKUI33ANCNFSM4IYLPIVQ>
.
|
@presnick - I agree that we are not good about that. But, others have been, and its actually pretty easy for us to fix. I guess the question I have is whether or not the generated labels such as iter-11-1 are better fallbacks than the div_id. By fallback I mean what we use when there is not an explicit display name given as part of the directive. I think this actually would make both sides of this debate happy. Those that want auto numbering with a consistent display will get that. Those that want to provide names will get that. |
How do authors provide an explicit display name for a problem? Is this only for certain question types, or does it apply to everything? I agree with Brad that identifying problems by number and page is the way to go. |
@bjones1 the idea is that we would add a new global option for numbered components that would allow the author to add a description. |
I think this is one of those places where we have to acknowledge that not everyone is going to agree on the right/best way of doing something, and if there is a reasonable way of providing flexibility to make everyone happy then we ought to do so. |
The generated problem numbers make more sense to me now that I understand that they are independent of the div_ids; I had mostly ignored them until today, not noticing any particular pattern to them. I now think switching to using the problem numbers on the Assignments tab instead of the div_ids would help a lot. It will also make it easier to distinguish between the "built-in" exercises from the textbook and the contributed ones from other sources, which I think is a bonus. |
Thanks @sahi1l -- That is the direction that we will move toward. For the moment we are at least consistently displaying the div_id for all assignable components, which I think is a nice step forward. In another week I think we can be at the point where we show the generated problem numbers in both places. But this does raise an important point about how we determine what will show up in the assignment builder:
|
Describe the bug
It is hard enough to deal with problems with names like pp_3_9, even harder when they have multiple names, like iter-11-16. An effort should be made that the official code for any problem is actually displayed in the text as such.
To Reproduce
This is an example:
Expected behavior
If we're using codes, they should be the same codes everywhere. I should be able to look through the exercises page, make a list of the problems I want to assign, and then find them easily in the Assignments tab.
The text was updated successfully, but these errors were encountered: