GitHub Education的教育支持功能与案例分析

    王萍

    

    

    

    摘 要:探索GitHub Education的教育应用,旨在通过全面分析其特点与功能,推动在线学习领域的相关研究与实践。文章首先分析了GitHub Education的功能,从课程管理平台、知识社区与学习协作、开放教育发展、学习分析研究等角度,探讨了GitHub对于教育的支持功能,并在此基础上分析了三个典型的教育应用案例。研究结果表明,GitHub Education在教育领域的应用具有积极的意义,有助于优化课程实施和教学系统平台建设,推动在线教学和教育研究发展。

    关键词:GitHub;在线教学;课程平台;知识社区;开放教育

    中图分类号:G434 文献标志码:A ? ? ? ? ?文章编号:1673-8454(2021)02-0020-05

    一、引言

    2020年的新冠肺炎疫情对学校的教学工作带来了巨大的影响与挑战,在线教学的价值凸显。基于在线形式的教与学是实现“停课不停教、停课不停学”的主要方式,也是“互联网+教育”的重要应用形态。当前已有多种在线平台积极投入对教育的支持。在众多在线教学系统中,GitHub Education是一个较有特色的系统,其基于全球最大的开放性社会化协作系统GitHub,提供了优质的在线课程平台,并具有出色的协作机制、丰富的知识库等教育支持功能,目标是帮助教育工作者和研究人员在课堂内外更有效地工作。

    基于文献分析与应用调研,我们发现关于GitHub社会化协作平台在教育领域的研究还处于初步阶段,缺少全面系统分析其功能与教育应用价值的研究,并且当前在在线教学领域的应用还较为匮乏。如何应用GitHub Education推动教育研究与教学模式创新,还有待进一步深入探索和实践。

    二、GitHub Education的教育支持功能

    GitHub开放性社会化协作系统正在对全球信息技术与科学研究领域产生着重要影响。GitHub Education是GitHub在 2018年6月面向学校和教育机构开放的教育支持系统,以方便学生和教师免费使用GitHub Classroom、教育培训和教育支持服务、学生开发者工具包等资源,并提供开源课程计划,促进全球教育者共同交流,开展教育研究探讨。GitHub Education在幫助教师课程教学、促进学习者个人发展、推动开放教育等方面,都具有积极的应用价值。

    1.提供优质的课程管理平台

    在教师课程教学方面,GitHub提供了优质的课程管理平台GitHub Classroom,其特征包括:①具有便利的资源共享方式,可方便地向学习者分发课程相关资料;②在作业机制上,通过自动创建学生存储库,布置收集作业,并随时监控学生作业完成情况;③具有Classroom Assistant等工具支持,并方便与第三方工具集成;④提供及时反馈,适用于各种规模的课程教学辅助。

    在在线教学的课程管理平台发展和应用过程中,主要有Moodle、Blackboard等传统课程管理平台和MOOC大规模开放课程平台等,对这几类课程平台可以从多角度进行对比分析,具体见表1。

    GitHub Classroom的资源丰富性和协作灵活性,为在线课堂教学提供了良好的条件,能更好地支持未来的社会协作学习环境。根据一项对GitHub课堂教学的大规模师生调查研究发现,在教学中使用GitHub可以提升学习者的学习体验和参与度,及时获取教师的反馈,有效提升学习成果;学习者在课堂中有更大的归属感,并能更主动地进行更多的团队合作与人际协作,为未来的实习或职业作准备[1]。在实践应用中,我们根据课程特点,既可以选择GitHub Classroom作为课程平台,也可以将GitHub与学校现有的课程管理平台结合起来使用。

    2.促进学习协作与知识共享

    GitHub是一种典型的知识社区,人们在协作开发、协同创作、讨论中不断地交换知识、完善知识,实现了知识的交流,体现了开源社区中的知识社会化。在学习者个人发展方面,GitHub可以有效促进学习者之间的知识共享、知识转移和转化,如图1所示。

    (1)构建个人知识库

    GitHub不仅是全球最大的开源项目资源库,并且汇聚了丰富的学科资源,包括文章、电子书、学习笔记、心得记录等。这些资源内容专业、动态更新。GitHub还提供了资源的检索、组织、管理与共享等功能,为个人知识库的构建与使用提供了完善的支持。

    (2)培养学习者学习能力与迁移能力

    GitHub为学习者提供了快速提高个人学习能力的途径,其开放、社会化属性让学习者倾向于关注更多的项目,学习他人是如何解决问题的,学习优秀的设计思想。在协同开发与协作创作过程中,将知识的理解、应用和迁移融入问题的解决过程。如GitHub中的代码显性知识,学习者将该库Fork后的学习便是知识内化的一个过程,Issue讨论则是一个充分的知识流转的社会化过程[2],GitHub提供了提高学习能力和知识迁移能力的有效方式。

    (3)提升协作能力与自我管理能力

    GitHub构建了一个动态的协作环境,提供多层次、多维度的协作方式,对学习者的沟通能力、协作技能都提出了要求。如学习者需要掌握基本的协作方法与技能,这是对其信息技术能力的培养。项目的合作也促使学习者具有自我管理、自我规划的能力。学习者在使用GitHub过程中不仅提升了知识技能,并且促进了协作能力、能动性与自我管理能力的提高。

    (4)作为个人能力的资质证明

    学习者在GitHub的活动与贡献体现了他的专业能力、技术实力和个人影响力,是展现自身综合能力的强有力证据。目前很多企业和机构已经开始认可GitHub的个人信息作为求职或资历的证明。

    3.推动开放教育与开放科学发展

    基于“开放共享”理念的开放教育运动一直是全球教育发展的重要趋势。从开放式课件OCW到大规模在线开放课程MOOC,开放教育从单纯的资源共享推进到了课程与教学模式的革新。在当前云计算与大数据、人工智能发展环境下,未来开放教育将进一步从侧重资源、课程的维度,向更重视协作、研究的维度发展,从开放资源、开放课程向开放数据、开放项目、开放科学的方向发展,如图2所示。

    GitHub等社会化协作系统以其丰富的优质开放项目、专业的开放合作研究等特征,与开放教育发展路径相契合。当前,越来越多的资源、项目和研究选择在GitHub上开源共享发布,并且依托GitHub良好的协作机制获得良性、快速的发展。开放教育应重视对社会化协作系统的应用与研究,建设教育开放数据资源,加强教育类开放项目的应用,促进教育科学的开放共享。促进开放科学的路径可以从培育创新和敏捷学习、从复杂性中创建简单性以及参与持续学习证据平台等方面思考[3]。

    4.支持基于大数据的学习分析研究

    (1)构建教育知识图谱

    知识图谱是人工智能技术应用的重要支撑。知识图谱技术与各行业的深度融合是应用的基础,也是教育人工智能领域需要解决的关键问题。当前教育领域知识图谱的构建还很不成熟,其中教育数据问题是制约知识图谱建设的一大瓶颈。同时,领域知识的应用中不仅需要静态知识,更需要动态的知识,知识表示与知识获取的重心将越来越重视动态性知识。

    GitHub的发展使其成为一个重要的动态信息网络数据源,其数据具有新颖性及快速增长性,包含了丰富的专业化信息,如各类专业性文档、课件、研究论文、自述文件、WiKi等。这些丰富的结构化数据,为进行教育知识图谱的构建与教育大数据研究与学习分析提供了新的数据源与途径。

    (2)基于网络分析的知识社群挖掘

    社会网络是GitHub的重要特性之一。通过多种协作行为,在GitHub上用户之间、用户和项目之间构成了多类信息网络,从网络中发现协作社群与领域专家是有意义的工作。

    GitHub社群推动着开源与协作文化的培育,其特征表现在:①知识型社群。GitHub以协作开发为基础,以知识共享为核心,以知识创新为目标。②专业型社群。人员主要为开发者、学习者和研究者,社群具有高质量的专业化内容。在社群发现的技术实现上,既可以选用成熟的算法,如GN社群发现算法[4]等,也可以根据GitHub社群特征,设计实现新的社群挖掘算法。

    三、应用案例分析

    1.基于GitHub Classroom的课程教学实践

    美国约翰霍普金斯大学教师在统计课程中,使用GitHub Classroom作为课程管理平台,进行课程资源发布、作业布置与批改、课程监控与学习协作等课程活动[5]。以作业布置为例,对比GitHub Classroom与传统学校课程平台的不同方式,如图3所示。

    在作业管理中,授课教师为每一位学生独立创建作业,相比于传统课程平台的作业布置方式更为灵活与个性化,并可以对作业完成情况及时进行监控与批改反馈。在协作学习上,学习者使用Git工具进行课程项目合作,与小组成员协同完成任务。在课程管理上,教师可以方便地掌控学生的学习进度、活动以及每个学生的参与情况与贡献。

    整个教学过程得到了较好的效果。授课教师认为:使用GitHub Classroom相对于传统课程平台,在资源更新、作业布置、作业批改、抄袭检测、提供反馈等方面都更为便利与灵活。学习者认为,GitHub的使用不仅对于课程内容的学习有很大帮助,而且促进了相互之间的互动,提升了协作技能,并且在GitHub的使用过程中掌握了更多的计算机应用技能,提高了信息素养。

    2.基于GitHub的学习支持平台

    在网络在线学习中,当前慕课平台和传统课程管理系统一般都提供了课程课件、教学视频、作业、论坛等功能模块。对于一些专业性课程,如计算机类和编程类课程,有时需要更多的辅助功能,如在线编程、在线测试等。

    CS50 Introduction to Computer Science是哈佛大学和EDX慕课平台的一门明星课程,该课程是哈佛大学最受欢迎的课程之一,也是EDX最早开设和选课人数最多的课程之一。CS50课程基于EDX网络平台,開发了一套基于GitHub的工具辅助课程教学,以优化课程活动并扩展课程以满足数十万学生的需求。如程序检测评分工具Check50、作业和问题提交工具Submit50、供教师创建编程教学环境的工具CS50 Lab、云开发集成平台 CS50 IDE等。这些工具全部通过GitHub进行开源,为课程教学提供了良好的支持[6]。

    3.基于GitHub的开放性科学研究

    科学研究正在走向全球化开放与协作,助力科学研究是GitHub的一个目标。当前越来越多的科学研究项目在GitHub上进行托管和开源,如寻找太阳系外的行星、DNA分析、开源太空计划等。一些历史上的重要的科技事件也在走向开放,如2019年7月美国国家航空航天局(NASA)在GitHub开源了阿波罗11号登月系统代码。GitHub已经成为研究人员分享、维护、更新项目和科学数据集、代码的主要平台。

    IPFS项目是基于GitHub的一个典型的开放性科学研究项目。IPFS(InterPlanetary File System)是2015年提出的一种新型互联网底层协议,是一个旨在创建持久且分布式存储和共享文件的网络传输协议,其目标是建设一个更加开放、快速、安全的互联网,以补充甚至取代目前互联网的超文本传输协议(HTTP)。IPFS研究基于GitHub开放并展开,由全球的研究者合作完成,见表2。

    GitHub的社会化、协作化、开放性机制与特征,使其成为开放科学的良好平台。科学本来就应该被视为一个开放的事业[7]。我们当前正在一个不断发展的文化中实现这种开放性,这种文化受到分布式、共享的数据网络的影响,并开始改变我们的社区相互协作方式。

    四、结束语

    GitHub在教育领域中的应用将对我们探索在线教育模式,深入新技术教学研究,把握教育技术发展方向等具有积极的意义。但当前在研究与实践中还存在一些问题,主要表现在GitHub在教育领域的应用实践与探索还较少,教育技术领域的开源环境与协作研究环境不够活跃等。对于未来发展,我们认为可在以下几个方面进行努力:

    1.进行基于GitHub等社会化协作系统的教学模式探索与教学实践应用

    社会化协作系统为师生提供了更多自主学习的资源,在应用的过程中,也在对学生进行着信息技术能力的训练、协作能力的培养,帮助学生通过资料阅读、协作开发等方式学习解决问题的方法,提高学习能力。当前,我们对GitHub、GitHub Classroom在课程教学中的应用还较少,还没有将其作为学习管理平台与相关课程有效集成起来。未来应加强对GitHub在课程教学中应用模式与方法的探索,发挥协作系统优势,促进学习环境、教学方式和课程管理的优化。在STEM教育中,社区驱动与开放源代码被认为是推动STEM教育发展和普及的重要因素。[8]通过基于GitHub的教学,也将为探索STEM教育的有效方法提供实践指导。

    2.重视开源教育系统对我国教育技术发展的价值

    当前开源的意义已经不单单是传统意义上的代码仓库的开放访问,更多意味着全球人员的协同工作、培养开放的思维以及开放的合作。人工智能环境下,开源的重要性更为凸显。“为帮助我们学习和更好地协作打造人工智能功能,人工智能大趋势正依赖于另一种更普遍的大趋势:开源”[9]。

    教育技术领域的开发与研究应当重视开源、开放、协同的可持续性发展思路,通过开源模式实现有效的信息互通与资源共享,通过开放协同构建跨地区、跨国别的合作性研究,通过积极参与相关开源系统建设与开源基金会项目,在国际领域增强与宣传自身实力。通过借助国内外优秀教育系统平台的支持,构建教育技术领域的应用开发与科学研究协作机制,探索“开源合作—技术创新—协作研究—生态构建”的健康发展路径,推动教育技术领域产学研的快速发展。

    参考文献:

    [1]Hsing C, Gennarelli V. Using GitHub in the Classroom Predicts Student Learning Outcomes and Classroom Experiences: Findings from a Survey of Students and Teachers[A]. In: Hawthorne E K, Pérez-Qui?觡ones M A, eds. Proceedings of the 50th ACM Technical Symposium on Computer Science Education[C].New York: ACM,2019:672-678.

    [2]张劲松,黄华,胡子祥.知识管理视角下开源社区知识流转机制研究——以GitHub为例[J].情报科学,2018(7):130-136.

    [3]Hesse B. W. Can psychology walk the walk of open science?[J].American Psychologist,2018,73(2):126-137.

    [4]Newman M E J, Girvan M. Finding and evaluating community structure in networks[J].Physical review E,2004,69(2):026113.

    [5]Fiksel J, Hardin J S, Jager L R, et al. Using GitHub classroom to teach statistics[EB/OL].https://arxiv.org/abs/1811.02021.

    [6]David J. Malan, Doug Lloyd, Kareem Zidane. Interactive programming environments for teachers and students[A]. In: Hawthorne E K, Pérez-Qui?觡ones M A, eds. Proceedings of the 50th ACM Technical Symposium on Computer Science Education[C].New York: ACM,2019:1242.

    [7]Royal Society Science Policy Centre. Science as an open enterprise[EB/OL]. https://royalsociety.org/topics-policy/projects/science-public-enterprise/report/.

    [8]Lindsey C. How We Can Make Education Accessible Through Community [EB/OL].https://www.freecodecamp.org/news/how-we-can-make-education-accessible-through-community-ce3bf46cb00d/.

    [9]Bommireddipalli V, Fu M, Holt B, et al. Open source and AI at IBM[EB/OL].https://developer.ibm.com/blogs/open-source-ibm-and-ai/.

    (編辑:李晓萍)