Comments (8)
I am now admitting that my "GitHub in the classroom" content has grown stale and, given that I'm no longer a prof, will only grow more stale. Luckily, others have picked up this banner. For example:
https://arxiv.org/abs/1811.02021
Using GitHub Classroom To Teach Statistics
Jacob Fiksel, Johanna S. Hardin, Leah R. Jager, Margaret A. Taub
(Submitted on 5 Nov 2018)
Git and GitHub are common tools for keeping track of multiple versions of data analytic content, which allow for more than one person to simultaneously work on a project. GitHub Classroom aims to provide a way for students to work on and submit their assignments via Git and GitHub, giving teachers an opportunity to teach these version control tools as part of their course. In the Fall 2017 semester, we implemented GitHub Classroom in two educational settings--an introductory computational statistics lab and a more advanced computational statistics course. We found many educational benefits of implementing GitHub Classroom, such as easily providing coding feedback during assignments and making students more confident in their ability to collaborate and use version control tools for future data science work. To encourage and ease the transition into using GitHub Classroom, we provide free and publicly available resources--both for students to begin using Git/GitHub and for teachers to use GitHub Classroom for their own courses.
from happy-git-with-r.
Are these pull requests that you expect students to make, eg from an assignment? In STAT545 we don't really use PRs with the students too heavily (at least not previously, I'm not sure if @jennybc is planning to change that)
from happy-git-with-r.
Yes. When faculty push assignments to a class repo they are forked for all students/teams using the gitlab API. The plan is to also use the API to create pull request for students/teams on the due date.
@daattali If you don't use PRs then how do you review student's work and provide feedback?
from happy-git-with-r.
In the past 2 years, the workflow has been:
- each student has their own repo
- all assignments of a students are inside that repo
- to submit an assignment, they open an issue entitled "Please mark assignment x" and in it they tag the instructors and provide a link to the last commit
- the grader provides detailed feedback right in that issue (and we record a mark and possibly some comments for for our own internal use in a different private place)
We've only been enforcing github and submiting hw through github for the last two course offerings I think so it's still a WIP. I think @jennybc has plans to change that a bit this coming fall
from happy-git-with-r.
Hi @vnijs. I'm excited to converse with other people using GitHub and the like for teaching!
I do plan to detail the STAT 545 approach in Happy Git, but @daattali's sketch gives you a good sense of what we do. I want to do that during July.
But, yeah, we do not have "HW as pull request". As Dean says, all student work is in student-specific repos that are not forks. We provide feedback in issues. We also elicit peer reviews via issues, which has worked very well.
However I definitely see the utility of the PR workflow re: the ease of commenting on specific lines. We don't have that.
from happy-git-with-r.
Very interesting @daattali @jennybc. Are your comments to the students public to other students? I'm very interested to learn more about how you setup peer review via issues. I expect we could do something similar with the PRs.
This page describes the general work flow we are going for except that forking and PRs will be managed centrally by faculty/TA through the gitlab API. I'll let you know how it goes.
from happy-git-with-r.
Yes all the comments (but not marks) and, in fact, all student work is visible to other students. In general, this has worked well. I think they learn a lot about giving feedback that is specific and constructive and that doesn't need to be private. And I've been fortunate that my TAs also understand and implement this.
I had a plagiarism problem this year that will change my workflow. I will now make one student repo per homework. They will be invisible to other students until the due date. Once homework submission ends, I will flip a switch and make the repos visible among the students, as usual.
from happy-git-with-r.
I like the idea of open (and peer) feedback. I assume you use the github API to 'flip-the-switch'? Is there a code example you could share?
from happy-git-with-r.
Related Issues (20)
- render formula in .R script
- Possible redirects I should set up
- Local or remote branch?
- More help with weird git installs HOT 2
- No 2FA mention anymore?
- How to copy and paste in the terminal inside RStudio
- GitHub Icons/Tables do not appear after installation in Rstudio
- HTTPS doesn't work anymore HOT 1
- Can't push commits anymore (tries forever and does not through any error) after update of macOS, xcode, R, Rstudio HOT 1
- Specify that GitHub PAT instructions are for classic tokens
- No 'ssh' command found. Using default ssh settings. HOT 2
- Issues opening terminal in RStudio
- bus error HOT 2
- Link broken in '7.1.1 Configure the Git editor' HOT 2
- git remote clone HOT 1
- Error in if (file.exists(pythonPath)) return(pythonPath) : the condition has length > 1 HOT 1
- PAT storage on Linux HOT 1
- RStudio now defaults to `ed25519` algorithm for ssh keys
- git commit fails in RStudio GUI
- Fork as template situations
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from happy-git-with-r.