APP下载

基于分层模式的CDIO教育理念在程序设计竞赛类课程方面的理论研究

2020-04-05周春樵

计算机时代 2020年2期
关键词:课程体系创新能力

周春樵

摘  要: 针对现阶段高等院校中程序设计类课程教学内容与实践体系在培养创新人才方面所存在的问题,将分层化教学模式结合CDIO教学理念引入传统程序设计课程。融合课程特点,分析教学内容的内部关联性与层次性,优化程序设计类课程体系,构建程序在线测试平台,改进课堂教学模式。以程序竞赛为驱动,以培养学生的创新能力与团队意识为目标,并结合大学生各类创新创业项目,理论与实践相互结合,提高学生的学习兴趣与动手实践能力,取得了良好的教学效果。

关键词: 分层化教学模式; CDIO; 课程体系; 程序竞赛; 创新能力

中图分类号:G642          文献标识码:A    文章编号:1006-8228(2020)02-89-04

Theoretical research on application of CDIO education concept with hierarchical

model in courses for programming competition

Zhou Chunqiao

(Public Laboratory Center, University of Shanghai for Science and Technology, Shanghai 200093, China)

Abstract: In view of the problems existing in the teaching content and practice system of programming courses in training innovative talents in colleges and universities at present, this paper introduces the hierarchical teaching model and CDIO teaching concept into the traditional programming course, integrating course characteristics, analyzing the internal relevance and hierarchy of teaching content, optimizing the programming course system, constructing program online testing platform, improving classroom teaching model. And driven by programming competition, aiming at cultivating students' innovative ability and team consciousness, combining with various innovative entrepreneurship projects, and combining theory with practice, students' practical ability and interest in learning have been continuously improved and good teaching results have been achieved.

Key words: hierarchical teaching model; CDIO; course system; programming competition; innovative ability

0 引言

培養新时代的创新型计算机人才已经在国内外高等教育体系中成为了一个普遍的共识。教育部计算机教指委针对计算机人才培养提出了4项专业能力要求:①计算思维能力;②算法分析与设计能力;③程序分析与设计能力;④计算机系统能力[1]。针对计算机程序设计竞赛的创新教育类课程对于培养学生的思维能力、计算机编程能力以及团队合作精神都有着极其重要的作用。而在大学通识类计算机编程课程的基础上,竞赛类程序设计课程可以帮助学生更全面和系统地了解学科领域的专业知识、提升学生的学习积极性以及培养学生解决生产实际问题的创新能力。

1 计算机程序设计类课程教学的现状

在现阶段各高等院校计算机程序设计类教学中主要以基于C/C++/Java/Python等“程序设计原理”和“数据结构”课程作为核心的理论教学课程,这些课程目前存在着许多不完善之处。

⑴ 课程定位目标不明确。基于程序语言的课程在教授学生知识点的过程中存在着“照本宣科”的问题,教学过程中没有融合授课教师自身的教学理念,且对于如何在教学过程中提升学生的实践能力、创新意识以及培养学生团队精神的教学目的性不明确,而随着多学科交叉课程数量的不断攀升,导致分配给基础课程的学时只够授课教师讲解一些基础概念,学习内容过于单薄。

⑵ 课堂教学重理论,轻实践。程序设计类课程中所阐述的各类语法知识和算法结构一般具有理论性与抽象性强的特点,学生在学习过程中可能存在无法掌握和理解的某些知识点。大部分高校为了帮助学生更好掌握程序设计课程中的知识点,都会开设“程序设计短学期”类课程,一般两周左右,但其效果并不理想,很多学生因为程序设计能力基础薄弱,只能通过徇私舞弊的行为来完成课程设计报告[2]。可见,短期和密集的两周实践学习对于提升学生整体的编程能力效果甚微。

⑶ 授课知识点陈旧,更新不及时。国内部分高校的计算机程序设计课程的教学大纲长没及时修订,无法适应新时代对创新程序设计人才的培养需求[5]。部分软件科技公司在进行校园招聘过程中普遍反映现阶段大部分计算机软件专业学生的知识面狭隘的问题,上机题的程序实施过程冗余、算法过于简单,逻辑结构缺乏灵活性。此外,学校教务部门在制定教学规划中要求授课教师严格按照教学大纲从事相关教学活动,对如何培养学生的专业能力没有形成共识。

⑷ 课程考核方式单一,缺乏对培养学生兴趣的引导。一般高校针对计算机程序类课程的考核通常采用期末笔试成绩为主(占70%左右),上机实验与平时成绩为辅(占30%左右)。期末考试更多的采用纸质版的形式,这类测试手段更侧重于考察学生对知识点内容的记忆力,而非理解力,缺乏对学生解决实际问题的逻辑思考能力、上机编程能力以及程序调试能力的考察,并不能全面和客观的展现学生的综合编程水平,单一的课程考核形式也不能正确引导学生对编程类课程的学习兴趣。

针对上述问题,本文提出了在计算机程序设计类课程的教学体系中引入CDIO教育模式,改进传统课堂上存在的弊端与不足,激发学生对于程序类课程的学习热情,达到更好的教学效果。

2 程序设计竞赛类课程对于计算机类学科发展的促进作用

近年,随着计算机技术在高校通识教育体系中的不断发展,各类大学生程序设计竞赛也在全国乃至全世界范围内不断壮大。其中,影响力较大是ACM-ICPC(ACM International Collegiate Programming Contest,国际大学生程序设计竞赛)和CCPC(China Collegiate Programming Contest,中国大学生程序竞赛)。此外,ACM-ICPC也被列入了中国大学学科竞赛排行榜。有别于其他单人竞赛体系,ACM-ICPC和CCPC这两项竞赛更注重展现学生团队分析问题与解决问题的能力、创新意识以及合作精神,该项赛事也被誉为“世界上规模最大、最公平、水平最高的国际大学生程序设计赛事”,为全世界的学生提供了一个衡量计算机程序设计能力的客观平台,在这个平台上,大家相互学习,共同进步[4]。

团队程序设计竞赛提倡培养学生发现问题与解决问题的创新实践能力以及与他人共同合作的团队意识,与高等院校对于创新人才培养体系的建立以及卓越工程师的培养计划是一致的。由此可提倡以面向学科竞赛为导向,通过在计算机程序设计类课程中引入竞赛型机制,这样一方面扩展学科知识点的普及面,拓宽学生的专业视野,另一方面鼓励学生多参与课外学科竞赛,提升学生的竞争意识,通过此类赛事,实现培养与选拔创新人才的教学目标,促进专业学科良性发展。

3 基于分层与CDIO理念的程序竞赛课程的创新教学模式

3.1 程序设计类课程的教学目标与架构分层

高校学生来自全国各地,其基础和学习能力有差异,所以应考虑分层次教学,制定相应的教学目标,完善教学架构。

可以采用课程中期考核制,来对学生进行分组。根据程序设计类课程的教学体系,基础学科从汇编、C语言、python开始进行授课,教师在学期中段对学生进行一次理论笔试和上机练习的摸底测试,根据笔试和机试的成绩对学生进行分组教学,大致分为三类:①基础巩固组;②实践提高组;③程序竞赛组。

基础巩固组的学生由于其学习能力较弱,在学习过程中可能没有掌握必要的语法知识,因此可以根据程序设计课程的教材大纲,以熟练掌握基本语法知识和培养程序设计的逻辑思维能力为教学目标,通过多次上机操作来巩固知识点,提升学生解决一般计算问题的程序设计能力。

实践提高组的学生一般对于语法知识、基本概念都掌握的较好,但是缺乏深入学习的主动性,在分析综合性的程序问题上面存在思路不清的问题,且欠缺创新精神。针对提高组学生的这些问题,设定合理的教学目标,有别于基础巩固组进行分层化教学,要求除了将程序设计课程教学大纲里面的实践内容完成之外,适当增加课外的综合上机练习,结合数据结构的内容优化课程体系结构,倡导学生发挥创新精神和团队意识,同时可以布置综合性的学科问题进行阶段性的加强学习。

程序竞赛组的学生相对于前面两组的学生在学习能力、学习兴趣以及学习主动性上面更有优势,这类学生程序设计基础扎实,逻辑思维以及分析问题、解决问题的能力较强,对于综合性的应用问题有敏锐的洞察力,能灵活应用所学的学科知识点。对于这类学生在采用分层化教学的过程中需要更多的引导其参与到ACM这类高等级比赛中,更好的发挥学生的优势,在比赛和日常的训练过程中进行高强度训练,这样可以一方面培养学生的创新能力,另一方面也可锻炼学生在解决较难问题过程中的耐心和意志品质,更加多元化的提升学生的综合水平。

分层化的教学模式能在很大程度上改善学生不良的学习习惯,分组授课的方式更有利于发挥学生自身的特点和优势。除了层次化的教学模式引入课堂之外,传统的考核方式也需改进。全纸质试卷考核方式已不太适用于现在的学习内容和教学目标,应采用机试形式,通过OnlineJudge(在线评测系统)平台进行综合考试。上机考试一方面不需要花费授课老师太多时间阅卷和试卷分析,另外一方面做到更快和更合理的考核学生的编程能力,不局限于考察课本知识点的记忆能力,更多的考察学生对于知识点的应用能力,真正意义上实现理论和实践结合的教学目标。通过OnlineJudge后端的数据分析可以专业化的展现学生掌握知识点的情况,帮助授课教师发现知识点盲区,为后续课程做好铺垫。

3.2 程序设计竞赛课程中CDIO教育理念的引入

CDIO理念由2005年从世界教育领域引入中国,在我國的工程教育模式改革方面提供了借鉴。CDIO教育理念在国内的高等院校中得到了迅速的传播和推广,并在部分高校中进行了试点工作,取得了优良的成效。CDIO工程教育理念由Conceive(构思)、Design(设计)以及Implement(完成)和运作(Operate)组成,在高等教育实施过程中更注重强调学生学习的主动性,根据专业学科课程的理论联系搭建授课平台,让学生更多的参与到工程实践中来,全面提升学生的专业创新开发能力和综合素质[3]。

将CDIO国际工程教育理念引入程序设计竞赛课程,以层次化教学小组为主体,以教学内容、教学方法和课程目标为导向,学科竞赛为驱动,由此形成一个闭环教学体系,动态地优化课程架构[6]。

⑴ 团队教学,兴趣导向

基于CDIO教学理念,课程设计采用ACM团队竞赛模式,以三人为一小组,九人为一大组进行分层化教学。ACM竞赛不仅要求学生具备足够的程序设计知识,而且更注重学生团队协作和共享,以此为契机,有利于学生综合能力的培养。授课教师在理论知识点讲解过程中以程序设计竞赛中的特定案例为构思,循序渐进地引入问题中涉及的学科知识点,包括高等数学及概率论统计等相关理科专业知识,这对于授课教师的能力也有一定的要求。案例讲解完,还需设计相关的竞赛例题来帮助学生巩固所学内容,激发学生的学习热情和学习兴趣。

⑵ 开放环境,拓展提升

由于一般高校在安排计算机类主修课程的过程中,更多考虑的是让学生夯实理论知识,因而,上机实践课程安排的较少,导致学生动手编写程序的能力尤显不足。CDIO教学理念强调学生的实践教育,对无法在课堂完成的上机操作内容应借助于线下平台完成,让学生能在课余时间充分发挥学习自主性,将课堂上所学内容进行及时巩固和记忆。而授课教师需以程序竞赛为驱动,布置更贴近生活和生产实际的趣味性较强的程序设计题,在线下的OnlineJudge系统(自动测评系统)中提供给学生学习和实践的内容,由此充分调动学生的学习积极性和主动性。对待难点,应更多的依靠学习小组去解决,加深学生的团队意识。根据分层化后的不同小组,授课教师依据课程内容的难易程度划分为基础语法实践课、综合实践课以及竞赛设计实践课三大类,分组施教,采用模块化教学,引入四步走教学模式,即“设计问题-理论分析-提出方案-实践验证”,全面丰富课堂的教学内容,系统化地提升学生解决实际问题的逻辑思维能力和动手实践能力。

4 结束语

通过对基于分层模式的CDIO教育理念在程序设计竞赛课程中的理论和应用研究,我校已取得了较好的研究经验和成果,在2018-2019年上海市以及全国各大程序设计竞赛中取得了多项一等奖,且计算机专业学生在科研方面也取得了一定的创新成果。以此为契机,今后我校将进一步加大学科竞赛与日常教学相互结合的师资投入,优化程序设计类课程体系,建设特色学科课程群,以专业人才培养为导向,以专业学科理论知识为补充,以提高学生创新能力为目标,加强师生之间以及学生之间的交流与沟通,争取进一步提升课堂教学效果。

参考文献(References):

[1] 李环.基于ACM竞赛的程序设计类课程教学改革研究[J].计算机教育,2016.3:115-118

[2] 于希山.分层教学模式的研究与实践[D].辽宁师范大学,2005.

[3] 穆胜.未来是创客平台的天下[J].中外管理,2015.1:36-40

[4] 梁霄.淺析CDIO 理念在《计算机应用基础》课程教学中的应用[J].课程教育研究,2015.22:113-114

[5] 曾晓辉,文展,付琳.CDIO模式下的数据结构教学体系探索[J].计算机教育,2015.2:36-39

[6] 朱丽.创客是新一轮工业革命的先声[J].中外管理,2015.1:51.

猜你喜欢

课程体系创新能力
高中数学课堂教学中创新能力的培养
创新能力培养视角下的无机化学教学研究
推进软件产业创新能力提升
以创新课程体系引领学生发展
民法课程体系的改进和完善思路*——以中国政法大学的民法课程体系为例
基于创新能力培养的高职音乐教育改革探讨
加强青少年中医传统文化教育的必要性及其课程体系构建
论普通高校国防教育课程体系的构建