基于项目驱动的Python语言课程的教学研究
2020-07-27梁艳
梁 艳
(辽宁科技学院 曙光大数据学院,辽宁 本溪 117004)
近年来,Python语言以其独特的优势得到了越来越广泛的应用,国内许多高校的非计算机专业均开设了此门课程,其教学模式也受到了许多教育工作者的关注和重视。目前,关于Python课程的教学主要是两种模式〔1〕:一是传统教学模式,课程教学以讲授基本概念、语法规则、程序设计方法为主,学生在掌握基本知识后,通过上机练习完成了对教学内容的验证。此种教学模式,语言仅仅作为学习计算机编程的入门语言,通过课程的学习使学生理解了程序设计。第二种教学模式是项目驱动式。在教学中,教师淡知识讲授,重问题分析。将Python语言作为一种辅助的工具,借助于其类库丰富、功能强大的特性,引导学生从具体问题出发,通过分析专业学习、社会实际等方面存在的需求或问题,以此为切入点,面对需求构建模型,并进一步完成功能设计,借助于Python及其强大的库,完成程序的编写与调试,达到最终解决问题的目标。对比于两种教学模式,显而易见,项目引导教学模式其主旨更符合高校“新工科”建设所倡导的“授人以渔”的思想,其对提高学生运用计算机解决实际问题的能力有极大的促进作用。笔者所在高校,2015年被确定为辽宁省首批向应用型转变的本科试点学校,2018年确定为教育部首批新工科教育综合改革项目单位,为适应学校的转型发展和新的人才培养目标,我们在Python课程教学中进行了项目化教学的研究。
1 项目化教学的框架
在Python课程的教学过程中,采取项目驱动的教学模式,无论在教材选取、教学实施、考核方式都与传统的教学模式截然不同。我们所采取的做法如下:
1.1 优化教学内容
目前,绝大多数的Python教材其知识的组织模式依然是传统教学所遵循的方式,其优点知识讲解比较系统,适合于初学计算机的人阅读与查找相关知识,但应用型不强,所给出的案例均是验证性的。另一类Python教材则实用性非常强,但项目设计的方向选择比较局限,而且涉及的知识的深度与广度又不适合初学者,因此,在教学中我们采取了的策略是:选择一本知识比较系统的教材作为参考书,对书中的内容重新序化,按照项目需求将知识点融合在项目设计中,强调的是:因为“用”所以“学”。将教学内容按照难易程度分为:基础语法模块、数据获取模块、数据处理模块,数据可视化模块,各部分对应的知识点与教学组织模式如表1所示:
表1 Python学习内容及教学组织模式
1.2 渐进式项目驱动
在开展项目驱动教学过程中,兼顾了两个方面的因素,一是学生的计算机知识背景。我校学生在大一仅学过大学计算机基础课程、简单数据库基础知识。二是学生的学习积极性。学生对Python课程的学习愿望强,期望值大。但在学习中如果开始就进行较难的项目设计,容易让学生产生为难情绪,慢慢会消磨学习热情。为最大的保护和提高学生的学习积极性,我们进行了“渐进式”项目教学设计,从两个层面设计,一是项目层设计,建立了三层项目体系,逐级增加难度,各级互相支撑(课程设计项目如表2所示)。
表2 Python教学三层项目体系
“渐进式”项目教学设计〔2〕的第二个层面是在具体的某个项目上采用了渐进式任务驱动教学模式,即将一个大项目拆成若干个小任务,将任务贯穿在平时的学习中,随着教学内容的深入,逐渐加大任务的难度,将这些任务组合,完成项目的基本功能,再进一步扩展项目的功能,最终完成项目的全部功能设计。以本课程中所设计的项目“文本智能处理管理系统”为例,列出渐进式项目驱动的实施过程,如表3所示。
表3 “文本智能处理系统”任务细化表
1.3 混合式教学
混合式教学,即将在线教学和传统教学的优势结合起来的一种“线上”+“线下”的教学〔3〕。通过两种教学组织形式的有机结合,可以有效提升绝大部分学生学习的深度。在Python教学中,我校课时一般设置为48学时,为缓解课时不足的问题,充分利用网络开展了线上以“自主学习与研究学习”相结合的模式,线下以“集中讲授与翻转课堂”相结合的模式,将学习知识点与任务相融合,依据知识迁移理论,建立了逐层递进、逐级深化的四层学习体系,如表4所示:
表4 四层学习体系与实施方案
1.4 过程化模块化考核
课程考核是检验学生学习效果的一个有效手段,其所采取的策略直接影响到教学的效果,好的考核方式对教学有极大的促进作用。传统的考核方式是标准化考试,机器自动完成试题的评判,这种方式不能真正客观的判断学生的分析问题能力及实际编程能力,因此依据Python课程的教学目标,建立了过程化模块化的考核模式,如图1所示。平时考核的内容包括考勤、知识点测试,此部分通过学校的网络教学平台完成,其成绩占10%;过程考核主要以学生完成项目任务的情况进行成绩的确定,分验证型和设计型两个部分,验证型占20%,由教师判定;设计型由学生以小组方式合作完成,每一个小组成语不超过3人,考核时由学生小组展示讲解,教师和学生共同打分,其成绩占20%,包括四个部分:创意5分,功能5分,算法5分,界面5分;期末考核修改闭卷考试方式,针对各个模块设计灵活的题目,学生通过查询资料完成各个测试。最后,遴选在设计型环节中成绩突出的学生,组成团队,与创新创业学院对接,建立第二课堂,培养学生参与大创项目实践及参加创新创业竞赛。
图1 过程化模块化考核模式
1.5 课程思政建设
“课程思政”指在教学过程中有意识、有计划、有目的设计思想政治教育的教学环节,通过营造教育氛围以间接的方式将道德规范和政治观念传递给受教育者,从而满足受教育者成为国家发展需要的合格人才的教育教学理念〔4〕。课程思政的核心就是“立德树人”,其不仅是“思政课程”的任务,更是每位教育工作者的使命与责任。因此,我们在课程思政建设中从以下几个方面入手:首先是教育观念的转变,即“思政课程”向“课程思政”的转变,每位专业课教师要真正承担起“教书育人”的使命;二是加强学习,提高自身的道德修养和政治觉悟,坚持教书和育人相统一,言传和身教相统一,做学生锤炼品格、学习知识、创新思维、奉献祖国的引路人;三是教学内容与“课程思政”的融合,在项目设计中,注重四个结合:知识性与趣味性相结合,功能完善与协调美相结合,格调高雅与积极向上相结合,潜心问道和关注社会相结合。设计的项目有:学国学猜成语、年度热点事件追踪、2020大学生就业信息系统、疫情数据展示系统等。学生通过这些项目的学习与实践,即掌握了核心知识,提高了应用技能,也提升了综合素质,如钻研精神、合作意识、沟通能力,更培养了自身的责任感、使命感。
“课程思政”是每一位教师要不断研究与探索的课题,要实现育人和知识传授的完美融合,需要我们每位教师不断提升自己的业务水平、道德情操和政治觉悟,真正担当起“立德树人”的历史使命。
2 结语
Python课程是我校非计算机专业开设的一门计算机公共课程,其涉及的专业广、学生数多,实施基于项目驱动的教学模式还有许多需要深入研究探讨的内容,例如项目设计如何与专业相结合,如何建立结课后教师对学生的长效辅导机制,如何建立与专业教师共同指导毕业设计的合作机制等等,这些内容即涉及到课程内容建设,又涉及到管理体制的改革。在我们不断的研究探索中,必将逐步完善课程教学体系,提高课程教学质量,培养出更多的应用型优秀人才。