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

Consider re-ordering Lesson 04 - Tracking Changes #411

Open
csbailey5t opened this issue May 19, 2017 · 4 comments
Open

Consider re-ordering Lesson 04 - Tracking Changes #411

csbailey5t opened this issue May 19, 2017 · 4 comments

Comments

@csbailey5t
Copy link
Contributor

@csbailey5t csbailey5t commented May 19, 2017

At the moment, the lesson seems to proceed by teaching the code and process before teaching the conceptual model underlying git commits, in this case understanding the idea of the staging area and the movement from untracked to tracked/staging area to part of the git history. This does mean that git commands create output for which there is not much conceptual framework to understand to explain to students, such as:

use "git rm --cached <file>..." to unstage

When this appears as a result of git status after git add early in the lesson, it could be difficult to explain should a student ask about it. There are ways to answer or delay answering.

This points more generally to a question of whether the conceptual framework that explains git adds and commits should be front-loaded into the lesson, so that in teaching adding or committing, one could directly refer to how the git commands move information according to the conceptual model. For some people, having the visual that is introduced later in the lesson given and explained early might give the commands more meaning than they have abstracted from the model.

@misssoft
Copy link

@misssoft misssoft commented Sep 26, 2017

After trying out teaching this session as my practice in the training course, I have the same concern that the conceptual framework should be taken in the front. The visual part is quite good and it would be better to bring up to the front for the learner to have an overview in the mind before trying the commands.

@allisongofman
Copy link

@allisongofman allisongofman commented Jan 31, 2018

I agree with this feedback - I also did this session during my training course and found myself adding more theory and motivation at the beginning because going straight through didn't feel like it provided enough context or explanation for a novice. The analogy of the staging area and photograph would be useful earlier on.

@djinnome
Copy link

@djinnome djinnome commented Jan 31, 2018

I couldn't agree more. In fact, I found that drawing visualizations on the whiteboard that provide context for the command is far more useful to do prior to typing the command than afterwards. It transforms the exercise from being a weird incantation that doesn't seem to have any visible consequences into a weird incantation that enables you to navigate the nodes of the finite state machine that is git.

@esmesh
Copy link

@esmesh esmesh commented Apr 10, 2019

I got the same feedback when doing this lesson in my checkout demo. "Explain commit in more detail the first time you use it." I had said that we were telling git to save the changes, but since we had introduced what the staging area was yet, going into more detail at that point would have been very difficult. This lesson really needs to set up the mental model of local -> staging -> repo (and motivate why all three are needed!) before teaching commands.

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

Successfully merging a pull request may close this issue.

None yet
7 participants