互联网时代高职程序设计课程教学研究
——“闭环迭代引领”教学模式的探索与实践
2020-05-05王玲
王 玲
(广东邮电职业技术学院,广东广州510630)
1 高职软件专业程序设计类课程的困局
当前,高职院校软件相关专业培养的毕业生,与企业对高技能应用型软件人才的需求,二者之间存在着结构化的失衡。中小型企业更看重实际操作能力、快速上岗能力。期望校内实训项目的复杂度进一步加强,并贴近企业实际,更好满足中小型企业的“零距离上岗”的期望[1]。企业对高职院校软件技术相关专业的人才需求,主要依次侧重于:综合素质、实践动手能力、专业基础知识。面对高职层面的学生,以及社会对高职学生的应用型的需求,有以下三点需要注意[2]:
1)软件技术,没有更多具体的实物作为参照,编码基本依赖逻辑思维和计算思维完成,这恰恰是高职学生能力的欠缺点,也是高职学生在软件技术专业课中容易出现畏难情绪和学习兴趣逐渐下降的重要原因之一。由此,要针对高职教育的目标,针对高职学生的特点,采用偏重应用和实操的教学设计和内容编排,选择增加教学演示比例、增强具体引导力度的教学方式。
2)在过往的求学阶段中,高职学生群体,有过学习受挫经历的可能性较大,大多不属于成绩优秀的群体,以至于容易产生畏难情绪,遇到困难容易流于不求甚解、回避态度,消极应对作业和考试,存在学习过程中的“挫败思维模式”。这就需要教学中,在具体项目的实现过程,教师以有力的支撑,辅助学生实现产品,激发学生的学习兴趣和对驾驭知识、实现产品的好奇和追求。
3)需要总结过往教学方法中的问题,在提高学生学习兴趣,引导学生主动学习方面,探索新方法,顺应互联网时代的新型信息获取方式和学习方式,培养适合当代学习、工作模式,具有较强学习能力、实践能力的合格人才。
2 程序设计课程常用教学模式分析
人类认知的特点是循序渐进,由学到用,由点到面。由此,当前程序设计课程推出的多种革新教学方式(基于项目、任务驱动、反转课堂等),在教学设计上往往摆脱不了这样的思路:以语言的语法和技术体系排列教学内容,针对每个教学节点辅以相关的练习和实训项目,如图1 所示。常见的教学过程是,从学习知识点到做相关练习,从学习知识单元到做单元项目,后期以课程实训项目、综合实训项目等形式进行综合性训练。
图1 当前常见的程序设计课程教学设计示意图
长期的教学经验反映出这种教学理念的一些值得关注的问题。学生在知识点学习阶段,因为之前既没有接触过也没有应用过,所以较难理解课程所阐述的该知识点的作用意义,处于比较茫然的状态,容易感到枯燥乏味而导致学习兴趣降低;另一方面,知识点案例是针对相关知识点设计的,目的是阐述对应知识点的使用方法,实用性比较低。因此到了做项目的时候,教师往往发现,学生对学习过的知识点没有完全理解、缺乏应用能力,需要重新复习,当然,这种现象本身也是符合认证规律的。不过,教学过程中,应该尽量减少学生的挫败感,提高学生的主动探索的勇气和能力,要自始至终让学生带着明确的目标去学习[3]。
传统的教学内容设计,往往和知识体系的顺序相一致,教学的常见默认前提是首先要有系统的基本知识储备,才有可能运用知识去做练习做项目。然而,知识是在解决问题的过程中累积和梳理的,教学过程可以回归到,在解决问题的过程中去学习去探索。常见的程序设计课程教学模式,存在以下值得推敲的地方:
1)直接进行系统化的知识传递和相对应的专项训练,是貌似高效的教学模式,而对于学习能力、理解能力比较薄弱的学生,这种教学模式,往往并不能“高效”。有可能在专项学习的时候,学生感觉茫然,而在综合项目练习的时候,头脑中堆积的知识和实际问题的解决又是脱节的。在学习的前期和后期环节中,均缺乏正向激励。
2)在知识点传授的阶段,教学顺序基本依照知识本来的逻辑关联顺序,教学案例往往是针对知识点和知识单元进行设计,规模比较小、功能比较单一,缺乏实际应用背景。专门为知识点设计的案例,往往并不能促进学生对知识点真正意义和用法的完整认识。而且,在综合项目阶段之前,学生缺乏自我探索的机会。
3)学生在面对较为复杂的实际问题的时候,缺乏解决问题的方法和思路的训练,不知道如何去获取和利用需要的新知识和新技术。表现为毕业生难以满足对口工作岗位的需求。
而当前互联网时代,知识的获取成本是不高的,教学需要将学习场景贴近实际工作场景,将目标转向重点培养学生面对问题的分析能力和解决能力,对技术有一种“需要感”,培养学生获取并利用知识和技术的能力,培养本专业的工作思维和素质养成。
3 顺应互联网时代学习方式的“闭环迭代引领”教学法
互联网时代的学习方式,具有内容信息化、学习自主化、平等协作化、思维创造化的特点,从单纯被动地接受知识,转变为从主动探索解决问题的过程中获得知识。新时代的学生群体,习惯于在互联网中获取信息,并且未来可能需要倚赖互联网进行终生学习。学校教育应该利用互联网的丰富资源,拓展教学空间,顺应学生互联网时代新的信息获取习惯,引领学生主动学习,培养学生互联网信息搜索处理能力,培养学生互联网时代新型的学习和工作方式,为学生的课程学习打开广度和深度,这就需要变革原有的教学理念和做法。同时,互联网信息海量庞杂,缺乏系统性,学校教育应该为学生指引目标,引领路径,保障监督。在此以高职程序设计课程教学为例,探讨顺应互联网时代学习方式的“闭环迭代引领”教学法。
3.1 项目“闭环”
每个案例都是一个“闭环”的项目实现过程,以提出项目需求为开端,包括从需求分析到实现需求的思考和设计,围绕需要实现的目标,学习相应的知识点,然后应用具体的技术点分步骤进行代码实现和测试,递进地进行项目完善直到实现需求。每个项目设计难度适中,具有基本需求和拓展需求,保证不同层次学生的训练要求。
整个教学过程,由多次项目闭环的重复组成,加强训练,形成专业养成,熟悉本专业工作路径。所有知识点的学习,是以项目目标驱动完成的,便于学生更好理解知识点的应用场景和目的,同时,将之前的被动接收模式转变为主动探索模式。
除了最前期的少量知识准备,其他所有知识点的学习和应用,都是在完成项目的实际应用过程中学习。不会完全按照知识本来体系脉络来编排知识点的顺序,会以项目需求为驱动,重新排列知识点的学习顺序,如图2 所示。
图2 项目“闭环”示意图
3.2 阶段“迭代”
从简单逻辑小案例阶段,到复杂逻辑推动大案例阶段,到综合项目阶段,项目“闭环”过程会多次的做阶段“迭代”。项目规模和难度不断地加深,螺旋式上升。
3.3“引领”自主
系统化知识体系的传授看似高效,但不能让学生有效体验知识点在实际场景中的应用,无法让学生深刻理解知识点的背景和意义。对于思维能力相对薄弱的高职学生,大量系统化知识体系的直接传授,教学效果就会打折扣。部分学生在学习知识点的时候处于比较茫然的状态,在学习过程中容易因为挫败感而失去兴趣。
“引领”自主学习,打破系统化知识体系的结构。以项目需求为驱动,学生在老师的引领下去解决问题、实现需求。直接应用一些没有学到的技术点,在需求背景的驱动中领会技术点的意义、设计目的和使用细节。在老师的引导下,学生自主网络搜索和自主学习。学生在完成项目需求过程中,主动学习和探索,不是被动的接受[4]。
重新排列知识点的学习顺序。把教学过程从学习知识、应用知识的过程,改变为需要知识、发现知识、用知识去解决问题的过程,这是实际工作岗位的工作场景,更加体现当前互联网时代知识获取的特点。教师从知识的传递者变为探索知识的引领者,“引领”学生自主学习从而解决问题,在老师的辅助下学生自行对知识系统进行梳理和总结。
教学内容并不需要涵盖所有的课程内容,当学生具有一定的自主学习能力之后,其他未学到、未用到的内容,完全可以用掌握到的方法去自行拓展。例如,在Java 面向对象程序设计课程中,运用“闭环迭代引领”教学法进行教学,采用的教学内容和教学设计如图3 所示。
图3 “闭环迭代引领”教学法在Java 面向对象程序设计课程中的应用图
3.4 教师角色的转变
教师在整个教学过程中,更多的是一个辅助者的角色,项目的实现目标才是教学真正的引领者,项目实现过程中老师不会事先提醒和避让陷阱,学生经历过各种陷阱之后,对各种规定和规则会有更切实的认识。在探索解决方案的过程中,深刻理解技术点的背景和目的,对技术点有了一种需要感。
对于能力相对欠缺的学生,在每个项目后期,教师会提供项目基本功能的解决方案和编码过程视频,给予这部分学生更具体的扶持。对于有潜力的学生,教师在进一步完成拓展需求的过程中,不断在深度和广度方向拓展。做到因材施教,处于不同层次的学生都能得到适当的引导和锻炼。
3.5 编程环境软件
打破传统的编程初期在弱支撑的编程环境下苦练基本功的做法,前期阶段就直接应用成熟的项目集成开发环境IDE 工具,充分地利用工具的支撑功能,快速实现编程目标,提高成就感。利用开发工具的支撑功能来学习,尤其是大量的编程接口API。降低前期枯燥的基本规则练习和编程接口记忆中,可能产生的挫败感和退缩情绪。
3.6 贴近企业,打造优秀学生开发团队
开展校企合作,使得教学内容更加贴近企业实际项目,企业和学校教育相融合,进一步达到“零距离”上岗。成立项目工作室,在老师的引导下,承接社会实际项目,打造优秀学生开发团队,促进教学,对全体学生起到引领和示范作用。同时可为教学项目准备更真实的素材。
3.7 专业课教学中的育人
高职学生在过往的学习历程中,相对本科学生,有受挫感的机会相对比较多,比较缺乏积极进取、克服困难的精神,缺乏自律能力,容易产生厌学情绪和逃避倾向。采用“闭环迭代引领”教学法,在学习编程的过程中,不仅仅是对学生专业技能的训练,而且是对学生探索精神,迎接未知挑战的习惯,严谨的工作态度和追求完美产品的专业精神的培养。引领学生通过自身的努力,完成项目需求,在这个过程中体会真正的成就感,激发学生内在的追求和探索的欲望,在专业课教学中育人,提高学生的综合素质,使学生受益终生。
4 结论
在互联网时代,知识的获取是低成本的,教育的重心应该从传授知识体系转移到培养搜索获取知识的能力、分析和解决问题的能力、主动梳理知识体系的能力以及专业思维和专业素质的养成。“闭环迭代引领”教学法在教学中以提出需求开始,让学生以解决实际问题为目标,引领学生在技术应用的过程中,更真实地理解技术应用的背景和意义,培养探索知识和应用知识的能力。在教学中,形成对未来实际工作岗位及工作方式的认知,更好地达到高职教学的目标,从专业技能、专业工作方式,到探索精神和探索方式,进行综合性的培养和训练,造就高质量符合社会需求的高职软件开发专业应用型人才,提高高职软件技术专业成材率。
通过在高职程序设计课程教学实践中的应用,证实了“闭环迭代引领”教学法对提高学生程序设计的兴趣、培养软件开发能力和学习能力,都有着明显成效的,基于此可进一步提高学生就业的专业对口率。