基于计算思维的项目驱动Python程序设计教学研究
2022-08-10章蓬伟贾钰峰邵小青刘生智
章蓬伟 贾钰峰 邵小青 刘生智
(新疆科技学院信息科学与工程学院,新疆 库尔勒 841000)
0 引言
Python程序设计课程是大学计算机类专业课,其目的是培养学生在信息化社会所必需的信息素养,及运用信息化技术解决生产生活实际问题的能力。计算机信息素养日益成为创新能力不可或缺的部分。在信息技术日新月异、爆炸式发展的今天,传统的Python程序设计课程重在计算机软件或工具介绍、教授学生零散的计算机编程知识,难以帮助学生提升创新能力,无法有效支持计算机类专业建设,更无法满足未来大数据时代各领域对以计算能力为支撑的复合型创新人才的需求。因此,以能力培养为导向,确定本课程的培养目标是“培养学生的计算思维,以项目驱动教学,拓宽学生的知识面,使之掌握基本编程操作技能,提高应用能力和创新能力”。
Python程序设计是计算机类相关专业的专业课程,和C语言、Java相比,Python的优势明显。Python是一种免费、开源、解释型的面向对象的高级动态编程语言。Python语言目前是最接近人类思维的编程语言,可以应用于数据分析与统计、人工智能、Web开发、云计算等,能方便进行系统维护与管理,是最受欢迎的编程语言之一。在人工智能领域中机器学习、深度学习等方面Python应用广泛,是人工智能领域最火的计算机编程语言。
1 前期Python程序设计课程的反思
以培养学生分析问题能力为中心,通过工程实践项目展开教学改革真正提高学生运用计算机分析、解决问题的能力,是高校教师亟须解决的问题。Python程序设计是新疆科技学院面向计算机专业一年级开设的必修课,总学时36,理论学时18,实践学时18。
目前的Python程序设计教学仍存在一些不尽如人意的地方,主要有以下几方面:学生编程水平差异化严重,学生来自全国五湖四海,对Python程序设计学习的兴趣两极分化,计算机和编程水平参差不齐,对课程实践教学提出了极大的挑战。强化理论灌输、弱化能力培养、教学手段单一在教学中仍然采用理论讲解—学生操作—课后练习的传统教学模式,强化知识灌输,弱化能力培养。没有有效将课上与课下形成闭环,教学手段单一,导致学生实践环节薄弱,不能有效培养学生发现问题、分析问题、解决问题的能力。要转变观念从重学轻思向学思结合转变。学生对程序设计课不能机械地记忆,需要不断地思考创新,从中获得学习的乐趣和成就感。
实践教学环节流于形式,加之学生程序设计的基本功不扎实,久而久之对学习编程和思考问题失去兴趣。从教学的角度来看,传统的教育观念不是“以学生为中心”而是“以知识为中心”,这种方法表现为:教师无所不知,是不变真理的化身,学生一无所知,只能等待教师的“施舍”,被动地接受知识。灌输式教学极不利于“以学生为中心”的成长和发展,灌输的知识越多,学生越缺乏批判意识、主体精神和创造性的品质,不利于学生创新能力培养的教学方式。面对这些问题,课程组经过一年多的教学反思与总结,对Python程序设计进行了有效的改革,使Python程序设计课满足了新时代对人才培养的要求。
2 教学方法改革
Python语言具有简洁性、易读性和可扩展性,只关注计算问题的解决,是进化最接近自然语言的编程语言,但传统程序语言设计都是以教师为中心,学生被动地接受编程知识,并没有和教师同频共振,学生实践环节不够,课程理论与实践的结合不够紧密,学生缺乏主动性等。针对以上问题,经过一年的改革与实践,本文对教学改革进行了归纳总结。
2.1 以学生为主体、教师为主导,以计算思维为切入点项目驱动式教学
本教学模式以项目驱动教学法为主导,以计算思维为切入点,用项目将师生的教与学活动串联起来,项目实施完成的过程就是整个教学过程。模式主要由教师、学生两个主体,项目设计、项目分析、项目实施、总结评价五个教学流程构成,通过项目串联起来组织教学。具体模式构建如图1所示。
图1 基于计算思维的项目驱动教学模式
2.2 因材施教多级任务规划的衍生进阶教学内容设计
教学内容逐步的完成过程中,进行分段、进阶式教学内容的设计。项目驱动教学模式是将知识点贯穿到整个项目运作过程中,掌握Python基础,包括基本数据类型、组合数据类型、控制结构和文件操作;掌握Python进阶,能够应用第三方库解决较复杂问题。项目完成过程中,学生也可以提出新的问题进行科学探究和知识的拓展,真正培养分析、解决问题的能力,进而达到思维能力的培养并切身体会创新实践的乐趣。通过13个分段进阶式项目教学化难为易、科学系统的培养学生计算思维的能力。高级模块推荐给学有余力的学生,包括NumPy、Pandas和Matplotlib等,具体项目方案如表1所示。
表1 基于计算思维的项目进阶教学内容设计
2.3 线上线下混合教学模式,使用Educoder+MOOC教学平台完善项目驱动教学模式
MOOC一般指大型开放式网络课程,极大丰富了学生课上课下的理论学习与实践练习。Educoder(头歌)平台是学、练、评、测一体化实验环境,可以将传统的知识传授和工程实战一体化紧密结合。使用这两个平台互相配合应用到项目驱动教学的课前、课中和课后3个环节。课前教师通过MOOC布置学生预习任务,根据学生预习情况的数据调整项目驱动教学的内容。以教学大纲为依据为学生推荐两门MOOC资源,学生可以在课前预习、课后复习。课中教师通过项目驱动使学生做中学,项目完成过程中,真正培养分析、解决问题的能力,进而达到思维能力的培养并切身体会创新实践的乐趣。通过头歌平台布置课后实训作业。头歌平台上有实践课程、实践项目、课题教学、案例教学等模块,有丰富优质的教学内容和实践项目。如国防科技大学开设的“大学计算——基于Python的计算思维与工程实践能力训练”课程,学生做题前可以通过任务要求复习一遍相关知识,通过任务驱动通关式的程序上机实践。如果过关会有相应金币的奖励,则提高了学生学习的主动性和趣味性。课后教师可以通过平台数据分析,针对学生不同阶段的学习效果,局部调整项目驱动教学内容,对学生反馈的难点进行针对性的教辅。
2.4 课程考核采用多元评价过程性考核体系
传统应试教育单凭期末一次性成绩内容来决定学生的成绩,忽视学习过程,不利于综合素质的提高。过程性考核通过学生的学习情况和阶段性学习效果,全面考核学生的学习能力、运用能力及创新能力。课程考核采用多元评价体系,最终成绩由课前(10%)+课中(45%)+课后(45%)组成。具体标准如表2所示,其中大作业项目阶段考核以小组形式答辩,综合小组成员自评和对小组成员提问表现。按照一个班级45人的标准,根据学生的特长进行团队划分。将学生分成6~7个团队,每个团队在7~8人,然后推荐一名队长。根据学生在分组答辩阶段性大作业系统设计中的贡献率和Python语言掌握情况给予客观的综合成绩。这样既考核学生的理论知识又考察培养其思维能力,并且将考核贯穿整个学期,促进了学生自主学习,提高了计算思维的能力。课后阶段性PTA测试能检测学生对Python编程语言的掌握情况。学生学习成果的评价方式,不能再是以最终成绩一刀切来决定,要明确学习成果的类型,强调多元过程性考评,通过这种考核方案有助于进一步提高学生学习的积极性,激发创新热情,全面提升教学质量。
表2 课程考核采用多元评价过程性考核体系
3 结语
本文根据Python语言的特点,提出了Python编程与实践课程教学模式,采用以学生为主体、教师为主导,以计算思维为切入点项目驱动式教学、因材施教多级任务规划的衍生进阶教学、采用多元评价过程性考核体系线上线下混合教学模式。不仅激发了学生的学习兴趣,同时提高了学生发现问题、解决问题和创新的能力,为高质量的人才培养探索提供了有效的解决途径。