APP下载

基于沉浸体验式教学的编程课程改革与实践

2019-05-24吴懋刚苏春芳

计算机教育 2019年5期
关键词:程序设计体验式编程

屠 莉,吴懋刚,苏春芳

(江阴职业技术学院 计算机科学系,江苏 江阴 214405)

0 引 言

当前,在高职学生生源数量和质量下降的背景下,学生的综合学习能力不强;而编程课程逻辑性高,实践性强,传统的教学模式已经不适应现在的教学环境。因此,在编程课程教学中,教师“教”和学生“学”的体验性都不佳,学生学不好,教师教不好,教学质量低,尤其学生在编程学习中经常出现习得性无助现象,大大影响了学生的学习兴趣和后续学习。如何引导计算机相关专业学生的编程思维,提高学生的编程兴趣是编程类课程教学改革的关键问题。沉浸体验式教学模式基于沉浸理论,可以大大激发学生的学习兴趣,让学生主动学习,提高学习效率。通过对3门编程类课程重新组合、设计,对教学内容和教学模式进行改革,合理组织教学资源,构建教学情境,递进式进行沉浸体验式教学,适应教学对象的特征,引导他们培养编程思维和兴趣,尽快学习入门。

1 当前高职生源和学习状况

1.1 高职生源质量下降

2008年我国高考人数达到峰值1 050万人,近几年逐年呈下降趋势,在2017年达到谷底。随着本科招生人数上升趋势,高职院校的生源数量逐渐减少。随着生源数量的减少,单招、注册招生等多元化生源结构,直接导致生源质量的下降。

1.2 习得性无助现象

习得性无助行为是指个体经历多次失败和挫折后,自我评价会相应下降,动机水平也会减弱,面对问题时产生的无能为力的心理状态和行为。具体表现为认知无助、归因无助、情绪无助和行为无助4个方面[1]。

不同的生源导致学生的素质参差不齐,目前高职院校的不少学生学习态度不端正,求知欲望不强,存在厌学情绪,不肯学、不想学,没有学习主动性。由于多种原因,当前部分在校大学生在学习中存在着习得性无助现象,这种习得性无助,严重影响了他们自身的学习状况和学业成就。

2 沉浸体验理论

沉浸理论[2]( flow theory)是由芝加哥大学心理学教授Mihalyi Csikszentmihalyi 首先提出。该理论认为当人们在进行某些日常活动时,完全投入情境当中,集中注意力,并且过滤掉所有不相关的知觉,进入一种沉浸的状态。

体验式学习理论(Experience Learning Theory)是20世纪80年代由美国人大卫·库伯提出。他提出有效学习应从体验开始,进而发表看法,然后进行反思,再总结形成理论,最后将理论应用于实践当中,也就是体验式学习模型。

沉浸体验( flow experience)是指个体将精力全部投注在某种活动当中以至于无视外物的存在,甚至忘我时的状态。它带来的内在满足感能使人们在从事任务时满怀兴趣,忘记疲劳,不停探索,不断达到新的目标。此时个体的创造性和潜能将被极大地激发。目前大部分编程类课程教学模式单一传统,内容枯燥,很难引起学生的持久性学习兴趣;而沉浸理论中特别强调的是学生的主体体验。体验式教学模式可以大大激发学生的学习兴趣,让其主动去学习新的知识以及寻求问题的答案,真正提高学生学习主动性,而沉浸理论的关注点正是如何激发学生学习兴趣,让其通过学习新的知识获取内在满足感。所以说,沉浸理论对于真正实现体验式教学模式起着关键作用。

3 基于沉浸体验式教学改革实施过程

3.1 基于沉浸体验的教学设计

程序设计类的基础编程课程一直是计算机相关专业的必修课程。一般高校会开设编程语言类课程,如C语言程序设计来帮助学生掌握基本的编程思想、程序设计开发能力以及动手实践能力;同时培养学生养成良好的学习习惯和学习兴趣,为其后续其他专业课程的学习打下良好的学习基础。然而,当前此类课程普遍授课内容枯燥,授课形式单一,难以引起学生的学习兴趣,教学效果不佳。因此,将沉浸体验理论应用到编程类课程的教学改革中。

首先,要构建适合沉浸体验学习的教学内容和环境。选取仿真机器人应用开发、程序设计入门以及嵌入式机器人编程3门课程进行串联融合,培养学生的程序设计思维和能力。这3门课程都是比较基础的入门课程。以往,3门课程的教学相互独立,没有衔接过渡,学习分散,大一新生在编程入门学习时没有整体认知和体验。因此,对课程重新设计,将3门课程整合为一门课程的3个阶段模块,如图1所示。其中,仿真机器人应用开发课程主要培养学生的程序设计思维,通过仿真机器人讲解基本的编程思路,并通过比赛来加强学习效果。程序设计入门主要培养学生的程序设计能力,以C语言作为入门语言,掌握C语言程序设计开发能力,起到了承上启下的至关重要的作用。嵌入式机器人编程则是在前两门课的基础上引入Arduino实验开发平台,进行真实机器人的应用开发,进一步提高学生的编程兴趣和编程实践能力。

图1 基于沉浸体验式教学的编程课程教学设计

其次,为了更好地让学生进行沉浸体验式学习,对3门子课程配套合适的辅助教学平台,可以大大激发学生的学习兴趣,投入到每个任务学习中,并体验不同的学习环境,获得较好的学习体验感。

在仿真机器人应用开发课程中,引入RoboMind游戏平台。该游戏平台中提供了很多游戏地图,学生通过机器人遍历地图的形式进行闯关,学生在玩游戏的过程中掌握编程的基本思路和简单指令,并能够设计简单的算法。学生在每一个游戏闯关中可以沉浸体验,全身心投入,并能够大大引发编程兴趣。由于游戏难度适中,学生在沉浸体验式学习和游戏中获得了很大的满足感,激发了学习状态。基于该课程,还举办了“Imagin Cup”编程大赛,进一步激励学生的学习兴趣和自信。通过第一阶段的学习,学生具备了基本的编程思维和程序设计思想。

第二阶段程序设计入门课程作为3门子课程的核心课程,教学内容涉及C语言编程相关知识,内容枯燥,难教学。因此,本课程打破传统程序设计的知识点体系,引入“机器人智能系统”项目来组织贯穿教学内容。通过“项目导入,任务驱动”,学生在解决每个任务的过程中沉浸体验,在对任务的设计中,老师注重难度,让学生获得较好的学习体验。同时,自主开发了游戏仿真平台进行辅助教学。游戏以机器人太空探险为背景,设计了一系列的任务,将教学中的重点和难点内化到游戏中。不同于相对简单的RoboMind游戏,该游戏平台功能更加复杂,任务的设计更有针对性,可以让学生更好地理解教学中的重点和难点。

通过前面两门课程的学习体验,学生已经具备了编程思维,掌握了编程语言和基本的编程能力。在接下来的嵌入式机器人编程课程中,学生将体验不同的学习环境,沉浸到真实的编程任务中。该门课程引入Arduino实验开发平台,老师基于开发板,设计一系列有趣并难度适中的任务。学生需要自己动手将开发板进行二次开发,实现相关功能,如让灯亮起来,警报响起来,传感器工作起来,机器人跑起来。在这样的真实任务中,学生获得真实的学习体验,将进一步激发他们的学习热情和自信。

沉浸理论[3]中提到,个体能够完全投入其中,获得最大满足感的必备条件有:个体的技能与挑战之间达到平衡,全神贯注投入,有明确的任务目标,个体不断得到反馈,能控制任务进程。因此,在每个任务的设计中,老师们都尽量考虑到任务的难度适中,任务目标明确,做到互动,可以让学生最大程度的沉浸其中。

通过3门课程的串联融合,学生在3个阶段的学习中获得了递进式的学习体验,不仅进行递进式的知识学习,也获得递进式的能力提高。实践证明,该模式符合学习规律,学生对编程有了系统性的认识,更深的理解, 产生了很大的学习兴趣,建立了学习自信,降低了学习无助感。

3.2 沉浸体验式教学实施

三门课程在教学实施中,遵循“总体串行,部分交叉,体验持续”的原则,如图2所示。3门课程的学时数分别是32、64、32课时。第一阶段由仿真机器人应用开发课程先上,学生在慢慢体验简单游戏的过程中,掌握基本编程思维。当上到接近尾声的时候,第二阶段的程序设计入门课程接上,学生可以沉浸到另一种学习环境中。同理,当第二门子课程上到一大半的时候,会缓慢过渡第三门课程的学习。3门子课程在教学实施中适当交叉串行,可以让学生持续体验不同的学习环境,且过渡平缓,让学生能够顺利地完成学习难度的递进,编程能力的提升。

图2 沉浸体验式教学实施

3门课程作为一个整体,整体教学实施中遵循沉浸体验式教学。沉浸理论分为全部沉浸和部分沉浸[4]。第一阶段采用全部沉浸体验,学生在每个游戏任务中完成学习。第二阶段采用部分沉浸体验,一半的理论课堂采用翻转课堂形式授课,辅助超星在线课程资源平台,结合线上线下多种混合教学模式,让学生在完成教学项目任务的过程中掌握相关编程知;另一半课堂依托自开发的仿真游戏平台进行部分沉浸体验学习。第三阶段也采用全部沉浸体验教学,学生在亲自动手完成嵌入式机器人项目的相关任务中,完成编程实践,提高编程能力。

3.3 沉浸体验式教学评价

通过对两届学生的教学改革实践,教学效果得到了很好的验证。

(1)学习状态有效改善。以往,学生上课经常会出现玩手机、睡觉、迟到等现象,老师上课经常抓不住学生的注意力,尤其是程序设计入门课程,教学内容逻辑性强,语法枯燥,很难引起学生兴趣。经过这种沉浸体验式教学改革,学生在课堂上的精神状态明显改善。在第一阶段的仿真机器人应用开发课程中,学生在游戏学习中培养了浓厚的学习兴趣,并将这种学习热情带入到第二阶段的程序设计入门课程。而第二阶段以Siri为原型的机器人智能系统的教学项目的学习和实践又成功抓住了学生的眼球。以前不感兴趣的枯燥学习,现在都十分投入,积极体验,完成每一个学习任务,做到了在玩中学的体验。当学生经过第二阶段的强化学习而具备一定的编程能力的时候,学生会在第三阶段中表现出跃跃欲试。所有学生都参与到嵌入式机器人编程的课程学习中,通过动手实践,进一步提高自己的动手实践创新能力。因此,在整体3门课程的阶段性学习中,学生上课懒散,缺勤现象几乎不再出现,学习状态较以往有了很大的改善。

(2)学习兴趣大大提高。以往学生学习消极被动,没有兴趣驱动,学习没有积极的延续性。而经过阶段性的递进学习体验,学生的学习兴趣会不断增长,尤其到了第三阶段,学生可以动手完成组装机器人,运用学过的编程知识对机器人功能进行设计和开发,获得很好的成就感。最终,部分学生会不满足上课时间,课余时间会自己积极主动地进行自主学习,完全沉浸其中。这种学习兴趣会持续性地影响到后续课程,实践证明,在接下来的专业学习中,大部分学生都能保持这种学习兴趣和学习热情。较于以往,学生学习兴趣的培养和保持也给专业教学起到了积极的作用。

(3)教学考核效果良好。通过教学改革,我们的课程考核形式更加注重过程考核,侧重学生平时的参与度和体验度。我们在3门课程的阶段性实施中都增加了平时分的比例,并在平时考核中侧重过程表现、平时任务完成情况。并在最终的综合评价中引入项目答辩环节,考查综合素质。实践证明,3门课程的通过率都达到了90%以上,而优秀率较以往有了很大的提高。

(4)教学成效显著。经过3门课程的沉浸式体验教学改革,学生在每门课程的阶段性学习后都完成了相应的教学任务,取得了不错的教学成效。在仿真机器人应用开发课程学习后,学生最终将完成30多个地图的游戏训练。此外,依托课程,学生还将参加与企业合作举办的“Imagin Cup”编程大赛,部分学生取得各类奖项,得到了很好的教学效果。而在程序设计入门课程学习结束后,所有学生将完成机器人智能管理系统的基本功能,同时每位同学还需完成2个以上的拓展功能,并最终答辩通过。较于以往,学生的代码全部完成,并有自主拓展,效果良好。在接下来的嵌入式机器人编程课程中,每位学生最终要完成巡线机器人,包括温度、湿度、灰度传感器的使用,并现场评比。同时,也会选拔部分优秀学生参加一些专业技能大赛,如全国大学生机器人RobotAC大赛等。学生在这些比赛中表现不俗,专业技能得到了进一步的锻炼和提升。

4 结 语

针对当前高职生源质量下降,基础编程类课程教学难,学生学习兴趣不高,难入门的现状,将3门课程整合进行重构、序化,开展递进式的沉浸体验学习,将沉浸体验理论应用到编程类课程的教学改革中。以机器人游戏为主线,配合辅助游戏教学平台,分解教学游戏任务,从玩、学、开发3类体验中不断提高学习兴趣和编程能力。以江阴职业技术学院计算机软件技术专业为试点进行基于沉浸体验式教学的编程课程改革,实践证明,学生获得了良好的学习体验,实现了教学改革的目的。今后,还需要将沉浸体验式教学模式进行深入研究,并应用到其他课程教学改革中。

猜你喜欢

程序设计体验式编程
基于SolidWorks和VBA的电机阶梯轴建模程序设计
体验式教学法在高中数学教学中的应用
医学专业“Python程序设计”课程教学改革总结与思考
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
浅析水墨画体验式学习的教学策略
从细节入手,谈PLC程序设计技巧
学编程,先画画
体验式教学理念下高中排球教学的实践探讨