swcarpentry / git-novice

Version Control with Git

Home Page:http://swcarpentry.github.io/git-novice/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Move SSH key creation (7.3) to Lesson 2 - Setting Up Git

uoa-noel opened this issue · comments

commented

How could the content be improved?

Hi there,
I believe learners will have more success with the SSH key creation lesson if we move it from Lesson 7 - Remotes in GitHub, to Lesson 2 - Setting Up Git.

I taught the Git novice workshop in a previous year, and one of the problems I came across was the step on creating an SSH key. Many learners had difficulty creating the key and it soaked up a large amount of time. I've found it contributed to cognitive overload for our learners, as lesson 7 is already full of new concepts around git push and multiple repositories. It was also a diversion from the main content. Learners were also confused about how frequently they needed to set up an SSH key. The placement in lesson 7 led some to believe they needed to create an SSH key every time they pushed.

I taught the workshop again this August after moving the SSH key content to lesson 2, with much better result. As lesson 2 includes one-time set up steps, it was clearer SSH key creation is a per-device step. Lesson 2 also didn't have many other competing concepts and it was early in the lesson, which meant learners had more focus and less cognitive load. In their feedback learners reported they found it easy to understand, while we had feedback last time saying they found it confusing.

Here's our repository - it was adapted from UCL's guacamole variant, and I made a few further edits and added some screenshots. Check out Lesson 2 to see how the content fits in that lesson.

Would be great to hear thoughts from other folks, and happy to create a pull request if this seems like a good idea.

Which part of the content does your suggestion apply to?

https://swcarpentry.github.io/git-novice/07-github.html#ssh-background-and-setup

I fully agree here with @uoa-noel! Teached the git novice lesson this week myself, and the ssh pairing to github coming at section 7.3 felt very rough and many learners got stuck.

I believe the reason it is there is only that this is a change that was imposed by GitHub, and so the lesson was quickly patched where needed. The only downside of your suggestion is that it might encourage a bit of confusion on the difference between git and github -- which is something beginners sometimes struggle with already. Perhaps we could consider adding another episode just for this?

I would prefer to have this done during the setup to be honest, when you only have 1/2 day then loosing 1 hour to this ssh key generation and pairing is really suboptimal. Then during the lesson one can still focus on the distinction between github and git in an episode, which I also find important.

commented

It's a good point @martinosorb. When I taught it, I introduced the distinction between Git and GitHub quite early, so that mitigates the problem you mentioned. In the curriculum, GitHub is introduced earlier in Lesson 2:

For this lesson, we will be interacting with GitHub and so the email address used should be the same as the one used when setting up your GitHub account. If you are concerned about privacy, please review GitHub’s instructions for keeping your email address private.

I do think the SSH key creation step is too conceptually insignificant to qualify for its own section. It seems to tie in better with Setting Up. But I am happy to expand on the above paragraph as part of a PR, to reinforce the distinction between Git and online Git hosting services like GitHub. Hopefully that could address your concern.