a2s-institute/foundations_course

Changing git exercises

Closed this issue · 10 comments

Hi @kiranvasudev, I’ve taken a look at the current exercises in the gut folder. Are this the ones planned for this semester?
If so, could you add the LaTeX file?

I would like to propose some changes to make it clearer to students what’s the function of git.

It also would be good to know what the contents for introducing VCS are, do you have some slides for that?

Will work on this tonight

Will work on this tonight

@argenos, I do not have the LaTeX file for the git exercises as I got them off the internet.

Then I would be in favour of ditching those exercises and using something that makes more evident what the use of git is.

We can use the existing file as a base (up to exercise 3), but we should write our own with a more realistic scenario in mind. Perhaps start by cloning an existing repository, which contains a few python scripts which should do something basic, e.g. print to the screen their name. We should also cover forking, adding remotes, pull requests.

Could you add the commands that you will cover in the README? I'm not sure if you go to --amend and rebase, but from my point of view it is not that useful to new git users.

What do you have planned in terms of theory? If you plan on making slides, I added a nice resource to the markdown file which I think makes a good explanation for git basic concepts.

Learn Git Branching would be a nice assignment.

By cloning a repository having few python scripts that need to be executed leads to the assumption that all the students know python. I suggest that we keep it simple by working with maybe markdown/HTML files instead of python.

I have some slides from the last foundation course which gave a small intro of the basic commands used and then moved on to an interactive session where teams were made and small tasks were done. I will upload the slideset now. I will have a look at the resource that you have added and make modifications to my slideset as well.

--amend and rebase were not run through the last time. I think I have already added the commands that I cover. I think it got moved into the wrong folder. I will change that.

Regarding the assignment, the one you suggested looks good.

How much time was the current git exercise taking in the previous courses?

Here is an example of what I mean. The script is literally just printing information. The "full" instructions are in the docs folder, however, the exercises would need further work, off the top of my head:

  • the order of forking first, then cloning might work better. They could fork first and work on it, in order to push to their remote (this is actually how the workflows usually start).
  • Branching was done sequentially, some instructions are unavailable until you checkout the next branch
  • Instructions should be refined and done step by step, similar to the exercises current file
  • Additional tags, and checking out previous versions
  • For Ex 3, the script could be made to read from the created text file without using the constants anymore (it's named improved-introduction-script after all)
  • In Ex. 4, the script could combine info from the whole classroom and the TA could push something with typos, ask them to fix them (to cause merge conflicts). Would also require pulling from the upstream remote as well!

I leave up to you exactly how to do it, whether you want to use this or come up with a your own version. Hopefully, the example makes it a little clearer.

@kiranvasudev this was solved by #15, correct? Can we close this?

Yes, we can close this