APP下载

基于“学习成果导向”理念的教学研究
——以C 语言程序设计课程为例

2020-04-03张翠平

计算机教育 2020年3期
关键词:程序设计导向成果

张翠平,赵 晖

(1.北京信息科技大学 计算机学院,北京 100192;2.北京交通大学 交通运输学院,北京 100044)

0 引 言

近年来,随着专业人才国际流动性的增强,基于“学习成果导向”(Outcome Based Education,OBE)教育模式已得到国内外越来越多的高校的认同。“学习成果导向”理念强调包括教师在内的教育者必须在进行教育前,就对学生毕业时应达到的能力及其水平有清楚的认识,从而设计相应的教育过程来保证学生达到预期的目标。这就要求我们以学习成果为导向,以学生为中心,从重知而轻行向知行合一进行转变,加强“学习成果导向”教学理念,为建立与国际接轨的教学质量保障体系奠定基础。虽然当前发达国家对于“学习成果导向”的教育模式有着不同程度的研究,但是由于教育模式与文化背景不同,这些研究对我国高等教育并不具有足够的指导意义。因此,分析基于“学习成果导向”理念的教学设计目标与过程,探索“学习成果导向”理念的内涵和外延,开展教学改革,探索我国高等教育存在的问题及其解决方法,能够为我国高等教育教学改革与创新提供有益的参考。

近年来,我国高校在推进“学习成果导向”理念的教学模式改革中取得了一定成效,并在教学理论上有所推进[1]。以解析技术创新相关概念为基础,杨毅刚等对比了高校创新与企业技术创新的区别,分析了高校当前创新培养模式与企业实际技术创新需求的差距,基于“学习成果导向”理念的教学模式,对高校理工科学生的技术创新能力培养提出了建议[2]。刘锴和孙燕芳结合高校教师目前普遍存在的教学设计固化、互动教学能力较弱等问题,基于学习成果导向教育理念设计了高校教师培养路径[3]。柏晶等立足“互联网+”时代人才培养需求,以学习成果导向教育理念与建设性后现代哲学为指导,构建了基于学习成果导向教育理念的在线开放课程资源结构模型[4]。李定珍等参照企业的要求清晰定位出高校学生创新能力培养目标,构建了创新方法的实践教学以及学习成果评估体系,对学生创新能力进行评估[5]。

可以看出,虽然当前国内外学者对学习成果导向教育理念进行了较为深入的研究,但对基于学习成果导向理念的基础课程教学及相关讨论有待深入,对基础课程进行教学改革迫在眉睫。而在高校计算机基础课程的设置中,C 语言程序设计是大学生计算机素质教育的重要组成部分,对于培养学生解决复杂工程问题的能力和创新创业能力至关重要。

1 传统教学模式下C语言程序设计课程存在的问题

首先,教学目标不够明确。在教学中存在着“重语法,轻算法”的现象,导致学生动手能力差,达不到应用计算机解决实际问题的目的。在这种错误思想的指引下,学生更容易被抽象的编程思想和单调的语法规则迷惑,无法有效把握学习重点。但实际上,C 语言程序设计这门课程中,相关算法的学习至关重要。它不仅对学生的逻辑思维能力培养有所帮助,更有助于锻炼学生解决计算机实际问题的能力。如果学生不能很好地理解和掌握这门课程中的算法,必然导致学生的学习成果难以达到要求。

其次,教学方法和教学手段不够先进。当前,C 程序设计课程教学主要以课堂讲授和课下上机结合的方式展开。课堂教学环节大多数教师采用的都是“满堂灌”的授课方式,老师讲得非常辛苦,而学生能够获取多少知识则无法保证。虽然在这过程中可能以MOOC 等形式予以补充,但是在没有学习成果导向的指引,所采用教学方法的效果则无法完全实现。而课下上机的时候,所布置的编程作业与实际问题结合不够紧密。如果不能以学习成果为导向,其上机练习的效果也会大打折扣。

最后,教学内容及安排顺序有待梳理。当前,C 语言程序设计课程受课时限制,教学内容中后半部分的指针、结构体等核心内容很难从容展开。但是众所周知的是,作为C 语言中的基本数据类型,指针极大地丰富了C 语言的功能,是C 语言最为重要的特点之一。实际上,这部分内容直接作用于就业创业,是学习成果导向的重要应用内容。只有以学习成果为导向,才能对这部分原来不够重视的课程内容予以加强,来迎合新教育时代的到来。

2 基于“学习成果导向”理念的课程教学框架

在“学习成果导向”理念的框架中,要重视学生在现阶段以及毕业后的学习成果,主要包括课程教学模式、课程体系内容、课程应用于实践扩展以及课程评价与反馈4 个主要层面的内容。图1 所示可以对OBE 教学理念与基础课程教学模式、课程体系与内容、课程评价与反馈、课程实践与应用扩展之间的相互关系进行初步的描述。

图1 基于“学习成果导向”理念的计算机基础教学改革模式

首先,在进行教学模式设计时,以学生的实际需要出发点开展教学工作,使得学生通过无论是课堂学习还是课下复习的过程都指向同一个目标,即最终获得相应的学习成果。因此在梳理课程体系内容的时候,必须分清学习课程之前具备哪些知识点,如C 语言前驱课程知识是否满足该课程的开设要求等。有的学生计算机专业基础较好,有的学生恰好是与之相反的状态,这些都可能会直接影响课程的理解。

其次,课程体系内容是保证学生学习的主要保障。计算机基础课程具有学习内容多、涉及方面广的特点,其课程体系内容不仅有计算机理论的部分,还有计算机的实际操作,因此对于教学课时和计划安排有着较高的要求。只有综合理论和实际操作两个方面,积极引导学生能够对知识更加全面的了解,积极引导学生自主思考,使得学生能够真正地运用计算机的相关知识和技术处理实际工作或者生活中的一些难题,通过计算机的实际教学才能够帮助学生提高计算机方面的认知能力,获得良好的学习成果。

再次,课程实践与应用扩展是学习成果的导向思路。实际上,要逐渐将学习成果作为整个课程的发展目标,通过实践教学以项目课程作为计算机基础课教学的必要补充。此外,以实践性的课程教学环节为手段,对目前计算机行业的发展趋势以及未来的前进方向进行分析,在教育教学的内容中融入现当代社会发展当中相对前沿的知识和技术,将课程实践与应用扩展与时代接轨,与社会的发展相融合,不断提高课程实践内容的时效性,才能将实践与理论紧密结合、相互协调、相互支撑,从而搭建良好的课程教学系统,促进计算机基础课程教学的快速发展。

最后,课程评价是学习成果导向的发展向导,是课程建设与发展的引领性力量。作为提升学习成果的有效机制,课程评价与反馈能根据评价反馈,及时、有效地了解评价过程获取的学习成果目标是否实现,通过评价能够有效推动学生创新创业能力的培养。因此,课程评价与反馈是对学习成果做出价值判断的过程,是对学习成果进行诊断、纠偏的重要手段,也是调整教学模式与方法的主要依据。因此,构建客观、科学而完善的优质课程评价体系与评价机制,是学习成果导向的具体体现,也是提高高等学校计算机基础课程教学水平与学生专业素质的保证。

3 基于“学习成果导向”理念的教学实施方案

基于“学习成果导向”理念,结合社会对专业人才的实际需求,从学生自身基本特征出发,以学生为中心教育改变传统的考核机制,用“学习成果导向”理念改革传统的基础课程教学模式,健全课程体系内容,通过课程实践与应用扩展培养和提高学生的综合业务能力,在课程教学中注重学生综合实践能力的多样化评价考核标准,注重提高学生积极性和主动性,其具体的教学实施方案可设计如下。

首先,在教学目标方面,以学习成果导向为出发点,重新确定课程培养目标。人才培养与社会需求零距离对接是当前教育的关键所在。确定计算机专业人才培养目标,应考虑当前需求与长远需求相协调,多样性的需求与人才培养定位相匹配。在制定人才培养目标并予以实施过程中,既要反映工程能力、职业需求,又要反映我国人才培养的目标要求以及身心素养方面水平的提升。实际上,计算机领域对专业人才的实际需求是确定培养目标的重要因素,因此,可以强化理论与实践的紧密结合,以通识教育为主,重点掌握计算机基础知识和应用能力,特别注意学生学习能力、科研能力、工程研究能力和创新能力的培养,以培养具有专业水平的高层次技术人员为基本目标,制订符合学科特点和人才培养目标的培养方案并进行相应的课程内容设置,以满足学习成果的导向需求。

在教学内容方面,则强调以学生为中心的针对性过程教学。在C 语言程序设计课程教学的改革过程中,从学生出发,依据学生的个体特征,改变传统的以教师讲授为主体的教学方法,转变为引导学生、提升学生能力的导向性教学方式。通过问题提出、课前自主预习、程序案例分析、学生小组讨论、学生总结、教师讲解与总结等几个步骤不断提升学生参与课程、参与课堂、参与程序设计的自主性和探索能力。在理论讲授中,要求学生切实掌握程序设计的基础理论知识,在理论讲解的过程中,融入与解决实际问题紧密联系的相关程序,研究解决问题的方案和步骤。同时,及时增加实践性上机操作课程,让理论学习得到实际的理解与应用。此外,可以通过设定学习小组,注重小组成员间的相互沟通与协作,提升小组发现问题、解决问题、总结经验的能力,充分调动学生自主学习的能动性和实践性,不断提升学生的专业能力与实践操作能力。

在教学形式方面,以兴趣为引导,提升学生的综合能力。有兴趣的学习能够很好地提升学生的学习能动性和学习效果。基于此,可以在课堂中从学生个体出发,鼓励学生开动脑筋多思考,对有创新型想法的个体更要及时捕捉并给予鼓励;在课下上机的过程中,则可以结合自主的学习内容,采用任务驱动教学法、融合问题教学法与案例教学法,让学生带任务、带问题进行上机,并对学生上机时间进行指导和监督,以此调动学生学习的主动性、积极性。除了课堂教学和课下上机以外,还可以以学生兴趣为出发点,不断提升学生理解能力、实践能力,注重分析问题、解决问题、协作处理等综合能力的培养。不同的学生个体兴趣点、个人能力都不相同,但是如果针对到具体的问题,则最终只需要通过获得的知识找到解决问题的方法。针对各种各样的解决问题的方法,鼓励学生自我思考评价哪种方法最有效、最简洁、最优。遇到问题能够在小组团队中一起思考、分析,争取内部消化,即使未能消化也能够提出更为简洁的问题求助老师。这样,学生的学习能动性、思考问题的广度、解决问题的思路、编程的经验、实践能力等方面就会逐渐提升,学习过程也会变得生动有趣,进而逐渐进入良性循环的学习进程。

4 基于“学习成果导向”理念的教学设计

基于“学习成果导向”的教学设计理念是由需求决定教学内容,是使得学生通过学习能达到既定的能力要求,教学设计也要明确反映对学生学习成果要求的支撑。依据“学习成果导向”,可以将学习成果分为包括基础技能、综合应用能力和工程实践与创新能力的3 个不同层面。从这3 个层面出发,可以从课堂讲解、实验操作、大学生创新创业项目以及各种学科竞赛为出发点,对C 语言程序设计课程的教学过程进行设计。

首先,基础技能是以知识掌握和动手能力获取为学习成果导向的。以C 语言程序设计课程函数部分为例,这一部分的理论性和实践性都比较强。在课堂讲解时可以综合采用启发教学法、类比教学法,引导学生先从熟悉的数学函数入手,进而引入C 语言中的函数并加以区别,针对C语言中的函数就函数名称、输入、输出、功能独立、代码封装展开论述,使学生对函数有较为深刻的印象。在课下上机时,可以设计一些简单易实现的案例,按照结构化程序设计思想,结合数据的特性,完成函数设计,并在此过程中使学生加深函数作用的理解,体会函数的重要性,并在实践过程中发现自己的知识缺陷,促进、重构现有的知识网络,并且在此基础上增强学习的兴趣和信心。

其次,综合应用能力是以编程实践能力、工程设计能力获取为学习成果导向的。因此,可以在基本实践技能和素质培养的基础上,把最新的、最实用的编程技术、程序设计思想渗透到上机实践的内容中。设计同时具有广度和深度的上机实践内容,并利用开放实验平台,以任务为导向,分层设置实验的难度,做到因材施教,同时鼓励讨论和协作,给学生建立可以自由发挥和研讨,可以充分发挥其能动性和创造性的空间,在掌握知识的同时培养学生项目管理和沟通协调的能力。以C 语言程序设计课程指针部分为例,在课堂上学完指针概念以后,由易到难,进行知识的拓展和延伸,结合上机演示和操作,使学生深入理解指针与数组的不同,并在此基础上设计相应的实际案例,组织学生分组协作,共同完成,并同时引导学生注意其中存在的细节和可能的错误,从而实现对重点难点的突破,并加强综合应用能力的培养。

最后,工程实践与创新能力是以解决工程中的复杂问题以及创新能力的获得为学习成果导向的。因此,可以通过创新实验、毕业设计、学科竞赛等形式对学生的创新意识进行培养,设计知识环节相扣、教学科研并举的创新型实验体系,形成以解决工程中的复杂问题为导向的实验教学过程。解决工程中的复杂问题以及创新能力的获取,是对先验知识的凝练和对未知问题的探索之间进行相互融合逐渐形成的。学生接触到新的复杂问题,会按自己的经验去匹配和对照,在头脑里组成有规律的备选方案,从而进行方案的再造和创新。在C 语言程序设计课程的教学过程中,可以结合ACM 国际大学生程序设计竞赛,通过将竞赛元素融入教学中激发学生学习编程的兴趣。此外,学科竞赛的引入还有助于锻炼学生在有压力情况下解决编程问题的能力,由于其更加贴近于实际工程中复杂问题的产生背景,从而使得学生获得综合工程能力的提升。

5 结 语

当前,我国教育正值深化拓展“六卓越一拔尖”人才计划,大力培养德学兼修的各类高素质人才的高速发展时代,要求我们夯实基础,狠抓落实,全面实现高等教育内涵式发展。而在此过程中,基础课程改革是不可或缺的重要一环。作为高等教育结构中的重要组成部分,基础课程教学是培养学生实践和创新能力的切入点,是保证培养目标的根源所在。随着我国社会和经济的快速发展,“互联网+”、大数据、物联网、人工智能、绿色经济等成为经济增长和科学研究的主要突破点。与此同时,新技术的发展也产生了新的复杂问题。要解决这些复杂的工程问题,就必须要牢固掌握基础知识,而这也正是新工科人才培养模式的根本。将“学习成果导向”理念与基础课程教学的培养目标相融合,以此指导计算机基础课程的课程设计,适应社会行业的发展变化,有助于我国大学切实提高本科生教学质量,更加有利于培养出适合新时代的创新人才。

猜你喜欢

程序设计导向成果
基于SolidWorks和VBA的电机阶梯轴建模程序设计
医学专业“Python程序设计”课程教学改革总结与思考
“偏向”不是好导向
验收成果
基于需求导向的航天青年成长建议与实践
基于Visual Studio Code的C语言程序设计实践教学探索
数说中国—东盟经贸合作成果
从细节入手,谈PLC程序设计技巧
2018数博会4大成果
一张图看懂“论坛成果清单”