计算机科学教育的设计模式/设计模式
设计模式描述了一个在特定环境中反复出现的问题,并将该问题与解决方案配对。通常,这些问题-解决方案对也可以在更大的环境中使用。解决方案通常是一个通用术语,细节留给应用模式的人或由其他低级模式阐述。解决方案在不同的环境中有着不同的定义,例如,在生产领域,解决方案可以是新事物(相当简单或非常复杂)或人工制品,而在教育等实际领域,解决方案可能是方法而不是事物。此外,关于设计模式的重要事实是,问题的核心应该包含一个基本原理(借鉴研究、理论、经验等)。当模式被组织起来并以全面和顺序的方式相互连接时,它被称为模式语言。
一般来说,设计模式的核心是:“对于问题 P,在环境 C 下,解决方案 S 已被证明有效”。设计模式通过将实践智慧与理论联系起来,并将理论投射到实践中,在理论和实践之间架起了一座双向桥梁。
整个设计模式范式和模式语言的想法是由克里斯托弗·亚历山大的数学和建筑作品提出的。他的主要目标是将知识外部化,以收集和概括解决方案,并允许其他成员合作并讨论他们关于它的想法。以下是他的话语中对设计模式的定义:“每个模式描述了在我们环境中反复出现的问题,然后描述了该问题解决方案的核心,这样你就可以使用这个解决方案无数次,而无需两次都以相同的方式进行。”(亚历山大等人,1977)
设计模式在最高级别的定义具有三个方面:规范性:它是一种元设计工具,它强调解决关键问题的方法 描述性:它描述了问题及其解决方案 交互性:它使不同的社区能够讨论问题及其解决方案
在本节中,我们根据自己在计算机科学教育中积极学习的经验,展示了我们正在兴起的同伴学习设计模式,这些模式由设计模式和团队学习的文献构建而成。这些模式侧重于现有计算机科学教育设计模式中的差距以及在积极学习课堂中成功使用团队进行同伴学习相关的问题,这些模式源于我们在本科和研究生计算机科学项目中应用翻转课堂策略三年 [3] 的经验。我们目前的设计模式集是在 2016 年举办的 3 个研讨会中出现的。每个研讨会都有 5-10 名教师积极实施翻转课堂策略。在研讨会期间,教师们获得了设计模式模板和一些样本设计模式,并被要求修改模板并根据自己的教学经验创建模式。在每个研讨会上,模式模板和设计模式都会被修订和扩展,为下一个研讨会提供起点。
我们的积极学习设计模式分为两大类:课程特定积极学习模式和通用积极学习模式。课程特定积极学习模式特定于计算机科学教育中的一种学习类型。到目前为止,我们有三种类型的课程特定模式
1. 学习编码
2. 学习计算思维概念
3. 学习设计
通用积极学习模式可以应用于任何课程。教师可以使用任何一种或多种模式来促进成功的积极学习课堂。到目前为止,我们有七种类型的“通用”模式
1. 在积极学习中学习如何学习
2. 积极学习课堂的准备
3. 课堂积极学习
4. 团队进行同伴学习
5. 积极学习的讲座
6. 积极学习的测验
7. 积极学习的评估
我们为积极学习课堂中的同伴学习设计的模式模板源于三个来源
1. 来自 Goodyear [4] 和 Alexander [5] 的设计模式模板。
2. 我们关于在我们经验中出现的模式的研讨会。
3. 关于教育中的团队的研究 [6,7,8]。
Goodyear [4] 展示了从 Alexander 的模式 [5] 改编而来的教学设计模式模板。Goodyear 的模板包括:问题、解决方案和基本原理。我们为我们的模式开发了一个模板,包括五个属性:模式名称、问题、解决方案、基本原理和潜在陷阱。该模板如表 1 所示,其中属性与“轻量级团队” [9] 相关联。
表 1. 设计模式模板,显示轻量级团队模式
模式名称:轻量级团队 |
---|
问题:学生需要帮助学习协作。通常,在团队中协作的学习体验会受到成绩重要性的负面影响。 |
解决方案:将学生分配到小组,然后在第一天上课时分配座位,以便小组坐在同一张桌子旁。为小组创建课堂活动,这些活动对他们的成绩没有很大贡献。 |
基本原理:学生不会感到需要为了获得好成绩而表现出色的压力,这减少了他们对谁在他们团队中的压力,并培养了成功的社交学习。 |
解决方案:为课堂活动创建团队,这些活动对最终成绩没有重大贡献。 |
潜在陷阱:学生在入门课程中会很尴尬,尤其是在学期初。 |
我们扩展了用于同伴学习的设计模式模板,在问题属性和解决方案属性中包含维度。这种扩展反映了需要区分我们经验中出现的模式,这些模式旨在创造成功的同伴学习活动,这些活动受到关于优化教育中团队表现的文献的启发。我们在表 2 中展示了轻量级团队模式中这些维度的使用,该模式扩展了表 1 中的通用概念。
表 2. 带有同伴学习维度的轻量级团队模式。
模式名称:轻量级团队 |
---|
问题:学生需要帮助学习协作。通常,在团队中协作的学习体验会受到成绩重要性的负面影响。 级别:入门 学期:任何学期 活动类型:编程、测验、讨论或解决问题 |
解决方案:将学生分配到小组,然后在第一天上课时分配座位,以便小组坐在同一张桌子旁。为小组创建课堂活动,这些活动对他们的成绩没有很大贡献。 形成:随机 规模:中等 构成:随机 持续时间:整个学期 个人成绩:个人贡献的成绩 对最终成绩的贡献:很小 活动进程:个人到小组 角色:平等 |
基本原理:学生不会感到需要为了获得好成绩而表现出色的压力,这减少了他们对谁在他们团队中的压力,并培养了成功的社交学习。 |
潜在陷阱:学生在入门课程中会很尴尬,尤其是在学期初。 |
在本节中,我们报告了我们所有关于同伴学习相关的通用模式和课程特定模式的设计模式。在这个识别我们积极学习模式的早期阶段,我们专注于让学生在入门课程中参与轻量级团队的好处。
到目前为止,我们开发的设计模式是
轻量级团队: 这是一个创建对最终成绩影响很小的团队的通用模式。
形成轻量级团队: 在轻量级团队中形成小组对教师来说是一个挑战。该模式提供了形成成功的学生团队的问题-解决方案模式。
轻量级团队的规模 : 该模式提供了解决学生在大型课堂中不愿交谈和参与问题的解决方案。
轻量级团队训练 - 破冰 : 本模式包含帮助学生学习如何在轻量级团队中有效合作的解决方案。
课堂轻量级团队 - 进展 : 学生担心团队活动,因为他们的成绩取决于其他学生。本模式包括一些在鼓励小组讨论后进行个人测验的解决方案。
期末考试准备的轻量级团队 : 学生总是希望或需要期末考试的指导。老师很难完全复述整个学期。学生需要一种方法来分享知识,讨论期末考试中可能出现的内容,并获得新的视角。本模式包含一些解决此问题的方案。
学生准备的简短讲座 : 学生不仅仅通过听来学习。本模式讨论了学生如何合作制作一段简短视频来描述主题。
主动学习测验 : 通常情况下,参加测验更倾向于个人评估,而不是学习。本模式提供了一些解决方案,将测验作为主动学习课堂中的学习工具。
同行评审 : 本模式包含一些帮助学生学习如何评价同伴作品的解决方案。
同行教学 : 一些学生比其他学生更快更好地理解课程内容,或者一些学生通过反复尝试从同伴那里学到的东西比从老师那里学到的东西更好。本模式提供了一些解决方案来帮助学生相互学习。
小组讨论 : 本模式提供了一些解决方案来帮助学生在课堂上分享、提问或批评他们的知识。
从小范围讨论扩展到大范围讨论 : 在主动学习课堂中,学生的讨论和协作学习仅限于他们坐在同一桌的群体。本模式提供了一些解决方案来将讨论范围从小组扩展到整个班级。
点击问题活动 : 学生在学习课程材料和概念时,不一定意识到自己的概念性误解。本模式描述了如何让学生积极地独立进行类似考试的问题,然后与他们的团队讨论他们如何回答这些问题。
主动测试 : 对于老师来说,编写大量的题目可能很困难,学生也可能对题型或被认为重要的知识感到意外。本模式通过要求学生小组识别和编写相关测试题目并将其用作题库来提供解决方案。
结对编程 : 这些模式提供了一个结构,帮助学生一起完成编程任务。
性别结对编程 : 男性和女性在合作时具有不同的动态。在早期的编程课程中,男性往往会主导活动。本模式通过将女性学生相互配对来提供解决方案。
资源
[1] Goodyear & Retails, 2010, 科技增强学习书籍
[2] http://www.ld-grid.org/resources/representations-and-languages/design-patterns
[3] Maher, M.L., Latulipe, C., Lipford, H., Rorrer, A. 2015. 翻转课堂策略用于 CS 教育,第 46 届 ACM 技术研讨会计算机科学教育论文集。第 218-223 页。Doi:10.1145/2676723.2677252.
[4] Goodyear, P. 2004. 模式、模式语言和教育设计。
[5] Alexander, C.,等人。1997. 模式语言。
[6] Michaelsen, L.K. 和 Sweet, M. 2008. 团队学习的必要元素。教学和学习新方向,(116),第 7-27 页。
[7] Mennecke, B. 和 Bradley, J. 1998. 让项目组工作:结构化组角色对信息系统项目组绩效和感知的影响。计算机信息系统杂志,39(1),30–36。
[8] Johnson, D. W.,Johnson, R. T. 和 Smith, K. A. 1991. 主动学习:大学课堂中的合作。互动图书公司爱丁娜,明尼苏达州。
[9] Latulipe, C.,Long, N.B.,Seminario, C. 2015. 使用轻量级团队和游戏化构建翻转课堂。SIGCSE '15 第 46 届 ACM 技术研讨会计算机科学教育论文集,392- 397。