基于翻转课堂的企业级程序设计课程教学方法探索
2016-12-21王雪
王雪
摘要:企业级程序设计课程要求基础知识宽泛且牢固和实践训练能够保证,现有传统教学模式难以使学生建立良好的企业级程序设计思维并加以充分运用。针对这一现状,文章提出将翻转课堂教学理念引入企业级程序设计课程教学中,介绍教学改革的具体思路并说明实践效果。
关键词:翻转课堂;教学模式;企业级程序设计;设计思维
0.引言
企业级程序设计是软件工程本科专业的主干课程,该课程涉及知识面广,是对于HTML、JavaScript、数据库原理、C#基础语言等技术的综合运用,因此需要学生具备非常扎实的理论知识基础,同时该课程的实践要求高,要求学生在短时期内具备较为熟练的实操能力。鉴于该课程的综合素养要求较高,同时考虑到对先导课程数据结构及算法、C++/Java程序设计、数据库原理及应用等的依赖性,教师可以利用翻转课堂教学模式最大限度地发挥学生主动学习的能动效应,调动学习积极性,培养企业级程序设计的思维,提高学生的程序设计能力和学习效率,达到强化训练和实践的目的。
1.现有的问题
(1)传统的或大多数程序设计语言教学都通过“题海战术”巩固和强化语言本身的语法和技术细节学习,学生概念体验相对较弱。
(2)传统的或大多数程序设计类课程一般是教师先集中一段或几小段时间讲解概念、算法和实例,然后结合知识点给出程序实现。这种教学过程中难免出现学生得不到及时训练、对概念理解不深刻或懒惰不愿动手等问题,随着知识内容累加就会影响学生对知识的掌握,造成其不能将知识灵活地运用与落实到实践中。
(3)由于企业级程序设计课程开设之前已经有c++面向对象程序设计、数据结构与算法、数据库原理与应用等专业基础课,因此企业级程序设计课程课时偏少,此外一般学校在课程设置和课时支持上并没有考虑到先导课程c#程序设计语言,全部靠本课程带入并且运用,导致企业级程序设计课程的教学内容量多面广。如果某些学生基础知识掌握得不够扎实、功底较差,就会非常影响本课程的学习,而且无法在短时期内建立良好的企业级程序架构思维。如何在有限的时间内使学生真正领会基于B/S架构企业级应用程序设计方案及实现方法,也是该课程教学改革的一个方面。
2.改革方法探讨
传统教学模式是由教师对知识进行系统而具体的讲授。翻转课堂由美国富兰克林学院的Robert Talbert教授提出,分为课前和课中两个阶段。课前阶段包括观看教学视频和进行有针对性的实践练习两个环节;课中阶段则分为快速少量的测评、解决问题并促使知识内化和总结与反馈3个环节。文献在此基础上指出信息技术和活动学习是翻转课堂学习环境创设的两个有力杠杆,信息技术的支持和学习活动的顺利开展保证了个性化协作式学习环境的构建与生成。
教学设计是根据课程标准的要求和教学对象的特点,有序安排教学诸要素,确定合理教学方案的设想和计划,一般包括教学目标、教学重难点、教学方法、教学安排、教学步骤与时间分配等环节。根据企业级程序设计课程的特点和教学要求,引入翻转课堂教学模式的主要理念,在现在“互联网+教育”的时代背景下设计和补充相关的教学视频学习资源,供学生在课程衔接的前后进行学习,利用课外时间完成相应知识点的巩固和准备,从而增加课堂实践的比重,这样能够让学生更多地参与师生互动协作探究的知识点转化中。翻转课堂教学模式的引入实现了知识传授与知识内化的颠倒,将传统课堂中的知识传授部分地移到课外,将答疑解惑、汇报讨论更多地带到课堂实践中完成,这样能够增强学生的主动性和创新性,极大地激发学生的积极性和探索性,同时也有助于教师实现个性化教学,在学习过程中满足学生多样化的学习方式,更好地实现教学活动中教与学的良性互动。
3.教学思路及改革设计
2006年,美国卡内基·梅隆大学计算机科学系主任周以真教授提出:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、人类行为理解等涵盖计算机科学之广度的一系列思维活动。针对ASP.NET技术实现基于Web的企业级应用程序,教学中应培养学生建立问题的解决过程和具体的实践方案,而这可以称为企业级程序设计思维,它区别于传统程序设计语言的过程思维、数学思维或者是单一的面向对象思维,不强调数理逻辑关系、演算和推理的严谨性,而更多地关注整体的架构、布局、解决方案及各要素在企业级应用程序中所起的作用。表1是传统教学与翻转课堂相结合的企业级程序设计教学结构模型。
该教学模型中两大主体是教师角色和学生角色,根据教学流程分为课前、课中和课后3个阶段,把翻转课堂的信息技术与课外学习的教学理念引入企业级程序设计课程中,该教学结构模型的具体操作如下。
第1阶段由教师在课前设定该模块知识内容的教学目标,整合教程、文献、课件、视频等教学资源,然后于课前2-3个工作日内下发视频和配套的图文材料作为学生课前学习的指导材料;同时学生根据老师下发的教学资源预习教材理论,观看教学视频,多方位地了解与领会目标知识点,然后总结学习的收获点与困惑点并将其作为课前学习笔记提供给教师,待授课与交流讨论时使用。
第2阶段为课堂教学,其最大特征体现在面对面交流性上,教师可以通过Email、QQ(群)、微信(群)或课代表反馈等多种渠道了解学生课前掌握情况,合理和及时地对授课内容进行微调,在课程中结合实战训练了解学生对于知识点的实际掌握情况,并以讨论、答疑、汇报等形式强化重点或难点问题;与此同时,学生可以解决课前学习中遇到的问题与困惑,问题带人式的学习可以增强知识接收的主动性与深入性,课上的动手训练也能避免传统教学中“眼高手低”的问题,在实践练习中遇到问题也能及时与小组成员或教师进行沟通。
第3阶段是课后,教师要根据课堂表现与所呈现的问题总结该模块知识点的教学经验,同时下发实践任务和后续知识点衔接的教学资源,使学生不断地融合所学知识内容。学生一定要进行更深入的实践训练,以弥补课堂教学时间有限的问题。在一个知识模块或里程碑教学后,教师一定要对学生的课堂翻转效果做考评,掌握和了解教学效果;同时,定期考评也是对学生课外学习的一种督促手段。
4.具体实施及效果
以企业级程序设计中逻辑构建的基础语言C#知识模块为例,其重点知识点和难点知识点分别为数据类型和自定义类的事件处理两部分。在数据类型课程之前,教师可下发整合的数据类型及数据类型转换视频资源,辅以每种数据类型实例的代码材料,结合教程让学生建立值类型与引用类型的数据类型框架。经课程代表整合,学生的困惑点主要集中在引用类型Obiect及委托类型的理解上。教师需调整课堂教学,快速总结值类型中需特殊注意的地方,主要讲解统一类型系统中所有类型都直接或间接继承自根类型,也因此才有泛型机制下的装箱与拆箱数据处理;重点讲解委托是一种支持将方法作为另一个方法的参数进行传递的引用类型,结合具体实例给出代码剖析。课程结束后,布置委托类型的深入实践,让学生给出委托类型的具体应用,同时用现有知识完成一个自定义类。自定义类课前资源主要涵盖对属性和事件处理理解的视频、文字及代码材料,学生反馈困惑点依然集中在事件的运用上。课堂教学除了帮助学生理解属性及二次封装的概念及特性外,还要用更多的例子和代码讲解事件的处理是建立在委托类型基础上,运用页面要素触发机制,执行事件代码处理过程。课后要求学生结合授课内容完成银行取款的事件处理过程。
在一个学期的教学改革试验以后,学生对重点和难点知识点的理解和掌握水平有明显提高。在对知识模块进行的阶段性考评中,每个知识模块的基础知识部分占比40%,实践考核占比60%。图1是教学方法改进前后两个学期对于企业级程序设计课程核心知识模块综合考评的学生平均成绩对比,学生采样都在软件工程专业本科3年级完成,图中核心知识模块中包含的知识点见表2。
5.结语
对于实践性要求非常高的企业级程序设计类课程,课外资源及时和充足的给予是企业级程序设计思维建立的保障,使课堂教学时学生也能够表现出更高的热情,并通过课外实践加强对于知识点的掌握和知识结构的认知。近年来的教学实践经验证明,课程的教学不应只局限在课堂上,充分利用课外时间与诸多教学资源,把翻转课堂核心教学理念引入传统教学方法,这样才能够调动学生参与的积极性并且取得显著的效果。