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

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

Open
uoa-noel opened this issue Nov 7, 2023 · 4 comments
Open

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

uoa-noel opened this issue Nov 7, 2023 · 4 comments

Comments

@uoa-noel
Copy link

uoa-noel commented Nov 7, 2023

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

@tensionhead
Copy link

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.

@martinosorb
Copy link
Contributor

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?

@tensionhead
Copy link

tensionhead commented Nov 22, 2023

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.

@uoa-noel
Copy link
Author

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.

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

No branches or pull requests

3 participants