APP下载

基于同伴互教理念的《Python语言程序设计》教学方法设计

2020-12-29曹振宇

电脑知识与技术 2020年32期
关键词:Python语言

曹振宇

摘要:《Python语言程序设计》是数据科学和大数据应用的基础能力,主要培养学生的计算机思维、程序设计和数据分析能力。其中,积极学习和主动探索是教学设计的难点之一。本文基于哈佛大学Eric Mazur的同伴互教原理,使用反向设计,分析Python语言课程的设计方法,让学生成为学习的主导者,老师成为过程的组织者。并在此基础之上,为应用型高校的Python课程设计提供可以借鉴的经验和思路。

关键词:Python语言;同伴互教;积极学习

中图分类号:TP311     文献标识码:A

文章编号:1009-3044(2020)32-0107-02

1 引言

随着智能技术的高速发展,社会进入了全新的数智经济时代。大数据、人工智能、机器学习不断颠覆人们的生活方式。其中,大部分智能技术使用Python语言编写和运行,这也成了数字化人才的必备技能。目前,关于Python课程的教学设计原理是,尽可能多地将最新编程知识和操作方法整合在一起,并搭配案例练习引导学生掌握编程技巧。这种教学方法的缺点在于以“教”为主,以“学”为辅。学生只需要比葫芦画瓢,按照老师的要求完成相应任务,而缺乏独立探索的“激励”因素。

处于青春期的大学生,其心理表现是构建认同,包括自我认同和社会认同。大学课堂应该采用合作学习的方式,促进学生的自我成长和团队意识。美国著名的心理学家Wilbert J. McKeachie 指出,高效的教学方法是一群学生将自己的经验分享给另外一群学生。所以,Python课程设计需要老师将学生组织起来,构建一个知识共享和互动社区,激励学生之间的互教互助,提升教与学的质量。

本文结合同伴互教理念,通过反向设计法从课前、课中和课后三个阶段制定积极学习策略,以及相对应的教学策略。从而增强学生主动学习和合作学习能力,为应用型高校的课程转型和人才培养目标制定提供一些可行的思路。

2 同伴互教(Peer Instruction)的特征与原理

Eric Mazur是哈佛大学的物理学教授。他在一次课堂上的无意举动却对学生的学习效果产生了积极影响。由于学生是初学者,他们知道哪些知识点容易出错,应该使用什么样的方法去解决问题。这些学生可以将自己的经验通过互教的方式传递给其他同学。Eric Mazur发现同伴互教比老师教授的效果更好。并且这种教学方式不受限于班级人数和学科类别。例如著名的慕课平台Coursera引进了同伴互评机制。学生完成了项目实训作业后会随机分配到一名同伴,两人通过评分标准为对方的项目作业提供建议和优化方案。所以,学习者需要经过三个阶段的成长,即会说、会做和会教。

同伴互教的设计原理分为四个步骤。首先,每一位学生根据老师的要求独立完成章节学习和练习题。这个时候,学生对知识点的理解会多种多样。其次,学生以小组为单位进行研讨,找到想法不一样的原因,并结合讨论的结果优化自己的答案。再次,老师给出一个相似的问题让学生作答。这个时候大部分学生的答案正确,并且会出现不同的解题思路。最后,老师和同学共同总结知识点和学习经验,形成一套完善的知识体系。整个过程是由学生主动完成的,先独立思考,再进行讨论,然后分享心得,最后转化为经验。

美国密歇根大学教师发展中心O.Neal 和 T.Pinder-Grover指出,老师需要根据知识点的复杂程度和资源消耗程度来设计教学策略。笔者根据她们提出的积极学习策略图谱进行归纳与整合,将其分为四个类别(表1所示)。

3 基于同伴互教的教学方法设计

笔者在民办本科应用型高校的数据科学与大数据技术专业任教。《Python语言程序设计》在大学第二年第一学期开设,课时数为64学时。学生在之前的学习阶段已经掌握计算机和信息演化历史,但是未系统性地学习编程技术。所以本门课程是连接信息理论和数据应用的纽带。笔者将以反向教学设计法阐释本门课程的教学设计思路。

3.1 学习预期效果设计

Python编程与人类的语言演变过程相似。随着数据交互量级增长,Python编程会更迭出要素复杂的语法体系。这里以Python网络爬虫库为例。假设我们需要从某网站采集电影信息。正则表达式通过特定的符号指代字母或数字,在网页中定位核心数据。BS4在此基础之上进行了简化。通过设置标签来制定数据检索路径,从而减少程序编译的工作量。Xpath在前者的基础上为Python提供最优路径选择,减少运算任务,提升数据采集效率。由此可见,学生在学习上需要追本溯源,将复杂的问题进行系统化解构,运用自己的思维方式去理解问题,并更迭出新的知识和技能体系,将复杂的问题进行系统化的分解。基于此,本门课程在学习效果设计上包含以下三点。首先,学生能够清晰地描述数据采集、处理和分析的需求,以及Python工具的演化过程。其次,不同工具在功能上和需求上的场景应用。最后,通過程序设计演示代码的实现过程。

3.2 评价方式设计

本门课程摒弃了以学习成果为中心的评价方式,而是聚焦学生的学习效果和个人成长。课程的成绩占比为期末考试(50%)+ 平时成绩(50%)。其中,平时成绩的效果评价方式根据学习预期效果进行了分类(表2所示)。首先,理解Python工具的演化过程采用单目标学习策略。学生需要完成线上测试。并以小组为单位总结知识点分享到线上学习社区。同时学生团队也将收到其他小组的评价。其次,对比Python工具在不同场景中的应用采取多目标学习策略。团队需要根据项目需求进行程序设计,并完成实验报告和10分钟演讲。其他小组成员和高年级学长给出评价和优化建议。最后,程序设计演示采用综合创作学习策略。各小组将所学到的知识融会贯通,并解决真实项目的问题。项目评价邀请行业导师和校友导师共同参与,从职业角度评价项目的专业性和普适性。

社区服务采用成果档案原理,是学生效果评价的证据。学生小组每周委派一名成员将研究成果整合并录制成微课视频。这么做的原因有三:其一,学生和老师共创知识社区,并无偿分享。将立德树人的思政教育融入课程中。其二,学生用自己的语言讲解项目成果,把知识经验转化为个人智慧。其三,成果档案是学生职业发展的重要证据。

3.3 课前教学方法设计

老师在课前学习阶段布微课视频,为学生讲解本周学习要点、任务打卡和同伴评分标准。在视频结尾,老师给出3~5个思考题,学生需要通过资料查阅、网课学习和小组研讨得出答案。学生根据任务指示需要完成三个阶段的学习:首先,学生需要阅读参考书资料,并在实验楼和Data Quest完成理论知识学习。本门课程使用这两个平台的原因是让学生从实操中学习(Learning by doing)。其次,学生以小组为单位,将学习成果进行分享,并完成老师提出的思考题。如果小组存在学习问题,将由组长统一向老师预约私人辅导。最后,学生将研究的成果、资料和经验分享到线上学习平台。并且评价其他2个小组的帖子。团队通过与其他小组的沟通,优化本小组的研究成果,并委派一名成员准备10分钟演讲。

3.4 课中教学方法设计

课中学习阶段分为三个部分。首先,各小组学生汇报问题的研究成果和学习方法。其他小组成员和老师共同给出评价。其次,老师发布项目实训任务。根据课程的内容需求,实训题目会有所不同。如果学习的目的是研究Python工具在不同场景的应用,题目会以问题分析为主。例如三种Python爬虫工具在同一个网站的程序设计策略和优劣比较。如果学习目标是运用综合能力解决真实案例问题,练习以题目分解为主,例如使用什么方法和流程解决这个项目问题。学生根据老师发布的项目问题,设计程序流程框架,并解释其解题思路。学生团队结合其他小组的成果进行评价和优化。最后,学生团队共同完成项目练习题和实验手册。各小组组长会根据遇到的问题预约同辈、学长或者老师辅导。

3.5 课后教学方法设计

学生需要在课后学习完成三个任务。首先,各小组委派一名代表录制微课视频。高年级学长将根据小组实验报告做出评价,并协同小组完成视频录制。微课类型没有要求,但是学生必须用自己的语言描述而不是照本宣科。其次,行業导师和校友导师将定期参与项目评价,主要聚焦在代码设计的专业性和普适性。最后,各小组组长带领成员制定下一节课的预习计划。另外,老师总结学生的学习数据并存入学习档案中。

3.6 创新性与普适性总结

《Python语言程序设计》教学方法的创新性和普适性包含以下四点。首先,教学设计不再以老师灌输为主,而是将学习的主动权交给学生。老师在教学过程中扮演的角色是学习社区的组织者和学习问题的指导者。其次,老师不会重复学生能够在网络上和书本中学习到的知识,而是将更多时间用于知识和技能的综合指导。再次,课程设计着重考虑学生的“认同”心理,鼓励他们从多个角度思考和解决问题,弱化对成绩分数的依赖。最后,课程将档案记录作为学习效果的佐证,清晰地记录了学习方式、能力图谱、项目经验和学科成绩。这些数据都将为学生的职业发展提供指导。

4 结语

同伴互教是激发学生主观能动性的教学方式。老师在课程中需要转变角色,给予学生更多自由学习和积极创新的空间。教学设计应该从学习过程的有效性、挑战性和互动性为基础,潜移默化地激发学生的积极学习和社会互动意识,从知识能力到品德建设全方位培养应用型人才。

参考文献:

[1] 马琰.同伴教学法在高校实践教学中的应用研究 ——以工程项目管理实训课为例[J].高等理科教育,2020(2):107-110.

[2] 刘满兰,李建辉,关成斌.基于OBE理念的《Python程序设计语言》课程混合式教学方法探索[J].计算机工程与科学,2019,41(z1):203-206.

[3] Liu Q.Teaching practice of python programming course in big data era[J].ITM Web of Conferences,2019,26:01006.

[4] Fong C J,Gilmore J,Pinder-Grover T,et al.Examining the impact of four teaching development programmes for engineering teaching assistants[J].Journal of Further and Higher Education,2019,43(3):363-380.

【通联编辑:梁书】

猜你喜欢

Python语言
关于面向非计算机专业开设Python语言的几点思考
在高中信息技术课中培养学生计算思维的有效方法探讨
Python语言教学中问题解决能力和创新能力的培养实践
Python语言程序设计教学体系建设
面向计算生态的Python语言入门课程教学方案