APP下载

深度教学模式在程序设计类课程中的应用探讨

2015-11-17陈根浪朱朝艳宋光慧

关键词:程序设计编程深度

陈根浪, 朱朝艳, 宋光慧

(浙江大学宁波理工学院, 浙江 宁波 315100)

深度教学模式在程序设计类课程中的应用探讨

陈根浪, 朱朝艳, 宋光慧

(浙江大学宁波理工学院, 浙江 宁波 315100)

针对程序设计类课程知识点多、语法抽象难解、课程目标单一,导致学生学习积极性不高、学习效果不佳等问题,本文在深度学习理论的基础上,探索了一套适用于程序设计类课程的深度学习方法。整个过程对深度学习路线进行细化,以教学信息化平台辅以支撑,并结合实际课程的教学过程对深度教学模式进行评估完善。最终效果表明,采用深层次的教学模式,能有效形成教学相长的良好氛围,提高程序设计类课程的教学效果

深度教学;浅层学习;实践教学;计算机教学

一、引言

程序设计类课程是计算机专业非常重要的一类必修课程,该类课程不仅要求学生掌握较为扎实的理论基础、具有较强的软件编程能力和应用开发设计能力,具备将计算思想与工程实践两者有机结合的能力,掌握深度思考和快速学习的能力。但该类课程普遍存在知识点多、逻辑结构不强、语法抽象难解、课程目标单一等特点,学生往往存在对概念理解不够清晰、无法掌握概念间的内在联系,且学习之后很难将其应用到实际的项目实践中,从而导致学生逐渐丧失对课程和专业的兴趣。

与其他领域的课程相比,计算机类课程具有内容多、覆盖面广、知识更新迭代快等特点。尤其是新技术、新内容更新速度过快的问题,不仅仅给学生带来了学习上的困难,同时也给教师带来了很大的挑战。在整个教与学的过程中,教师怎样才能确保学生达到对知识的深入理解和持续的学习动力呢?如何帮助所有学生从简单记忆学习转向具有自主获取知识的能力?如何帮助学生具备将信息转化为知识的高级思维能力呢?如何帮助所有学生在学习过程中都能体会到乐趣并取得成功呢?这些已成为当前计算机专业教学中需要认真思考的问题之一。

深度学习是现代教学研究中提出的一个重要方法,该方法力图转换教师视角,重构课堂实践,探索使课堂教学真正实现知识与技能、过程与方法、情感态度和价值观全面融合,能帮助和激励学生进行深刻而卓有成效学习的教学策略与方法。因此,通过引入深度教学模式,从教学要求的目标开放、教与学的过程开放、评价方式的标准开放和评估反馈的模式开放四大方面来改变原有教与学过程中存在的简单记忆学习方法和填鸭式教学模式,将程序设计类课程的教学演变为注重提高全体学生的学习素养,让学生养成积极参与、乐于研究、勇于实验、勤于思考的学习习惯,培养学生自主探究和获取知识的主动思考学习方式,从而形成多种开放式的评价标准和评估反馈模式。

二、相关基础

在国外,Ramsden,Entwistle和Biggs等学者提出了浅层学习和深层学习的相关理论,认为深层学习体现为学习者亲身致力于运用多样化的学习策略把单个的信息与整体的结构相联系,把知识应用于真实世界等,以达到对所学知识的真正理解[1]。美国著名的教学改革专家Eric Jensen和Leann Nickelsen则勾勒出了深度学习的学习方法路线图[6]。它区别于机械地、被动地接受知识、孤立地存储信息的简单学习,更加强调和关注学生积极主动地学习、批判性地学习,要求学生在理解学习内容的完整含义基础上,能学会建立已有知识与新知识之间的内在联系,学会将已有的知识迁移到新的情境中,并能最终做出正确的决策和解决问题。

在我国,传统教学思想中所提及的“学然后知不足,教然后知困。知不足,然后能自反也;知困,然后能自强也。故曰:教学相长也”,实际上正是深度学习与教学策略关系的一种典型阐述。在现代,黎加厚教授认为深度学习是指在理解学习的基础上,学习者能够批判性地学习新的知识和思想,能将新的知识和思想与已有的认知相融合,能够在众多的思想间进行联系并能够将已有的知识迁移到新的情境中,作为决策和解决问题的一种学习方式[5]。

在实际教学中,课堂教学的有效性并不完全取决于教师的教,而更多取决于教师教的方法与学生学习水平的有效结合。学生的学习是多维的,是一个对所学知识、所学能力、情感态度以及价值观等多方面的、整体的重构过程[2]。而深度学习恰是建立在理解学习的基础上,鼓励学生能够批判性地学习新的思想和事实,并融入原有的认知结构中;鼓励学生在众多思想间进行分析和联系,并将已有的知识迁移到新的情境中,做出决策和解决问题的学习。深度学习是一种形成性的、积极运用的、深度的学习。与机械地、被动地接受知识,独立存储信息的浅层次学习相比,深度学习强调了学习者主动的学习、批判性地学习[3]。

程序设计类课程是一类很能锻炼学生计算思维及工程实践能力的课程,很需要学生能自主学习并学以致用,这类课程的特点很适合应用深度学习模式。

三、方法介绍

结合程序设计类课程特点及深度学习方法的内涵,我们探索了一套适用于程序设计类课程的深度学习方法,通过对学习路线进行细化,并以教学信息化手段辅以支撑,最后结合实际课程的教学过程对深度教学模式进行评估完善。具体方法如下:

(1)深度学习路线的制定和细化

根据深度学习方法中的思路,在整个学习方法的路线中设计标准与课程、预评估、营造积极的学习氛围、预备与激活先期知识、获取新知识、深度加工知识及评价学生学习的7个步骤,如图1所示。

设计标准与课程及预评估是深度学习的准备工作,是后期预备、激活先期知识与获取新知识的基础;营造积极的学习氛围是深度学习的必要条件:只有充分调动学生学习积极性和主观能动性,并进行持续刺激,使其长期保持学习兴趣,才能真正使学生自主乐学、爱学、会学,真正实现深层次学习;预备与激活先期知识、获取新知识、深度加工知识是深度学习实施的过程,对学习内容进行有目的地加工、深度地加工,最终让深度学习达到顶点。

(2)信息化辅助平台的支撑

为保障深度学习路线的有效落实,在实施过程中通过建立一整套信息化教学平台来支撑整个过程的执行。整个信息化教学平台包括专业工程训练平台、竞赛式在线训练系统和支持移动学习的社交网络教学平台。专业工程训练平台主要针对具有一定编程基础的提高类课程,以项目管理的方式来实现对项目需求的发布、项目进度的跟踪、项目技术问题的讨论等功能。竞赛式在线训练系统以ACM-ICPC任务驱动模式[4],采用Online Judge形式,主要针对基础编程类的入门课程,跟踪学生在编程学习中的掌握情况,并根据不同学生的掌握情况进行个性化的适当调整。支持移动学习的社交网络教学平台主要完成整个深度学习路线的制定、教学计划及课前预习、课后复习等内容的发布、学习过程中的深度互动讨论等功能。通过这一套以信息化手段来支撑深度学习路线图的教学平台,从而实现了深度学习模式的规范性和可行性。

(3)方法的迭代完善

结合实际教学过程,通过评价学生的学习来评价学生深度学习的最终结果、发现深度学习模式的不足,并进一步改进整个学习和教学过程,使得整个方法能循环迭代,不断的完善改进。

四、实施过程

围绕深度学习路线图,在整个过程中针对备课机制、讲课模式、学习过程和评估方式四大部分进行了较大调整,具体如下:

(1)备课机制:充分了解和标准制定

深度学习路线的第一个步骤是设计标准与课程,在此环节中,教师必须了解在标准与课程中所规定的内容和技能,必须充分了解教学目标以及它们彼此间的联系,这是后期预备、激活先期知识与获取新知识的基础。

(2)讲课模式:是引导而不是灌输

传统的灌输式、填鸭式的讲课模式使学生的学习积极性得不到调动,学习兴趣得不到激发。因此,讲课模式要求更强调启发式、问题导向式教学,更注重学生高级思维能力的培养。不仅在前期设计教学单元时,做到教学单元之间的相互联系,而且在一个教学单元中,也通过设计环环相扣的问题设计来组织课程内容,持续激发学生兴趣。

(3)学习过程:丰富的教学策略

为了充分激发学生学习的积极性和主动性,整个过程中采用了丰富的教与学互动的策略:

任务驱动式的实践教学法:该方法最根本的特点就是“以任务为主线、教师为主导、学生为主体”,所有的编程练习都以任务的方式提交给学生,每个任务都隐藏相应的理论知识点,学生通过完成任务一方面带动了理论知识点的自主学习,另一方面获得了满足感、成就感,从而激发了他们的学习兴趣,大大调动了他们的主体能动性。这种实践教学模式改变了以往“教师讲,学生听”,以教定学的被动教学模式,创造了以学定教、学生主动参与、自主协作、探索创新的新型学习模式,培养学生的分析问题、解决问题的能力,提高学生自主学习及与他人协作的能力。任务驱动的实践教学模式能够很好地帮助学生自主学习,并在学习过程中完成知识点的掌握,最终实现预定的教学目标。这个过程也是深度学习路线中预备、激活先期知识与获取新知识的良性循环过程。为了达到进一步将所学到的知识点应用到实际的项目实践中,一定程度后将逐步调整为以项目为主导的工程训练模式,这样能更好地帮助学生实现学以致用,持续刺激和调动学生学习的兴趣和成就感。

竞赛式在线训练系统的引入:在线训练系统的实现是任务驱动式教学模式的基础。如果仅仅是把知识点散步到任务中,而对任务的完成情况没法很好跟踪,则仍会造成学生的学习兴趣迅速流失的局面。而在线判题系统通过后台成百数千的测试数据测试学生写的程序,迅速给出判定结果,这符合绝大多数人的求胜心理。很多学生感觉完成任务很有成就感,就是这成就感成了学生持续地学习程序设计语言的动力,最终达到学习目标。

支持移动学习的社交网络教学平台的辅助:程序设计类课程无论在初期还是在过程中,学生都会遇到难解的问题,此时如果得不到适时的回应与解答,将会大大挫伤他们学习的积极性,为此,引入基于教学的社交网络平台,这极大地方便了教师与学生、学生与学生之间的沟通和交流,同时平台支持的众多辅助教学的功能及支持移动学习的功能也将持续提升学生的学习兴趣[7]。

(4)评估方式:注重与学生情感上的沟通

在评估中,一方面,采用练习、作业、考试、答辩等多种方式结合的评价方式,形成过程性的、科学的、注重能力导向的评价模式,而非终结式的评价方式;另一方面,注重与学生情感上的沟通和交流。对于程序设计类课程在初期入门阶段尤为重要。通过在入门前期,及时回复并帮助解决学生在学习中遇到的问题,能提升学生的学习成就感和学习积极性,使其不致因受挫而萌生退意;教学过程中通过现场交流、网络社区互动等形式收集学生的学习进度及学习过程中产生的情绪,及时沟通,并及时有效地调整教学进度。

总之,整个过程的最终目标是:通过培养学习者积极的态度、良好的计算思维,以及形成教与学两者之间的互动情感交流,实现三者的有机融合,从而真正形成教师与学生互动的深度学习模式。

五、效果评价

整个深度教学模式的最终目的是提升学生的编程能力、自主学习的能力和自主解决问题的能力。学生编程能力主要从C语言编程水平的测试情况来体现,而自主学习和解决问题的能力则主要通过专业工程训练平台中所体现的学习和问题解决数来评估。

(1)学生编程能力的评价

C语言编程水平的评价主要分成四部分:常规周测试x1、中期编程测试x2,理论知识测试x3和终期编程测试x4,最终评价结果采用下式计算:

式中φ1,φ2,φ3,φ4为四个可调整参数。目前φ1= 0.1,φ2=0.2,φ3=0.3,φ4=0.4,后续可以根据情况进行适当调整。

表1 2012-2013学年编程能力评价结果

表1是首次采用深度教学模式的2012-2013学年的C程序设计考核数据。考虑到后续的教学均采用了该教学模式,而在2012-2013学年处于探索阶段,因此相应数据的对比性更强。在表1中共有四个平行班级,其中CS121、CS122从学期开始就采用了该模式,CS123从学期中间采用,而CS124完全没有参与整个过程。从表1的结果,可以很清晰的看出采用深度教学模式后的效果。

(2)自主学习和解决问题能力的评价

自主学习和解决问题能力的评价主要从学生提出问题数量Φ(x)、帮助回答问题数量ψ(x)以及参与讨论的数量P(x)三个因素来考虑,最终的能力评价公式见公式2。

S(x)=αΦ(x)+βψ(x)+γP(x) (2)

式中,α、β、γ为三个可调整参数。

依据实际解决项目问题的能力及工程训练平台积累的2653条数据进行关联分析后,分析结果如表2所示。

表2 工程训练中学生提问、回答和讨论情况

从表2可以看出,学生提出问题数量Φ(x)、帮助回答问题数量ψ(x)以及参与讨论的数量P(x)在一定程度能反应出学生自主学习和解决问题的能力水平。因此,注重情感沟通的深层次互动教学模式对学生自主学习和解决问题能力的培养是一种有效的模式。

六、结语

通过实施程序设计类课程的深度教学模式,从教学要求的目标开放、教与学的过程开放、评价方式的标准开放和评估反馈的模式开放四大方面来实现教学理念的改变、教学环境的改变和教学方法的改变。将程序设计类课程的专业基础教学演变为注重提高学生学习素养和学习能力的教学;让学生养成积极参与、乐于研究、勇于实验、勤于思考的学习习惯;培养学生自主探究和获取知识的主动思考学习方式。将课堂教学与课堂外的网络教学、移动教学相结合,充分利用网络教学和移动教学的优势,形成一种Anyone、Anytime、Anywhere的开放教学环境模式。总之,采用深层次的教学模式,能有效形成“教学相长”的良好氛围,能让学生在课堂内和课堂外均能做到沉浸于积极主动的深度学习之中,增进和支撑学生在学科领域中超越浅层理解水平的进步,使学生变得更加愿学、乐学、好学、会学。

[1]叶晓芸.论浅层学习与深度学习[J].软件导刊,2006,(2).

[2]高 文.情境学习与情境认知[J].教育发展研究,2001,(8).

[3]张 浩,吴秀娟.深度学习的内涵及认知理论基础探析[J].中国电化教育,2012,(10).

[4]朱朝艳,陈根浪.基于ACM-ICPC的C语言程序设计实践教学改革[J].安徽电子信息职业技术学院学报,2013,(2).

[5]胡 丹.促进深度学习的教学策略研究[M],2011.

[6]Jenkins,T.,On the difficulty of learning to program,Proceedings of the 3rd Annual Conference of the LTSN Centre for Information,2002.

[7]Chen G,Wen S,Yang J,et al.Building an Experimental Platform for Cloud and Big Data Education[C]//2014 International Conference on Education Reform and Modern Management(ERMM-14).Atlantis Press,2014.

(责任编辑:卓 如)

G642.0

A

1671-802X(2015)06-0037-05

2015-11-12

陈根浪(1978-),男,浙江浦江人,副教授,博士。研究方向:机器学习,并行计算。E-mail:315100zhouyongwuxi1980@126.com.

浙江省课堂教学改革项目(kg2013520);全国教育信息技术研究“十二五”规划课题(136231144)

猜你喜欢

程序设计编程深度
四增四减 深度推进
深度思考之不等式
医学专业“Python程序设计”课程教学改革总结与思考
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
基于Visual Studio Code的C语言程序设计实践教学探索
纺织机上诞生的编程
从细节入手,谈PLC程序设计技巧
简约教学 深度学习