Module 2 Exercise 2: Recreate Your Assignment Workflow


(Vanessa) #41

Hi @eliasnogueira what’s going on in your assignment workflow? Do assignments2 and assignments3 merge back into the master branch at some point?


(Vanessa) #42

Nice :100: :tada:


(Evan Misshula) #43

Honestly, I am working through this to prep using this for real. So, it has not really happened yet. I would have them merge back after they get a feature working.


(Mike Zamansky) #44

Was just showing the kids last week how to have individual branches for assignments:


(César Olivares) #45

For this exercise, I expect each student to work individually starting from provided assignment.


(Paola Corrales) #46

I’m not teaching at this moment. I start in a few weeks and i have to convince the head teachers to star to use git hub :sweat_smile:
In the mean time I learning how to implement this in a class. So, I invented a thing to do this exercise:


(Carles Alonso Martinez) #47

This is an individual assignment.
Assignment consists to implement a console application in C#
Starter code will be provided by teacher (first commit)
Student can develop features with branchs (work for mandatory work) and improves for introducing additional features and merge to master to present the work.


(42bbennett) #48


(Amelia Garripoli) #49

Because my classroom work has us using the remote repo and I couldn’t get the visualization tool to hook up to that, my screen shot “isn’t much”. But here it is:

I did find out about request-pull, that’s an interesting command I will add to my repertoire and teaching information.

Basically, our flow is:

  • checkout branch
  • make changes and commit
  • push to github
  • pull-request and merge on github
  • pull to master
  • merge master to branch

repeat until project is done


(Ktheu) #50

From a given starting point, students develop serveral distinct features, which will be merged at the end.


(Vitor Rios) #51

not a real example because we dont use branching, but the idea is to develop an analysis workflow in R, then switch to newbranch to test a new analysis, then merge the tested code to the master


(Tess Homan) #52


(Maurício Aniche) #53

Not sure if I understood the question, but I expect my students to fork my assignments repo, and work from their own forks. I also ask them to tag their releases (d1, d2, as seen in the picture).


(Alexander L. Hayes) #54

I didn’t have a ready-to-go assignment to create here, so I made a demo assignment where students recreate T.S. Eliot’s “The Wasteland” using version control. Everything was merged back into master in the end, but these could just as easily have been left separate.


(Andsig) #55


(Vicente Cubells) #56

Module 2 Exercise 2


(Steve R Ncl) #57


OK, making sense …


(Mark Patterson) #58

Like a number of others on this thread, I’m not sure of the best way to use git and github in the classroom and still figuring that out.

I do think https://git-school.github.io/visualizing-git is a fantastic tool for teaching branching, merging, and history rewrite dangers.


(Dirk Uys) #59

This is hypothetical, but I was thinking of asking students to make a branch for every exercise of an assignment. That way I can review their work by checking out their branches to see what they did for each exercise. Afterwards I might ask them to make some changes to some of the exercises.


(Dirk Uys) #60

Hi @MrAllatta

There might have been an error with the visualization tool that’s been fixed? This is the result I get, I stopped when it became apparent my result isn’t what you got:

The first problem I spot when looking at the commands you issued is git checkout newbranch. When you run that command, newbranch must already exist, iow, you need to run git branch newbranch before that. If you want to both create and checkout a new branch, you can use git checkout -b newbranch.

Give the exercise another try, remember to create branches before checking them out or using git checkout -b branch-name.

It’s totally okay not being sure how to structure assignments for students, you can use the visualization tool to play around and test ideas.