任务驱动式的非计算机专业Python教学实践
2021-03-24郑秀杰
郑秀杰
摘要:"任务驱动教学法"是一种建立在建构主义学习理论基础上的教学方法,通过情境模拟,围绕任务开展学习,以任务的完成结果检验和总结学习过程。随着我国的大数据和人工智能产业进入飞速发展时期,Python编程这门课的开设在高校中变得普及。针对非计算机专业的学生,采取“任务驱动”式教学方式,将“项目”引入课堂,充分调动同学的学习兴趣和主动性,同时在教学过程中渗透对计算思维的培养,采取多种教学辅助手段,以期获得更好的教学质量。
关键词:Python;任务驱动;教学实践;计算思维;教学改革
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2021)02-0100-02
Abstract:Task-driving teaching method is a kind of teaching method based on constructivism learning theory. Learning is carried out around the task through situational simulation, and the learning process is tested and summarized by the completion of the task. With the rapid development of big data and artificial intelligence industry in China, python programming has become popular in Colleges and universities. For non-computer major students, we adopt the task-driving teaching method, introduce the "project" into the classroom, fully mobilize the students' interest and initiative in learning, at the same time, infiltrate the cultivation of Computational Thinking in the teaching process, and adopt a variety of teaching auxiliary means, in order to obtain better teaching quality.
Key words: python; task-driving; teaching practice; computational thinking;course reform
1 引言
從TIOBE发布的世界编程语言排行榜上可知,近年来Python语言热度稳定且一直位列主流编程语言之列,俨然已成为 AI 和大数据时代的第一开发语言。它在人工智能、统计、脚本编写、系统测试、Web编程以及科学计算等方面均处于优势地位。现今Python不仅进入到教育部考试中心的计算机二级考试考级体系,就连小学生都开始接触 Python 语言了。Python不仅拥有众多的使用者和支持者,同时其日益增加的市场需求及就业岗位也被看好,有关Python的各层次教学也开展得如火如荼。
在Python编程普及的今天,如何获得更好的教学质量,值得每位教师思考。采用“任务驱动”式教学方式就是一种很好的选择。
2 如何有效进行“任务驱动”式教学
任务驱动式教学方法是一种建立在建构主义学习理论基础上的教学方法[1]。建构主义学习理论强调学习是学习者对目标建构和对其理解的过程, 学生是知识意义的主动建构者, 而不是外部信息刺激的被动接受者;教师是学生在学习过程中主动建构知识意义的帮助者, 而不是知识意义的灌输者[2]。任务驱动教学方法就是把直接传授知识的传统教学方式转变为通过解决问题、完成任务从而掌握知识的教学方式[3]。任务驱动式教学对于培养和提高学生的综合能力具有积极意义。
在“任务驱动”式教学的课堂,不会出现传统的“填鸭式”侧重理论教学的局面。教师可以提前将各章节知识点转化成一个或多个与企业实际应用契合度较高的实践项目,即“任务”。整个教学都紧紧围绕着教师设计的任务开展。教师在此过程中,处于指导者的角色,而学生则是任务实现的主体。
整个任务驱动式Python教学实践主要包含以下几个教学环节:课前准备工作、任务描述、基础知识介绍、任务分析、任务实现、交流及总结、课后复习。课前准备工作要落实好,教师可提前将PPT、导学提纲、教学相关视频及网址等发送给学生,学生花费10~15分钟提前预习;在任务描述环节,教师尽量采用简短易懂的语言,抓住重点做出描述,让同学对即将要做的任务心里有数,避免拖沓冗长,引起同学厌烦;在基础知识介绍环节,教师介绍基础内容要做到语言精炼、案例经典、重点突出,同时可适当将部分内容下放给学生自学;在任务分析环节,教师要充分发挥学习小组的作用,引导学生对任务做深入分析,对涉及的知识点做充分了解及学习;在任务实现环节,教师应从任务完成进度、质量等方面进行把控,确保课堂高效;应重视交流及总结环节,要求学生主动展示交流,主动点评总结,发动全员参与,达到开拓视野、提升自身、总结升华的目的。最后,课后要及时复习巩固。课后复习主要形式是小组学习,通过完成课后作业或拓展项目,达到“温故而知新”的效果。
把握以下几个关键点,可有效提高“任务驱动”式教学的质量。
关键点一:在设计“任务”时,要依赖教师的教学经验,精准把握任务的难度,充分考虑到学生的个体差异,将任务细分,做到分层次、设梯度、突出重点、简化难点。同时任务情境模拟要以企业真实的需求为导向,达到学以致用的效果。任务首选为各种小游戏,或者可将各知识点串起形成小游戏;在此过程中,适当选择添加网络热门事件/词汇/段子等,贴近生活,活跃气氛,调动同学的积极性。例如,在讲解列表的时候,任务为“图形形状小游戏”;在讲解元组的时候,任务为“趣味点餐系统”;在讲解字典的时候,任务为“迷你图书借阅系统”。通过灵活多变的任务,吸引同学注意力,提高参与热情,在任务完成时获得成就感,从而积累能量,促进更好的学习。
关键点二:注重过程大于注重结果。在学习每章内容之前,可以通过任务分析、学习目标设定,让同学对要做的任务了然于心。然后针对各知识点逐一突破。在此过程中需辅以自学环节、动手环节、交流环节等,最后将所完成的各个小任务汇总,最终完成整个任务。对于动手能力较弱,基础较差的同学,应多点耐心;对最终未完成任务的同学,应充分肯定其在实现过程中做出的努力,督促其在课下完善任务。
关键点三:弱化教师“指导者”的角色,强化其“参与者”“组织者”的角色。教师需全程掌控任务进度,确保课堂学习目标明确,行动迅速,组织高效。必要时应给与指导与提示,促进教师与学生之间、学生与学生之间的技术交流沟通,让学生拥有更多的學习主动权;部分学生在学习过程中对教师具有依赖性。针对这部分学生,教师可适当参与到其任务当中,为任务的实现保驾护航,同时让学生慢慢建立自信,打好基础,逐步摆脱对教师的依赖,养成自学的习惯。对知识点进行总结强化很重要。任务完成之后,教师要对完成质量进行评估,同时总结所学内容。
关键点四:建立起有效的考核体系。“任务驱动”式教学评价困难,很难具体掌握每名同学的学习情况。鉴于此,可以充分利用现有的手机端App,比如翻转校园、超星学习通等,在限定时间内进行随堂考核,以此来补充解决部分同学学习自主性不够、浑水摸鱼等问题。在考核中,应当要侧重各种能力的考核,采取多元化的考核方法,以期达到准确评价学习效果的目的。
3 在教学中贯穿培养学生的计算思维
自从2006年卡内基·梅隆大学的周以真教授提出计算思维的概念以来,计算思维越来越受到重视,尤其是在计算机基础课程的教学中。计算思维是基于计算机技术的科学思维,计算思维可以通过熟练地掌握计算机科学的基础概念而得到提高。其核心概念为:计算、抽象、自动化、设计、评估、通信、协调、记忆。计算思维以设计和构造为特征,以自动化和抽象为本质。
作为一门有着三十多年历史的编程语言,Python简单、开源、可移植、可扩展、可嵌入、代码规范及支持库丰富,是一种结合了解释性、编译性、互动性和面向对象的高层次计算机程序语言。由于非计算机专业学生学习程序设计的时间短、授课对象年级低,因此,如何在有限的教学时间里充分培养学生的编程能力和计算思维是程序设计类课程需要考虑的首要问题[4]。像Python编程这样的程序设计类课程是培养学生计算思维的首选。Python易学易用(对比其他语言,比如C++、Java),语法简洁优雅,代码可阅读性高,拥有强大的“胶水”功能,将其开设成一门必修课,在课堂上贯穿培养学生的计算思维,对于电子信息类非计算机专业的学生来说是尤为合适的。
学生“计算思维”能力的培养对教师的教学能力提出了更高的要求。教师应提升学科理论素养,具备对“计算思维”的深入理解,对《大学计算机基础课程教学基本要求》中提出的以MOOC(包括SPOC)为代表的新兴教学模式及方法开展积极的实践,注重教学过程中学生的各种应用能力的培养,在教学实践中提高教学质量。学生“计算思维”的培养不在一朝一夕,而是一个长期的、“润物细无声”的过程。教师需要在备课、教案、课程安排、课堂用例、课堂组织、网络资源、考查考核等细节处下功夫,真正把“计算思维”的培养落到实处。
在“任务驱动”式教学课堂中,做好学生计算思维的渗透工作,需要从加强知识理解以及应用能力的培养着手。比如,在讲解嵌套循环和多变量迭代时候,任务为“打印数字金字塔”。同学需要自己去探讨并加深对迭代概念的理解,尝试设计程序并理解算法。在课堂编码过程中,应充分发挥小组交流讨论的作用。一组同学内部通过讲解、讨论、自学等手段开展学习,各组之间通过演讲、答辩、示范等竞争活动,进一步加深了解典型问题的算法求解策略。最后,请同学以代码注释的形式,结合个人情况,对本次任务中涉及的重点、难点等问题进行归纳,给出任务学习总结。
“任务驱动式”Python程序设计课程开展以来,有效地提高了学生的计算思维能力。学生对基础概念、基本语法、开发工具使用等掌握扎实,在任务实现阶段能够综合应用已有资源,灵活使用各种库,一定程度上提高了学生的自学能力、独立解决问题能力、沟通合作能力、创新能力等。
4 结论
现今,人工智能、大数据等已经渗透进人们生活的方方面面,与其息息相关的Python语言教学也有了长足的进步。Python 语言教学内容改革是程序设计课程发展的重要历史契机,将在十年甚至更长的时间尺度上影响本科生计算思维和基础计算机应用能力的培养[5]。在“任务驱动”式非计算机专业Python程序设计的课堂,丰富的学习活动与个性自学环节的设置,使得学生能在学习过程中享受到程序设计的乐趣;引入计算思维的培养,使得学生拥有扎实的专业基础,改善了学生的知识结构,同时可将计算思维的思想应用到其他工科类课程,起到潜移默化的效果;在课堂上将所学知识和掌握技能与社会需求挂钩,有利于培养企业认可、具备良好职业素养同时自我可持续发展的人才,同时对提高专业就业率也具有积极的意义。
参考文献:
[1] 何克抗.建构主义革新传统教学的理论基础 (上) [J].电化教育研究, 1997(2) :3-9.
[2] 钱晓菁,马玉娟.试论“任务驱动”[J].中国电化教育, 2002(9) :35-36.
[3] 夏海江.细分任务驱动C语言实验教学改革探索[J].电脑知识与技术,2012(10):2312-2326.
[4] 王婷婷.基于计算思维的非计算机专业开设Python语言程序设计课程的探讨[J].中国多媒体与网络教学学报(中旬刊),2020(1):190-191.
[5] 嵩天,黄天羽,礼欣. Python语言:程序设计课程教学改革的理想选择[J].中国大学教学,2016(2):42-47.
【通联编辑:王力】