没有合适的资源?快使用搜索试试~ 我知道了~
GitHub 作为协作平台的出现.pdf
0 下载量 148 浏览量
2024-05-08
13:38:08
上传
评论
收藏 518KB PDF 举报
温馨提示
试读
12页
GitHub 作为协作平台的出现.pdf
资源推荐
资源详情
资源评论
The Emergence of GitHub as a Collaborative Platform for
Education
Alexey Zagalsky, Joseph Feliciano, Margaret-Anne Storey, Yiyun Zhao, Weiliang Wang
University of Victoria
Victoria, BC, Canada
{alexeyza, noelf, mstorey, evianz, weiliang}@uvic.ca
ABSTRACT
The software development community has embraced GitHub
as an essential platform for managing their software projects.
GitHub has created efficiencies and helped improve the way
software professionals work. It not only provides a traceable
project repository, but it acts as a social meeting place for
interested parties, supporting communities of practice. Re-
cently, educators have seen the potential in GitHub’s collab-
orative features for managing and improving—perhaps even
transforming—the learning experience.
In this study, we examine how GitHub is emerging as a col-
laborative platform for education. We aim to understand how
environments such as GitHub—environments that provide so-
cial and collaborative features in conjunction with distributed
version control—may improve (or possibly hinder) the edu-
cational experience for students and teachers. We conduct
a qualitative study focusing on how GitHub is being used
in education, and the motivations, benefits and challenges it
brings.
Author Keywords
CSCW; CSCL; Learning; Education; GitHub; Social Media;
Qualitative Methodology; Distributed Version Control
ACM Classification Keywords
K.3.1 Collaborative Learning: Computer Uses in Education
INTRODUCTION
GitHub is a popular Web-based social code sharing service
that utilizes the Git distributed version control system. It has
become an essential tool in technology areas that require col-
laboration, such as software development and technical writ-
ing [33]. It is also seeing widespread adoption in other areas
1
,
transforming how people collaborate over a shared repository
[2]. One of GitHub’s main strengths is in the awareness and
1
http://www.wired.com/2013/09/github-for-anything/
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are not
made or distributed for profit or commercial advantage and that copies bear
this notice and the full citation on the first page. Copyrights for components
of this work owned by others than ACM must be honored. Abstracting with
credit is permitted. To copy otherwise, or republish, to post on servers or to
redistribute to lists, requires prior specific permission and/or a fee. Request
permissions from Permissions@acm.org.
CSCW ’15, March 14–18 2015, Vancouver, BC, Canada
Copyright 2015 ACM 978-1-4503-2922-4/15/03$15.00
http://dx.doi.org/10.1145/2675133.2675284
transparency features it provides to team, project and com-
munity members [5]. These features positively influence how
people contribute to projects [36].
In this paper we examine how GitHub is starting to emerge
as a collaborative platform for education. We aim to under-
stand how environments such as GitHub—environments that
provide social and collaborative features in conjunction with
distributed version control
2, 3
—may improve (or possibly hin-
der) the educational experience for students and teachers.
Only a few years after GitHub’s 2007 release, well-known
computer science educator Greg Wilson suggested
4
that
GitHub could be used for learning materials despite some
limitations:
Would it be possible to create a “GitHub for educa-
tion?” Right now, I think the answer is “no”, because
today’s learning content formats make merging hard.
Whatever a “GitHub for education” would look like, it
would not be yet another repository of open learning ma-
terials. There are lots of those already, but almost all
their content is write-once-and-upload, ... rather than
sharing course content in a reusable, remixable way.
In 2012, he further elaborated
5
:
“GitHub for Education” isn’t necessarily, “Let’s put ed-
ucational materials in GitHub”, but rather, “Let’s facil-
itate a culture of spontaneous-but-structured collabo-
ration and improvement.”
He recognized that the majority of learning management sys-
tems introduced friction for instructors trying to reuse and
share course materials—the type of problem that the software
development community solved through the use of tools such
as GitHub [5]. Moreover, his comments echo the participa-
tory culture that, according to Jenkins [17], results from the
use of social media in education.
In an effort to promote GitHub to higher education, GitHub
launched the GitHub Education Website
6
in 2014. In re-
2
https://bitbucket.org/
3
https://www.gitlab.com/
4
http://software-carpentry.org/blog/2011/12/fork-
merge-and-share.html
5
http://software-carpentry.org/blog/2012/04/
github-for-education.html
6
https://education.github.com/
Motivation and Dynamics of the Open Classroom
CSCW 2015, March 14-18, 2015, Vancouver, BC, Canada
1906
sponse to this and other ad hoc opinions on the benefits of
using GitHub for education, we conducted a first study to ex-
amine whether and how GitHub, with its powerful collabo-
ration, social and awareness features, can be used for educa-
tional purposes. Specifically, we aimed to answer the follow-
ing research questions:
RQ1: How does GitHub support learning and teaching?
RQ2: What are the motivations for and benefits of using
GitHub for education?
RQ3: What challenges are related to the use of GitHub
for education?
We conducted interviews with early adopters of GitHub for
educational purposes and followed-up with a survey to val-
idate our findings. Our findings indicate that GitHub not
only supports the main learning features present in traditional
Learning Management Systems, but it also provides addi-
tional features that educators and students can benefit from:
revealing transparency of activity, encouraging participation
and collaboration, and supporting reuse and sharing of course
materials and knowledge. However, it also brings challenges,
such as a difficult learning curve for students. We conclude
with a discussion of our findings and recommendations for
GitHub users.
BACKGROUND
Before discussing GitHub and how its unique features can
support education, we present a brief overview on technol-
ogy in education and the strong connection between educa-
tion and Computer Supported Cooperative Work (CSCW).
CSCW and Education
In the mid-1990s, online learning was supported by the Inter-
net, email and forums, and focused on interactions between
the student and the computer. Currently, online learning fo-
cuses on computer-mediated communications and the forma-
tion of communities of practice [26], and uses technologies
such as cloud computing [34], social media (e.g., Twitter [15,
31]), mobile devices [12] and Massive Open Online Courses
(MOOCs) [28]. Technology has had a major influence on ed-
ucation and it will continue to do so (e.g., Khan Academy
[35]). However, questioning if and how various technologies
should be used to improve learning is non-trivial.
As described in the book “Technology in Education—
Looking Toward 2020” [27], participants of the “2020 Panel”
tried to envision the future of education and enrich people’s
understanding of technology’s potential role in education, as
well as opportunities, drawbacks and challenges. William
Bossert, one of the panelists, proposed that technology should
be used to encourage intellectual exchanges among students
in the classroom. “Appropriately designed computer pro-
grams would make possible the solution of complex prob-
lems by a group of students, while helping ‘level the abilities’
within a group so that less able students might take on tasks
that would be viewed by others as meaningfully furthering the
group activity.” Another panelist, Jim Minstrell, envisioned
the classroom of the future as “full with electronic aids for
teachers, helping with organizational and management tasks
such as: keeping track of appointments and deadlines.”
Moreover, a branch of CSCW—Computer Supported Collab-
orative Learning (CSCL)—describes the benefits of collabo-
rative learning using technology. Creativity in a collabora-
tive context, for example, can be aided by activity awareness,
whereby each individual is aware of other collaborators’ work
and is cognizant of other people’s plans and understandings
[11]. Indeed, Web-based collaborative learning systems give
learners more opportunities to participate, which may bene-
fit both individual and team performance [23]. Our findings
suggest that GitHub is one such system, as the use of its col-
laboration, social and awareness features provides benefits
beyond traditional systems. This transforms the ecosystem
of teachers, students and content into an open collaborative
ecosystem (see Fig. 1).
Learning Management Systems
Typically, a learning management system (LMS) or course
management system (CMS) (e.g., Blackboard, Moodle,
Sakai) provides educators with course management features
that allow grade tracking, file management, assignment host-
ing and real-time chat. Many of these are listed in Kumar et
al.’s comparative study of different virtual learning manage-
ment systems [20]. Malikowski et al. [25] developed a model
that dissects the quality of LMS tools into five categories: (1)
transmitting course content, (2) evaluating students, (3) eval-
uating courses and instructors, (4) creating class discussions,
and (5) creating computer-based instruction. Their study
shows that the most prominent use of an LMS is to trans-
mit information to students, whereas the categories of creat-
ing class discussions and evaluating students receive moder-
ate and low-to-moderate use, respectively.
In response to the popularity of Web 2.0 technologies, LMSs
evolved to include features such as blogs and wikis [9]. How-
ever, learning systems are typically geared towards adminis-
trative purposes rather than fully supporting self-governed or
collaborative learning activities [6], leading to interactive fea-
tures being underutilized and students being less engaged [1].
We argue that GitHub can support much of what traditional
learning systems do, as well as go beyond them by supporting
collaborative activities.
What is GitHub?
GitHub offers several unique features to facilitate user col-
laboration. Its most important feature is the Pull Request
(PR) mechanism which is a way to initiate discussion with
other users and share or comment on the various artifacts in
a project (typically changes to the project’s content). The
discussion may include code that is visible to everyone and
it shows the exact changes that would be merged if the PR
were accepted. A PR may involve other content (e.g., screen-
shots) to provide a background for the discussion, or in-
clude changes to other resources in the project. When a
user wishes to contribute to someone else’s project, they can
clone
7
the project to create a full copy of the project in their
7
https://help.github.com/articles/duplicating-a-
repository
Motivation and Dynamics of the Open Classroom
CSCW 2015, March 14-18, 2015, Vancouver, BC, Canada
1907
local environment, but where committed changes will still af-
fect the original project. This is called a Shared Repository
Model
8
: contributors can either commit changes directly into
the shared repository or use PRs to start code reviews and
conversations about proposed changes before the changes are
merged into the master branch. Alternatively, a user can fork
9
the entire project to create a parallel project where commit-
ted changes do not directly affect the original project. This
is called a Fork & Pull Model: PRs provide a way to notify
the original project maintainers about the changes you would
like them to consider.
Users can not only follow other users or projects of interest,
but they can also broadcast their activities to their followers.
Furthermore, users can discover new projects by using the ex-
plore feature, or share snippets using the Gist feature. GitHub
also supports awareness by broadcasting updates to the user’s
news feed. The combination of these features facilitates “a
culture of spontaneous-but-structured collaboration.”
10
As
an example, Dabbish et al. [5] describe GitHub as beneficial
to the collaboration of a community because of transparency,
where individual contributors can infer a collaborator’s tech-
nical goals or be aware of what other users are paying close
attention to.
GitHub is not just a prime example of CSCW, but it is also
a good data source to study how people collaborate
11
. Wu et
al. [38] analyzed rich GitHub timeline data and found that
most of the follow activities on GitHub are not due to devel-
opers’ collaborations on GitHub, but rather their interactions
outside GitHub, such as through Twitter, Hacker News and
Stack Overflow. Majumder et al. [24] conducted an inves-
tigation on how teams are formed in a social network based
on millions of software repositories spanning a period of four
years and hundreds of thousands of developers on GitHub.
Tsay et al. [36] performed a quantitative analysis of project
success of over 5,000 open source software projects hosted
on GitHub. They used two measures for project success—
developer attention and work contribution—and found that
projects with a high level of developer multitasking tend to re-
ceive less developer attention, but greater work contribution.
Why GitHub for Education?
Software developers, sometimes described as the “prototype
of the future knowledge worker”
12
, are often the first to adopt
new tools and new techniques. We predict that future knowl-
edge workers will have to deal with more complex models
for managing content than has been done in the past and how
GitHub is being used for education is one example of that.
Up until recently, GitHub has focused on code and project
management for software development; it is now being ex-
tended to other domains that involve collaborative work, such
8
https://guides.github.com/introduction/flow/
9
https://help.github.com/articles/fork-a-repo
10
http://software-carpentry.org/blog/2012/04/
github-for-education.html
11
http://www.gousios.gr/blog/The-triumph-of-online-
collaboration
12
http://allankelly.blogspot.ca/2014/04/the-
prototype-of-future-knowledge.html
as education [14]. However, in this different context, teaching
techniques may require adjustment while some of GitHub’s
features may require repurposing. Jim Baker, a senior devel-
oper and University of Colorado Computer Science lecturer,
shared his experiences with GitHub:
“We had a great experience using GitHub to support a
collaborative workflow for the 70+ students in each of
the 2 semesters of my CS course.”
When asked for more details, he elaborated:
“Pull requests (PR) are the heart of the GitHub work-
flow, and we took advantage of PRs, including task lists
so that students could report on their work in progress
and get over initial humps. Any merged PR got extra
credit(!). Because the course had been improved in some
way—this seemed like an interesting standard for giving
out extra credit. Consequently, we mostly didn’t merge
PRs for labs, except for bug fixes, but we were always
on the lookout for better solutions than ours. PRs were
also merged for extra credit, such as corrections of my
course notes. Next fall we expect to have autograding
implemented as a form of continuous integration, by run-
ning against the PRs through postcommit hooks.”
Several other educators have also introduced GitHub into
their classrooms and shared their experiences. In 2010,
Luis Felipe Borjas
13
posted about the use of GitHub orga-
nizations
14
—a way to simplify the management of group-
owned repositories—to manage class projects. He also ap-
plied GitHub to exams: instead of waiting until the exam
deadline to upload the exams, students could just push
15
as
many times they wished and the last push they made before
the deadline was going to be considered their final submis-
sion. He also strongly suggested teachers create exams or
homework assignments that could translate into private git re-
pos for students to push to.
In 2011, David Humphrey blogged
16
that he asked his stu-
dents to use Git/GitHub and highly recommended other in-
structors use it in the classroom. He claimed that although it
was a little painful to learn Git/GitHub at the beginning, the
payoff would be huge. “One of the great things about Git in
an educational setting is that you don’t need to rely on insti-
tutional IT, which, in my experience, is never agile enough to
help you with revision control. You can put repos on laptops,
use USB keys, use DropBox, use GitHub, etc. You don’t have
to wait for someone to set up a server and make you accounts,
don’t have to deal with permissions, or any other nonsense
that comes with centralized revision control systems.”
Version control systems have been used in the classroom as
a way of managing students and their work. Reid & Wil-
son [30] introduced the Concurrent Versions System (CVS)
13
http://lfborjas.com/2010/10/30/git-classroom-
exams.html
14
https://github.com/blog/674-introducing-
organizations
15
https://help.github.com/articles/pushing-to-a-
remote
16
http://vocamus.net/dave/?p=1358
Motivation and Dynamics of the Open Classroom
CSCW 2015, March 14-18, 2015, Vancouver, BC, Canada
1908
剩余11页未读,继续阅读
资源评论
百态老人
- 粉丝: 1777
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功