You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I coached this last week and had the following notes:
It wasn't initially clear where the JavaScript had to be written. Earlier tutorials have it written straight into the console - it wasn't obvious to the student that the code needed to go into a script.js.
It's not clear why event works within the example code when e is the passed argument in $(document).on('keypress', '#username', function(e).
When skim reading the tutorial, as students often do, it's not clear how to wire the various functions together. That said, I believe that encouraging this thinking is useful at this point, so maybe that's ok. It just might be worth explaining in the text how the wiring between functions should work for those that do read/are not being coached
It confused the student when they had to replace an existing function with an expanded version
If the user is not found on GitHub, we ask to show an error with the username... but within the showUser function this is not available.
Overall the responsibility of showUser is weird because it takes an instance of XMLHttpRequest, not a user. When we switched to async it was obvious to create a second callback of showError, but again sending the username to that callback is non-trivial without using a closure which the student is likely not ready for.
Overall the tutorial is flowing better since the recent rewrite, and I think the decision to do the github request synchronously at first is sound. That said, I think it would be better to more explicitly "break" the code by switching it to async and letting the student understand the problems that follow with code that relies on blocking.
One last thing: you never, EVER get to the second exercise, even with an advanced student and 1:1 coaching. Perhaps it needs splitting? That said, this is an issue with several tutorials (eg intro to jQuery) and students are used to continuing the same module over several weeks. It just might give a better sense of achievement to "finish" a tutorial and then move on, as is possible in HTML and CSS.
The text was updated successfully, but these errors were encountered:
I coached this last week and had the following notes:
script.js
.event
works within the example code whene
is the passed argument in$(document).on('keypress', '#username', function(e)
.showUser
function this is not available.showUser
is weird because it takes an instance ofXMLHttpRequest
, not a user. When we switched to async it was obvious to create a second callback ofshowError
, but again sending the username to that callback is non-trivial without using a closure which the student is likely not ready for.Overall the tutorial is flowing better since the recent rewrite, and I think the decision to do the github request synchronously at first is sound. That said, I think it would be better to more explicitly "break" the code by switching it to async and letting the student understand the problems that follow with code that relies on blocking.
One last thing: you never, EVER get to the second exercise, even with an advanced student and 1:1 coaching. Perhaps it needs splitting? That said, this is an issue with several tutorials (eg intro to jQuery) and students are used to continuing the same module over several weeks. It just might give a better sense of achievement to "finish" a tutorial and then move on, as is possible in HTML and CSS.
The text was updated successfully, but these errors were encountered: