Closed flannery-denny closed 2 years ago
@schanzer The page you made in Feb is written from a wescheme perspective and doesn't make sense in Pyret.
It does what you suggested I confirm that it do and starts with update-target and update-danger, but it doesn't get to update-player.
I've moved it to the player animation lesson, as we discussed and updated the issue above so that whichever of us gets to it first has guidance on how to move this issue forward.
@schanzer working on this. Confirming that make-posn
in WeScheme should translate to posn
in Pyret before I ask Dorai to fix it in his code base.
@flannery-denny confirmed.
@schanzer I've pushed a new version of this page that makes use of the Design Recipe. In order to fit everything on one page I had to make some cuts and make things less wordy. I also changed the function name and tried to articulate how to have both versions of update-danger live in your code simultaneously. (It's now bilingual, but won't build correctly in pyret until Dorai updates make-posn
.) Please confirm that the new version of the page works for you. And feel free to edit. If you're satisfied with this, I will work on the second page for update-player
next time I sit down to work.
@schanzer I've also pushed update-player-2
and have added both pages to the workbook. (Even though they're not required, as a student, I would want to access to these files, whether or not my teacher assigned them to me... and, as a teacher, I would be grateful that students like me had something to move onto without needing attention while I supported other students in completing their games.)
Please double check my wording / coding on these pages. And lmk if they're ready to be incorporated into the lesson plan.
@schanzer Also, if want to show me where you fixed make-posn so that it was posn in pyret, it sounds like the kind of fix I could make independently in the future.
@flannery-denny update-danger-2
should just be update-danger
. We do not want students modifying the code at the end of the starter file!
Why are you putting the DR in a fragment? Is it being used somewhere else? I'd much rather you put it in the wbpage itself.
make-posn -> posn happened in this commit
@schanzer thanks for showing me the make-posn -> posn commit!
I respectfully disagree that students should overhaul their update-danger
functions instead of writing a new update-danger-2
function. Most students aren’t going to have time to accept this challenge - it’s for students who already have fully working games!
By the time students have completed their games, they should be very adept at making sense of this simple stuff. I'm confused as to what the big risk is. If they break it, they can find it again in the blank game starter file or from any student in their class...
g = make-game(TITLE, TITLE-COLOR,
BACKGROUND,
DANGER, update-danger,
TARGET, update-target-2,
PLAYER, update-player-2,
mystery, update-mystery,
_distances-color_, line-length, distance,
is-collision, is-onscreen)
play(g)
@flannery-denny
One of the most common "bugs" that teachers report comes down to a student accidentally mangling those last few lines. There is ample evidence to suggest that sending kids to make edits there is going to bite us. If you're proposing a small text edit outside of the function itself, can we compromise on "make a copy of the function, and comment it out"?
I've pushed some small edits to the wb pages, as a commit. Let me know what you think?
@flannery-denny I think I sent you mail or slack about this before -- I'm fine with what you have, but I want all posn-related pages to be optional. If you're ok with that, make the change and feel free to close
@schanzer is this reference important to you? or can I remove it and provide teachers with links to the new @opt-printable-exercises instead? I am not familiar with the lesson it refers to...
@ifproglang{wescheme}{ WeScheme supports the ability to change the Domain of a function, which allows
update-player
to take both an x- and a y-coordinate! However, the computer won't know what the new coordinate is if the Range is just a single number. @link{https://www.bootstrapworld.org/materials/spring2020/courses/algebra/en-us/units/Supplemental/index.html#lesson_Structs, This optional lesson} covers the beginnings of data structures, teaching just enough to allow students to move theirPLAYER
left and right! }
@flannery-denny No longer important, once you have the structs exercise in place.
@schanzer This can be closed once you've pushed the corrected algebra books to lulu or made a new issue to track that. Feel free to tweak wording if you have better ideas.
I respectfully disagree.
We don’t want students doing the equivalent of erasing their code.
It means they lose their point of reference for helping other students.
(I have experienced this personally)
And It means that if they don’t figure out the challenge , they end up with a non-working game.
Most students aren’t going to have time to accept this challenge - it’s for students who already have fully working games!
Maybe there’s a third option we haven’t thought of yet?
Maybe we should encourage them to make a copy of their games?
Flannery
On May 7, 2022, at 7:16 PM, Emmanuel Schanzer @.***> wrote:
@flannery-denny update-danger-2 should just be update-danger. We do not want students modifying the code at the end of the starter file!
make-posn -> posn happened in this commit
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.
The goal is to make them more independent so teachers can focus on kids needing support getting their players moving up and down.
I'd like to see us:
update-player
andupdate-player-2