APP下载

基于CDIO模式的程序设计基础课程群建设

2019-09-04张靖

科技风 2019年21期
关键词:课程群程序设计教学改革

张靖

摘 要:程序设计基础课程群为后续专业课程的教学构建知识、技术和思维的基础。本文从CDIO工程教育模式的理念出发,梳理了程序设计基础课程群的培养目标所要求的能力体系,构建了与之相适应的教学模式,并提出了该教学模式相对应的评价体系。

关键词:程序设计;课程群;CDIO;教学改革

程序设计基础类课程是以计算机技术为核心技术的专业领域(如数字媒体技术专业)的基础课程。典型的程序设计基础课程群通常循序渐进的设置以下三类课程:

(1)编程基础:通过学习一门编程语言培养学生基本的结构化程序设计和运行能力。

(2)面向对象程序设计:培养学生对现实世界的抽象能力。

(3)数据结构与算法:培养学生针对问题进行建模并运用计算机编程技术进行求解的能力。

程序设计基础类课程的教学目标是为后续的高阶开发、管理、运营类课程构建知识、技术和思维的基础。基础扎实则使后续课程的教学具有较高的效率;基础不牢则后续课程的教学事倍功半。

课程群的教学目标通过教学活动作用于学生而得以实现。传统的教学活动中,偏重课堂讲解和知识点剖析,对编程实践重视不足;在有限的实践操作中,验证性实验多而与实际应用相结合的综合性课题少。这种情况下,一方面导致学生难以认识到相关课程的价值,另一方面也使学生的学习视野受到局限。学生学习的目的蜕化为通过考试、获取学分,往往在学期结束后迅速将知识遗忘,无法达到为后续课程提供知识、技能和思维支撑的目的。

CDIO(构思、设计、实现与运作)工程教育模式提出了一个涵盖12条标准的教育指导原则,集中体现了“做中学”和基于项目教学的工程教育理念。从CDIO的指导思想出发,本文提出一种程序设计基础课程群的教育改革方案,以提升相关课程的教学、推动专业教育的目标得以实现。

1 能力体系

将CDIO工程教育模式所提出的各方面能力考虑在内,将课程群能力体系归纳为以下6个项目:

(1)理论知识:概念、规则等,作为基于项目应用的程序设计实践的认知基础。

(2)程序设计技能:理论知识的最终作用点,运用所学的知识编写程序实现功能并解决问题。

(3)自主学习能力:在已经具有的理论知识和实践技能的基础上,能动的学习新的知识、技能,同时基于自己的思考和探索解决问题的能力。

(4)系统分析、设计并实现的能力:在具有一定理论知识、编程技能的基础上对系统进行定义描述、总体和详细设计、编程实现以及模块集成运行的能力。

(5)交流、表达能力:在程序设计领域进行问题陈述、观点表达以及讨论交流的能力。

(6)团队协作能力:在系统开发中进行基本的模块划分、分别实现并最终集成运行的能力。

2 教学模式

围绕“做中学”和基于项目教学的核心思想,从课程和课程群两个层面出发综合考量以对教学环节进行构思和设计,可以构建包含3个层次级别的项目体系:

(1)面向课程内知识单元的验证型项目。

(2)面向单门课程、横向涵盖大部分知识单元的课程设计项目。

(3)面向课程群的综合项目。

2.1 验证型项目

验证型项目以教师课堂教学为基础。以每周4学时的教学安排为例,将2个学时用于教师讲解知识点,2个学时用于进行验证型项目实践。

在2个学时的教师教学环节中,教师要首先提出基于现实的问题,自然而然的推导出本次课程的核心知识点。这实质上是对知识的产生过程进行推演、继而建立逻辑链条、最终使学生认识到学习该知识的合理性,提高学习动机。随后教师讲解知识单元的细节内容。讲解完毕后进行总结,并布置书面作业。在这2个学时的末尾,教师还要发布一组验证型项目选题,并规定每个选题人数上限以防止学生抄袭。

验证型项目的分析、设计和实现以及文档的撰写要求学生在课下完成。这一过程不应当侵占后续2课时的时间。后者的作用是让学生集中起来对教师进行演示,回答教师提出的问题,在教师指导下解决遗留问题。在最后提交文档和代码。

2.2 课程设计项目

课程设计项目横跨课程教学大纲所涵盖的多个知识点。随着教学进度的延伸,学生逐步运用当前所学习到的课程知识与技能对项目进行实现、完善和改进,最终产出一个功能完整的应用程序。

课程项目由教师提供一组适当的选题。学生每2~3人一组进行选题。小组成员对项目进行设计并划分模块、分解任务,并轮流在项目进展过程中担任负责人、开发人员或测试人员。学生每周填写一份包含工作进度及工作量表。每组选题每周形成一个可演示的版本(可运行但不要求具有完整的功能)。最终在学期末尾完成整体项目的开发。每个项目组进行演示和答辩。

2.3 课程群综合项目

在完成课程群中全部课程的教学之后,学生理论上应当具备了开发完整软件产品的基本素养。这个过程持续2~3个学期。在这个基础上,组织一次综合项目实践以作为一门单独的实践课程。该实践项目应当满足以下几点:

(1)项目选题由教师拟定(可以参考学生兴趣)

(2)学生自愿结成4人左右的团队。

(3)使用文件系統而非数据库系统存储数据。

(4)有教师团队进行指导。

项目过程按照软件工程生命周期形式进行组织,可以包含以下几个阶段:

(1)问题调研和需求分析。

(2)系统总体设计和详细设计。

(3)系统实现和测试。

项目在结束时由教师团队组织验收,学生全体到场。验收流程如下:

(1)项目组长介绍项目总体功能和设计并演示。

(2)小组成员各自介绍和演示自己承担的任务、遇到的问题、解决方法等。

(3)回答教师团队提出的问题。

(4)评定成绩。

3 评价体系

评价体系用以客观反映学习成果并督促学生积极参与教学活动。结合课程及课程群的教学特点,在评价体系中对课程教学和课程群综合项目分别进行评估。

3.1 课程评价

3.1.1 纪律评价

为了维持教学秩序,需要将考勤和课堂纪律纳入评估范畴,在总成绩中占比为20%。

3.1.2 理论知识评价

对于理论知识掌握情况的考查,一方面跟随教学进度,考查随堂作业或测验的情况,另一方面在学期末进行一次期末考试以考查学生对该门课程的全局掌握情况。两项一共占比为40%。

3.1.3 验证型项目评价

验证型项目主要体现学生若干方面的个人能力。学生在每次单元项提交项目报告和源程序,并向指導教师演示项目成果。占比20%。

3.1.4 课程项目评价

课程设计项目由一组学生协作进行分析、设计、实现并迭代维护。学生随项目进度阶段提交相关文档、报表并演示,并在项目完成之后提交最终的报告、产品。此项考查占比20%。其中,系统源代码和程序运行结果占20%,项目开发周期中各要素占20%,小组项目报告占15%,个人项目报告占20%,答辩占15%,小组成员工作量占10%。

3.2 课程群综合项目评价

课程群综合项目评价,一方面考虑对其过程进行监控和评估,一方面考虑其最终完成情况的评价,还要考虑项目组成员各自的工作情况。

各项目组最终提交所需的文档和成果:

历次项目会议讨论的议程和记录:

(1)各阶段工作安排和工作量表。

(2)项目组报告。

(3)个人项目报告。

(4)项目源代码以及能够部署运行的软件产品。

从以下方面评定实习项目成绩:

(1)各次议程和记录(15%)。

(2)源代码及项目产品运行结果(20%)。

(3)小组成员工作量(10%)。

(4)项目组报告(15%)。

(5)个人报告(20%)。

(6)答辩情况(20%)。

4 结语

本文从程序设计基础课程群的教学目标和能力体系出发,基于CDIO工程教育模式的理念构建了新的教学模式和评价体系,帮助教师和学生双方提高教学质量、达成教学目标。另一方面,本文构建的教学体系的具体实施还依赖于教学资源、师资力量以及学生素养等因素,需要在具体的教学活动中进行优化和修正。

参考文献:

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

[2]顾学雍.联结理论与实践的CDIO[J].高等工程教育研究,2009.11-23.

[3]Carolina Gallardo Pérez,Pilar Martínez García,Jesús Snchez López.Project-based Learning Experience on Data Structures Course[J].IEEE Global Engineering Education Conference.2011.561-566.

[4]孙浩军,孙梅,熊智.计算机专业基于课程群的 EIP-CDIO 项目设计[J].计算机教育,2010.101-106.

猜你喜欢

课程群程序设计教学改革
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
医学专业“Python程序设计”课程教学改革总结与思考
基础医学显微形态学实验课程群的构建及意义张雪莉
基于课程群的软件工程专业三位一体教学模式探索
“卓越医师”创新创业能力培养实践教学分析及医学方法学课程群构建
软件工程专业编程语言课程群教学中的问题与对策初探
基于人才培养的技工学校德育实效性研究
现代信息技术在高职数学教学改革中的应用研究