APP下载

基于CDIO模式的Python程序设计课程教学应用研究

2019-09-12左卫刚

计算机时代 2019年8期
关键词:项目驱动程序设计职业教育

左卫刚

摘  要: 针对目前Python语言课程教学现状,在详细分析其存在问题的基础上,提出将CDIO工程教育理念与Python教学相结合,根据Python语言特点,明确课程目标定位,基于CDIO模式重新优化教学内容、采用多样化教学方法、搭建三层递进式实践项目、重构考核评价体系,从而培养学生的工程技术能力,达到转变教学思路,全面提升教学质量的目的。

关键词: CDIO; Python; 程序设计; 职业教育; 项目驱动

中图分类号:G718.5          文献标志码:A     文章编号:1006-8228(2019)08-78-03

Abstract: Aiming at the problems existing in Python language teaching at present, this paper puts forward the idea of combining CDIO engineering education concept with Python teaching. According to the characteristics of Python language and the concept of CDIO, clarifies the course target orientation, re-optimizes the teaching contents, adopts a variety of teaching methods, builds a three-tiered progressive practice projects, and reconstructs the assessment system, thereby cultivating students' engineering and technical ability, changing the teaching ideas and comprehensively improving the teaching quality.

Key words: CDIO; Python; programming; higher vocational education; project driven

0 引言

CDIO工程教育模式是近年来国际工程教育领域改革的最新成果。2000年,麻省理工学院等四所大学组成的跨国研究组织历经四年的深入研究,创立并持续发展和倡导了全新的CDIO工程教育理念。CDIO代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),它以产品设计研发到产品维护运行的生命周期为载体,首次将工程毕业生必备的能力分为工程基础知识、个人能力、人际团队能力及工程系统能力四个方面[1]。基于CDIO的教育模式,首先从课堂的知识点入手,运用案例教学、示范操作等方式掌握基本知识点;然后以简单的实训项目为切入点,提升学生的个人能力和实践操作水平;最后以学生团体合作的形式完成一个基于工作场景的岗位仿真实践,以提升学生的团队协作能力和工程系统能力[2-3]。CDIO工程教育模式切合了工程技术人才的培养规律,在我国汕头大学等高校得到推广与发展。

Python语言是程序设计语言领域20年来最重要的成果之一,它是一种面向对象、解释性的高级程序语言。其语法简单,易读性强,极大地降低了学习的难度。由于Python的开源本质,它能够被轻松移植到包括WINDOWS、Linux,甚至Android等众多平台上。Python拥有庞大的标准库和扩展库,这些库可以帮助程序员快速地完成各个学科领域大量相关功能的构建。Python即是面向过程的语言,也是面向对象的语言。在面向过程程序设计中,将复杂问题流程化,然后用可重用的函数来解决问题。在面向对象程序设计中,根据人们认识客观世界的系统思维方式,将问题抽象为对象集合,每个对象内部封装自己的属性和方法, 不同的问题交由不同的对象去解决[4]。近年来,随着人工智能(AI)技术的不断演进,Python已成为国际上最流行的程序设计语言之一。Python被广泛应用于Web应用开发、服务器运维、科学计算、游戏、数据挖掘等领域。

1 Python语言教学现状

Python语言已经成为众多高校最受欢迎的程序设计语言。国外著名高校从2009年已开始广泛开设Python相关课程。国内起步相对较晚,2015年以后,国内一批本科高校逐步开始开设Python语言教学。近两年国内高职院校也开始将Python作为入门程序设计语言。但由于教学实践时间过短,高职学生与本科生又存在着知识结构和认知层次等方面的差异,在针对高职院校的Python教学中尚存在一些问题。

1.1 教学方面

⑴ Python语言因其易学性而成为入门程序设计的热门语言,然而在教学内容和案例上没有过多改进,教学实例落后于时代发展,与实际生活关联不密切,比如还是以温度转换、打印乘法口诀等为主的数学计算案例,这使得学生对程序设计不能产生浓厚的興趣。另一方面,针对不同专业和专业方向的学生授课内容及案例统一,课程教学的内容没有针对专业特性进行适当调整,使得学生学习后不能更好地使用Python语言解决与专业相关的实际问题。

⑵ 在教学中仍然采用“理论讲解”—“学生操作”—“课后练习”的传统教学模式,强化知识灌输,弱化能力培养。没有有效将课上与课下形成闭环,导致学生实践环节薄弱,编程能力不足,不能有效培养学生发现问题、分析问题、解决问题的能力。

1.2 评价方面

评价模式过于单一,学生总成绩一般由平时成绩、作品、期末成绩3部分组成。这种考核方式只注重结果性评价,完全忽略了过程性评价。学生应备的沟通能力、团队协作能力等方面的职业素养不得得到有效的评价。因评价环节不完善,教师无法通过评价对教学做出针对性的有效诊改,一定程度上影响了教学效果。

2 CDIO理念下的Python教学设计

2.1 课程目标定位

在深入研究分析目前Python教学中存在的问题基础上,结合CDIO工程教育理念,确定“以思维培养为主体、以能力培养为核心、以工程素质为目标”的课程教学定位。本课程注重Python语言的实践与应用,教学知识点融合在贴近生活的项目案例中,引导学生积极用计算思维模式去分析解决问题。基于CDIO模式下Python课程的教学目标由两部分组成,分别是技术知识目标和职业素养目标[5]。技术知识目标要求学生掌握Python语言面向对象的编程方法及常用库的使用。职业素养目标着重于培养学生职业技能、人际交往、团队协作以及CDIO全过程能力。

2.2 优化教学内容

根据课程目标和定位,对课程的教学内容进行重构。为增强学生学习Python的兴趣,我们将Turtle库部分内容作为课程先导内容,让学生通过简单的几行代码就可以绘制出精美的图案,体会Python之美,从课程起始就树立起学生学习Python的信心。整个课程以项目为载体,每一单元都有对应一级项目实例,方便学生理解其知识内涵。每个模块都有一个二级模拟工程项目,此项目将本模块知识点与相关的Python库相结合,使学生完成具有一定实际意义的工程案例。课程最后根据不同专业设置了多个三级课程综合项目,学生以团队形式从需求分析开始,完成一体化设计、编码、测试。实现了“知识讲解实例化、项目模擬工程化、实战演练一体化”。下表1为Python课程内容组织关系图。

3 CDIO理念下的Python教学实施

结合CDIO工程教学理念,将Python课程立足于能力本位。在课堂教学方法上根据课程的内容采用合理的教学方法,多种教学方法相结合。课程项目的设计上层层递进,模仿真实生产环境流程,突出工程教育的特点。考核方式上多元化多维度评价相结合。

3.1 完善课堂教学方法

⑴ 翻转课堂教学。将MOOC引入课堂,学生充分利用课前时间通过观看视频或课件对下一节所学课程内容进行预习,带着问题来上课。课堂上老师通过信息化教学平台了解学生预习情况,然后对教学内容进行有针对性的引导。翻转课堂有利于将被动式灌输转变为主动式探究学习。

⑵ 项目驱动教学。将课程知识体系化为项目实例,知识内容融合在项目中,让学生带着项目去思考和学习,引导学生“做中学”。比如在讲解条件分支内容时,我们结合当地冬季车辆单双号限行,将其作为条件分支结构内容的实例项目。这样以来学生对课程内容产生了浓厚的兴趣,同时增强了学生将知识内容应用于实际生活场景的能力。

⑶ 启发式教学。CDIO模式注重学生的主动探究式学习能力的培养,教学中将自主探究与小组合作相结合,教师在其中起到引导和启发的作用,以学生为主体,启发学习积极思考问题的解决方案。

3.2 实践项目逐层递进

教学过程以项目为载体,分为一级实例项目、二级模块项目、三级课程项目。三层项目坚持以学生为主体,教师为主导,逐层递进,使学生逐步熟悉基于实际工程环境的软件开发流程。

⑴ 一级项目实例化:主要是基础性实例小项目。内容涵盖了Python基本语言元素的知识内容,通过与生活相关的小实例来内化学习。通过这些实例项目的实践,使学生熟练掌握Python的基本语法。

⑵ 二级项目工程化:主要是模块工程实践。本级项目从设计思路、设计步骤到设计完成都在老师的具体指导下协作完成,体现出工程化特点。

⑶ 三级项目一体化:本门课程的综合性实践。学生根据兴趣,组队从课程综合项目库中选择或自拟一个项目。每个项目具有一定的综合性和复杂度。选定具体项目后,首先进行需求分析,明确项目最终目标和要求,然后制定项目实施方案、组长根据成员具体情况分派任务给每个组员、按照开发流程对项目进行设计实施。在项目的实施过程中,团队成员之间要相互协作,在独立思考的同时要善于倾听他人意见。最后在项目完成后撰写项目报告,并进行答辩。通过综合性课程项目实践,学生不仅巩固了知识要点,提升了编码能力。团队协作能力、人际交流能力、逻辑思维能力、撰写文档等能力都得到了明显提升。下表2为CDIO教育理念下课程综合实践项目教学思路。

3.3 重构考核评价体系

CDIO工程教育模式注重培养学生的综合能力,而传统的考核评价方式不能全方位考核学生的综合能力。针对评价模式过于单一的问题,在Python课程的考核评价中,我们主要从以下几个方面对学生的能力进行考核:①基础知识考核:通过课前预习、课堂提问、作业、阶段性小测验。②编程能力:通过单元项目和课程项目。③工程素养:通过课程项目实践的项目开发生命周期的过程实施。④团队协作能力:通过在项目实施过程中,团队成员之间的合作交流情况。⑤沟通创新能力:通过课程项目答辩、学生团队在项目基本要求基础上做出的自创性功能等。以上五个方面将过程性评价与结果性评价完美融合,理论知识评价和工程素养评价有机结合。在评价中将学生引入评价主体,多元化评价方式,形成多维立体式评价机制。

4 结束语

为转变传统教学理念,提高学生工程素养。本文借鉴CDIO工程教育理念,通过进一步明确Python课程教学目标,重构课程内容,采用多维度评价体系,创新人才培养模式。有效改变了传统教学中存在的重理论轻实践、重知识轻创新、重视个人能力忽视团队协作等问题。

本文的多项措施已应用于多专业Python教学,从教学效果及学生反馈来看,取得了一定的成效,其中递进式实践项目设计符合高职学生的认知规律,能较好地达成教学目标,培养了学生计算思维及分析解决问题的能力,有效提高了学生的工程素养。在今后的教学中,将进一步明确当前改革的思路和重点,利用网络优势资源,提高工程教育质量,实现学生与社会及企业的无缝对接,为企业培养合格的技术技能型人才。

参考文献(References):

[1] 查建中. 论“做中学”战略下的CDIO模式[J].高等工程教育研究,2008.3:67-70

[2] 李馨.翻转课堂的教学质量评价体系研究——借鉴CDIO教学模式评价标准[J].电化教育研究,2015.3:96-100

[3] 宗欣露,徐慧.基于CDIO教育模式的软件工程课程教学改革[J].教育教学论坛, 2015.4 :96-97

[4] 江红, 余青松.Python程序设计与计算基础教程[M].北京:清华大学出版社, 2017.

[5] 王永贵, 孟海平等.基于CDIO理念的建筑工程专业实践教学体系改革[J].大学教育, 2017.9 :17-20

[6] 赵广辉.面向新工科的Python程序设计交叉融合案例教学[J].计算机教育, 2017.8:23-27

猜你喜欢

项目驱动程序设计职业教育
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
依托工作室的软件工程实践教学研究
基于物联网项目驱动的嵌入式系统教学改革的研究与实践
基于“红色之旅”项目驱动的《调酒与咖啡》工作室制人才培养机制探讨
“动能教育”模式下的工匠人才培养路径研究
论七年一贯制体系下本科学科建设中职业教育的重要性
刍议职业教育校企合作的有效性
翻转课堂教学模式在《PLC应用技术》课程教学中的应用