河南工程学院
摘要:随着人工智能和大数据技术的发展,高校各专业对程序设计基础课程的要求也在发生重大变化。本文基于计算思维对Python程序设计教学改革进行研究,通过改变教学手段、改进教学内容、优化评价方式等手段,以达到培养学生计算思维,解决本专业实际问题的能力。
关键词:计算思维;教学改革;Python程序设计
前言:Python程序设计属于高校计算机类基础课,其教学目标是结合所需专业需求,对学生进行必要的计算思维训练,帮助他们解决生产生活中存在的实际问题。计算思维是提升学生创造才能的重要组成部分之一。当前Python程序设计的教学侧重于介绍计算机软件工具,传授零散的程序设计相关理论和方法。这样教学方式将很难提高学生的计算思维,也不能对相关学科的发展起到有力支撑。再加上专业众多,各个专业都对Python程序设计表现出极高的学习需求。这就迫切需要对现有课程进行改革,融入计算思维方式,构建以培养计算思维为目标的教育体系,满足国家对计算机基础课程的要求。所以,基于计算思维对Python程序设计进行改革,有利于培养学生解决本专业实际问题的能力。
1计算思维的基本内涵
计算思维最早是由卡内基.梅隆大学的周以真教授提出的,指明了计算思维是一种基于计算模型的思维过程,是理解人类行为和解决问题的方法与思想[1]。它将一个看似困难的问题,通过归约、嵌入、转换、模拟等方式,转化成人们已解决的问题。计算思维就像读、写、算一样,是人类在这个世界上拥有的一种思维模式,而不是只属于计算机专家独有的思维模式。计算思维强调的是抽象化和自动化。所谓“抽象化”,就是把主要的内容和无关紧要的内容剔除,把注意力集中在事物的基本特性上;而在计算机的应用中,如何实现高效的自动控制成了一个重要问题。计算思维是利用智慧来解决问题的一种方法,其与对计算机科学的基本理念,递归思想、抽象化、形式化、搜索、启发、推理等有关[2]。目前,计算思维已经成为大学生一种必不可少的能力。在教学活动中通过提升学生的计算思维,可以帮其正确地选用各种方法进行问题的分析。
2计算思维对Python程序设计教学的意义
Python语言具有易学易用,开放性和开发库功能强等优点,语法也相对比较容易。因此,在很短的一段时间内就能让学生掌握其基础。Python语言可以使用者得到一个开放、免费的 Python的发行版本,并且可以对其源程序进行改进。因为 Python具有开放性,所以很多人在使用时,会持续地对其各种能力进行开发,从而对 Python发展起到很大的促进作用。Python语言具有功能非常强大的开发库,不仅具有其本身所携带的标准库,而且还具有由编程人员开发的第三方库。这些强大的开发库为 Python语言快速开发提供了非常有力的支持,同时也是 Python语言被广泛使用的一个关键支柱。基于计算思维,通过改变教学手段、改进教学内容、优化评价方式等手段对Python程序设计教学改革具有重要意义。
2.1有助于培养技术型人才
在当今社会,随着科学技术的不断进步,对技术人员的要求与日俱增。计算思维不但能使同学们更好地学习Python程序设计,而且还能使他们在今后的生活中能够为科学技术的发展作出更多贡献。华为近年来崛起的原因,就是拥有了最强大的技术、众多专业的计算机技术人员,以及勇于挑战的精神。由于计算机和电子设备的使用与编程有着密切的关系,因此,对学生进行计算思维训练就显得更加重要了。教师需要有长久的教育观念,通过合适的方式来训练他们的计算思维,从而提升学生的编程水平,从而成为复合型人才。
2.2提升学生自身的计算思维能力
程序设计就是计算机的后台工作基础。教师要在教育方法上进行革新,培养学生的计算思维,让他们掌握的学习知识更加扎实,为他们在今后进行工作奠定坚实的基础[3]。一般来说,在教学方法上的变化主要体现在上课的时候,教师可以让同学们观看有关的编程录像,让学生自己去学习,再让其自己动手去做编程。程序设计仅仅依靠观察是学不会的,所以在做编程的时候,要训练同学们的计算思维,逐步训练其计算思维,让同学们在进行编程时有一个精密的逻辑。
3 Python程序设计教学现状
在高校的项目驱动Python程序设计教学中,由于有些教师没有使用最新的编程技术,所以在授课时,并没有使用“Python程序设计”这个概念,导致授课速度和学生的学习进度都很慢。另外,有些老师采用传统的教学方法,不仅使老师讲课疲劳,效率低下,而且还会造成学生在上课的过程中容易走神,跟不上学习的进度,学习效率低下。在每学期结束后,教师会对学生进行评估,以此来衡量他们在这一年中的表现。通常都是根据学生的期末考试成绩来决定他们的学习表现,而这种考核方式达不到应有的效果,高分的考生可能并没有突出的程序设计能力。一些学生缺乏计算思维,所以在刚开始学习编程时,无法掌握其中的计算方法和编程技能。因此,教师应该对自己的评价和考核方法进行改进,并根据每一名学生的特点因材施教,对他们进行多角度、全方位的考核,最终达到提高学生整体素质的目标。
4基于计算思维的教学方法
4.1改进教学方法
Python程序设计课程要注意到在教学中学生的学习时间分布情况,有效地使用有限的课堂时间,达到良好的教学效果和学习效果。对于大一新生而言,有相当学生还没有对某种程序设计语言进行过系统的学习,还没有养成一种固定的计算思维方式。因此在进行Python程序设计的时候,他们会感到非常困难。在课堂上,教师要以学生为中心,按照他们的学习进程,及时地调节教学进度[4]。老师应以先讲后做,边做边讲。首先向学生介绍Python的意义和功能,讲授 Python编程接口的一些基本的操作,使他们能够意识到 Python的应用价值,并且对 Python编程接口和基本的操作有一定的了解。其次,讲授Python程序设计的基本语句、程序结构,以及其它重要的要点知识。当学生能够较好地运用 Python基础语言及程式架构时,便可进入 Python课程的高级阶段。再次,讲授Python程序设计的总体运作方式、 Python相关的计算方法,使学生能够独立完成 Python项目实践。以学生为主的教育模式,可以让他们在学习Python程序设计的过程中,降低对新知识的畏惧,并伴随着对知识点的了解从而培养其计算思维。
4.2改进学习内容
在教学中,将Python程序设计课程划分成若干个模块,以培养学生的计算思维以及对数据的分析与处理能力。为了方便课程大纲的执行,将课程分为两大类:基本类和进阶类。在基础的模块中包括众多内容:如基本理念、基本编程、环境创建、表达式和应用等。而高级模块则包括:多维结构化数据集分析包 Pandas、数据可视化库 Matplotlib的制作等。在这两个模块的教学过程中,要结合学生的实际情况,将这两个模块应用到课堂上,从而提高他们的学习效率。此外,老师应该将这两大模块紧密连接,确保学生在学到基本知识之后,能够有足够的时间来进行训练,从而对所学的基本内容有更深刻的认识,并进一步地强化所学的基本知识[5]。教师通过引入实际的个案来加以解说,让学生了解到所学习到的知识点,并将所学到的内容,化为自己的内容。也可以不受到空间和时间的约束让学生来进行课前预习、课后回顾,对知识的记忆更加深刻。与此同时,也要为学生准备一个多维、立体的学习包,包括教材、 PPT课件、相关的真实案例、课堂学习视频、参考资料等,学生可以按照自己的学习情况来制定规划,从而有利于自己学习。
比如,教师在讲解海龟图 Turtle库的时候,可以使用多媒体让同学们去观察设计流程、画图流程等,并针对一些学生不明白的内容,让同学们进行反复训练。在课堂上教师可以组织与程序设计有关的小游戏,让同学们参加竞赛,使课堂活动不至于枯燥乏味。先让学生自己去做,之后教师给他们打分,获胜的学生可以得到相应奖品,以此来激发他们的学习热情,加深他们对Python程序设计的认识,培养学生的计算思维。
4.3改进教学模式
目前很多高校教师在讲授Python程序设计时,所使用是教师讲、学生听的教学模式。这种教学方式没有实时有效的监督。因此,在课前预习和课后复习的过程中,学生的成绩并不理想,在课堂学习中无法赶上教师的授课节奏和进度,最终影响整个课堂的教学质量[6]。将 SPOC与 Python程序设计有机地相融合,实现课堂的翻转,将SP0C在线课程的教学资源引入到Python程序设计教学中,可以在 MOOC学习平台上观看各高校的课堂学习录像。充分的运用MO0C进行课前预习和课后复习,使学生在预习时对知识有一定的认识。教师在上课时对该节课的知识点进行深入解释,使学生对该节课所学的知识点有一个比较清晰和深入的认识,然后在课后复习过程中进一步地加深对该内容的认识,并做好课后作业,提升学习效果。在课堂教学过程中,教师要检查和观察学生课前预习阶段的完成情况,并要求学生将他们在预习过程中不会和不懂的知识点说出来,教师要做好笔记,并在之后的授课阶段进行重点说明,再留给学生们一段的时间,让他们自己进行探讨。在探讨中,每位学生都能说出自己的理解要点,并对其他的方法进行归纳。在课后复习阶段,对知识进行巩固,要求在规定期限之内,把课程作业做好交给教师,由教师来进行评阅。这种教学方法能够有效地促进学生学习,提升他们的学习效果。
例如,基于 Python的计算思维与工程实际能力训练课程,在实际做题目之前,学生可以根据任务要求,对有关的知识进行回顾,利用任务驱动的闯关式软件,进行上机实践。在课程结束之后,老师们可以利用平台数据,针对学生在各个阶段的学习结果进行部分调整,并对学生们反馈的难度进行有针对性地辅导。
4.4优化考核方法与评价方式
在过去教学中,由于只依靠期末考试结果来确定学生的分数,而忽略学习阶段过程。过程性考试是根据学习结果以及学习阶段的情况,对学生的学习能力、应用能力以及创造力进行综合评价[7]。在进行考核时,使用多种评估方法,最后的分数包括:课堂上(20%)+课堂上(40%)+课后(40%)。过程评价是以团队方式进行的,将同学们分为若干组,每组3人,并推举一位组长。以小组内各阶段大任务的完成程度及对 Python的熟练程度为评价标准和评价内容。这种评价方式不仅对学生的理论知识进行了测试,还对他们的思维能力和团队协作进行了考查。测试持续一个学期,逐步养成学生独立学习的习惯。在对学生的学习成果进行评价时,不能只靠最后的结果来判断,要对其进行清晰的分类,要注重对其进行多元化的、过程性的考评,这样才能进一步地促进学生们的学习积极性,从而让他们的创新热情得到充分发挥,从而使教学质量得到整体提升。
4.5优化考核方法与评价方式
Python程序设计的教学目标是要提高学生的计算思维能力,以及用计算机语言更快更便利地解决现实问题。学生需要在少量的课时中做很多功课,理解和记忆很多知识,学生的任务量比较繁重。因此,在Python程序设计课程中,教师可以从一些比较简单的实例入手,尽量以分析、解释和理解程序的思路为主要内容,让学生逐渐地掌握使用计算思维来进行程序设计。对学生来说,可以根据实践项目的内容,进行算法设计,绘制出流程图,然后进行程序的编制和调试。在上机结束之后,对此次实践过程进行总结和反思,从而提高学生的计算思维能力。在进行期中测验时,老师可以适当地减少试题的难度,提高实际操作的分数,从不同的方面对他们进行评估,得到一个正确的、全面的教学评估结果。
结束语:计算思维在程序设计课程中的有着重要作用。两年来,笔者课程组通过改变教学手段、改进教学内容、优化评价方式的教学改革,教学成效不断显现。例如,所教学生参加全国信息技术应用水平大赛、中国大学生计算机设计大赛、全国大学生数学建模大赛,均取得的优异的成绩。当然,当前Python程序设计教学中仍存在的诸多问题,教师要学生为中心,多采用一些创新型的教育方式,激发学生的学习热情,逐步地训练他们的计算思维,培养复合型应用型人才。
参考文献
[1] Jeannette M. Wing. Computational Thinking[J].Communications of the ACM, 2006, 49(3):33-35
[2]邢慧卿. 基于STEAM教育理念的高中生计算思维培养的教学研究[D].哈尔滨师范大学,2021.
[3]罗平娟,彭芳策.基于计算思维的'Python程序设计'课程教学研究[J].电脑知识与技术,2021(015):122-123135
[4]张颖,李忆昕.医学院校基于计算思维的Python程序设计教学研究[J].电子世界,2019(20):89-90
[5]章蓬伟,贾钰峰,邵小青,等.基于计算思维的项目驱动Python程序设计教学研究[J].科技视界,2022(17):91-93.
基金项目:
全国高等院校计算机基础教育研究会2021年度计算机基础教育教学研究项目(项目批准号:2021-AFCEC-029)
河南省高等教育教学改革项目研究与实践项目(2021SJGLX560);