基于翻转课堂的ASP.NET网站技术课程改革与实践*
2018-02-09陈少强
陈少强
(三明学院信息工程学院,福建 三明 365004)
一、引言
多年来,本人承担了计算机专业课程《ASP.NET网站技术》的课程教学。这是一门实践性非常强的课程,要求学生不仅要掌握理论知识,更要注重实践应用。“ASP.NET技术”的应用很广,我们的教学目标是使学生通过本课程的学习,能够开发较常见的Web网站应用程序,所以选取的是以ASP.NET技术为主的相关教材。为了切实提高学生开发应用程序的编程动手能力,结合自己多年来从事高级语言程序设计教学的实际,笔者对这门课程的教学做了一些教学探索与实践。
二、教学中存在的主要问题
编程类课程的学习,不仅需要学生要勤动脑,还需要勤动手,更需要持之以恒的学习。在实际教学过程中,存在不少不尽如人意的地方,最主要的问题在于学生对编程类课程学习的积极性和主动性上。虽然上到领导,下至普通老师,一再向学生强调编程类课程的重要性,但学生对编程语言的学习依然十分被动。目前的学习现状基本是:学生既不爱动脑,更不爱动手,甚至上课都不想听。很多学生对于基本的语言语法知识觉得枯燥,不爱听不愿记,可想而知,实际的动手编程能力将在很大程度上受制于前期的语法基础。学生也不是不知道此类课程的重要性,但由于编程类课程自身的特点,使得许多学生在学习过程中渐渐失去了耐心和兴趣。本人分析认为,这是一个学风问题。高校大学生扩招以后,类似我校这种应用型本科院校的生源素质普遍下降,其中最关键的素质,就是学生学习的自觉性严重下降。学生对待学习已经变得极其被动,这种被动的学习注定了学生对知识的掌握缺乏目标而导致学不好,这对于编程类课程来讲,学不好的后果尤为严重。然而,对于这种被动学习的现状,我们似乎并没有找到好的解决方法。学生们可以在学不好的情况下,轻松通过课程考核,考核不及格的同学可以经过补考通过考核,甚至挂科或重修,但最终这门课程基本能够通过考试,几乎没有考生因为某门课程不及格而不能毕业的,许多不爱学习的同学甚至已经也习惯了这种大学学习生活。即使通过考核的学生,由于是一种极其被动的学习态度,也必然导致学到的知识不能有效吸取,不能充分消化并加以应用。以上分析的这种学风,造成了学生对于编程类课程及相关课程以至于核心的学习要求和技能要求都不能达到符合社会需求的后果。
这种没有内在动力的学习态度是导致各种各样不良学风和教学效果的主要原因。因此,经常可以看到这样一些现象:学生上课不认真听讲,作业不能独立认真完成,上机课不专心课程实验,期末考试成绩不理想。尽管许多老师也采取了一些相关措施,但收效甚微。就目前学校实际的教学管理制度来说,还没有解决这种不良学风的好方法。唯一能使大部分学生感到有学习压力的一种心态就是争取不补考。对于大多数学生来说,期末考试成绩及格暂时成了他们学习的一种“动力”。所以,如何改变这种学习态度,是我们教学改革实践中的主要任务。
三、课程改革实践
1.翻转课堂教学模式的采用
以学生为中心的教学模式,已经得到了广大教育者的认可,而且国内外也有一系列的研究文献。在传统教学中,教师是主体,是中心。一般是教师讲解知识,学生接受知识,学生的学习往往局限于课堂、书本,学生是知识的被动接受者。而以学生为中心的教学,注重的是师生间的讨论互动,是一种讨论式模式,是师生在教学过程中共同研讨学问,通过解决学生实际问题而达到学习知识的教学活动[1]。在以学生为中心的教学理念下,相应的教学方法也得到了深入地研究与实践,如开放式教学,微课教学,项目驱动教学等。
2000年,美国MaureenLage,Glenn Platt and Michael Treglia在论文“Inverting the Classroom:A Gateway to Creating an Inclusive Learning Environment”中介绍了他们在美国迈阿密大学教授《经济学入门》时采用翻转教学的模式[2]。2007年,美国科罗拉多州Woodland Park High School的化学老师 Jonathan Bergmann and Aaron Sams在课堂中采用“翻转课堂式”教学模式,并推动这个模式在美国中小学教育中的使用。
在我国,翻转课堂教学是符合教育部信息化教学改革目标的一种创新型的教学模式。该模式也是一种讨论式模式,符合以学生为中心的教学理念。传统的教学模式,教学的重点集中在课堂45分钟。教师要在课堂有限的时间里使尽浑身解数分析讲解知识、解决问题,可是程序设计类课程普遍的现象是课时紧,内容多。传统的课堂教学法,教师在讲台上满黑板、满屏幕教授基本概念、语法规则、算法分析等,学生往往没有足够的时间在课堂上通过上机动手实践加强理解掌握,更别谈灵活应用,课后也往往不肯再花时间上机学习。而翻转课堂的教学模式则比传统教学模式灵活得多。翻转课堂的模式是:教师通过网络教学平台上传自己的课件和视频,并指导学生课前学习相应的视频和完成相应的课前简单作业,在上课前就打好基础,将不懂的问题记录好,等待教师答疑。课堂中,学生针对自己的问题向教师提问,教师答疑解惑。课堂时间十分充裕,学生们也对该堂课的教与学做到心中有数,学习目的明确,教师在课堂中除了答疑解惑还应该设置一定的任务和问题指导学生分小组讨论解决,增强课堂的互动气氛。课后,如果学生还有不懂的问题,可以通过网络教学平台向教师提问,教师则能及时在网络教学平台上做出解答。这样的课堂模式消除了传统教学的局限性,学习课堂延伸到学生生活的各个地方,真正做到了及时学习,教师也能通过网络教学平台上习题的完成情况随时掌握学生的学习动态,在教学中因材施教,做到有的放矢。
互联网的普及和计算机技术在教育领域的应用,使翻转课堂式教学模式变得可行和现实。学生可以通过互联网去使用优质的教育资源,不再单纯地依赖授课老师去教授知识。而课堂和老师的角色则发生了变化。老师更多的责任是去理解学生的问题和引导学生去运用知识。
经过对翻转课堂的深入研究,我们把该教学模式引入到计算机程序设计类课程当中,强调课前的视频自学,课上的讨论解答,同时加强相关考核记录,使学生能够尽可能地发挥学习主动性,从而提高程序设计类课程的教学效果。
2.认真选取教学内容,安排学时
ASP.NET的教材基本上都有以下几个部分:ASP.NET简介或Web应用程序设计概述、Web常用服务器控件、ASP.NET内置对象、ASP.NET应用程序配置、ASP.NET AJAX技术、ADO.NET数据库编程,这是ASP.NET程序设计的基础部分,同时一般都还会有1至2个应用大案例。ASP.NET课程所涉及的技术知识内容较多,并需要较扎实的面向对象编程基础、数据库技术基础,同时由于课程学时数少,学生学习较为被动,所以为了达到课程教学要求,让学生切实掌握基本的动手编程能力,笔者对课程教学计划作了一些调整。
以往这类课程,上完程序设计的基础部分,一个学期的课程也快结束了。对于大案例的分析与实践,往往只有1周左右的时间,最多2周,即使2周,也只有2次理论课2次上机课。这样的分析与指导,对于学生要较完整地体验与感受一个大案例的设计与开发,时间远远不够,靠学生自己课后去认真学习掌握,实践证明也是不切实际的。同时,学生学习十分被动,各个章节知识的学习都不能及时得到掌握与应用,也影响了教学进度的实施。但是对于这类编程课程,如果不让学生对一个大案例开发过程有一个切身的体会,只有前面那些零散的知识,对于这门课程的教学可以说完全是失败的。
所以,我们抛开顾虑,对前面各章节的技术知识加快教学进度,结合翻转教学,把大部分基础部分知识留给学生课外视频自学,课上重点分析讨论与检查。把大案例之前的内容按照教学计划学时数的三分之二安排教学,留下近三分之一的时间重点进行大案例的分析与指导。对那些常用控件的使用不一定要求学生全部熟练掌握,学生对单个控件的学习也容易失去兴趣,一些控件的使用可以综合到大案例中去,使学生可以更深刻地体会这些控件的作用。此外,一些章节内容可以通过在大案例的学习中,返回去补充讲解。因此,这学期笔者安排了四周左右的时间,进行大案例的分析指导。
3.充分利用案例教学法进行教学
所谓案例教学法,是根据教学目的的需要,用案例来组织学生进行学习、研究、锻炼的方法[3]。在程序设计类课程的讲授与实践过程中,充分利用案例教学法,针对课程不同阶段的内容,使用相应的案例,在课堂上演示讲解,在实验课中让学生动手练习并加以指导。
对于ASP.NET程序设计的基础部分,我们采用小案例法进行教学。在教学过程中,对于大部分的技术知识内容,都通过相应的案例实验加以分析讲解,通过教师亲自操作演示进行教学,然后在实验课上让学生对这些案例自己动手操作,从而加深理解与应用。当然,不可能对所有教材中的案例都要教师演示,教师可以重点对部分案例进行详细的操作演示,其他案例可以在课上演示一下运行效果,让学生对这些技术知识有所了解,然后结合翻转教学模式,引导学生课后自己进行相关视频自学。学生在实验上机课中,实际的上机情况往往是这样,一次实验课本来应该完成5-6个小案例实验,学生们由于各种各样的原因,常常只能完成2-3个。主要的原因,还是学生的学习态度问题。所以,如何结合翻转教学模式,改变学生的学习态度,需要进一步的研究与探讨。
如前所述,本次我们把教学重点放在应用大案例的分析指导上。那么,如何做好应用大案例的分析指导,让学生不仅有兴趣,又能慢慢深入到案例的理解与掌握中去呢?以前这类高级编程课程,对大案例没有太多的时间进行分析指导,基本上是让学生课后自己去学习掌握,最后以课程设计的方式进行检查。实际的情况是,学生们对课程设计常常是敷衍应付,由于学生的实际能力并没有达到理解与掌握大案例的水平,所以基本上都是从网上或其他途径复制程序,教师也因多种原因无法深入检查与评判,所以总体上来说,这种方式已基本流于形式,学生们很难掌握大案例的综合应用。
为了分析指导好大案例,可以把教材中的应用案例系统,如在线教育管理系统,分解为几个模块,并在课上详细分析整个系统的设计开发过程,重点分析了ASP.NET技术开发Web数据库应用程序所采用的三层结构方法,给学生们深入剖析了数据库开发过程中数据的处理流程、代码的实现。对于数据库开发过程中数据的处理流程及相关代码的编写,可以说是学生们最需要突破的学习点,所以需要教师重点加以分析讲解。最关键的措施是,在课上对该案例从头至尾,从创建项目开始,按照案例的功能结构及开发流程,一个文件一个文件地加以创建实现,在演示中使学生们对一个大案例如何从无到有、从几个程序文件开始到几十个程序文件结束、这样的一个开发过程有了明晰理解。这一措施非常重要,效果也十分明显。以前,给学生一个大案例,教师往往只是把源代码简单地运行一下,让学生观看功能效果,虽然也有一些分析,但学生们一看到一个案例涉及到这么多程序文件,立即产生畏惧感,再加上没有详细的分析指导及自身的理解消化,学生们很难真正体会到一个大案例的开发全过程。当然这样的教学措施,首先要有足够的授课时间,由于采用了前述的教学进度调整,这个授课时间可以得到保证。其次,毕竟几十个程序文件,所有的代码、页面,肯定不可能全部在课堂上一一手工输入,所以有时必须课前准备好,演示时采用复制或添加的方式,但这并不影响学生的理解。
最后,除了课堂指导外,学生自己动手实验实现案例的开发,是另一个教学关键。我们把大案例按照功能结构分解成4个或5个模块,每次上机实验完成划分好的一个模块,每个模块大概5-7个程序文件。经过这样分解,并且课堂上分析后,学生基本上可以在一次上机课内完成一个模块所涉及的程序文件,即使有的学生不能在一次实验中完成,也可以完成至少3-4个程序文件,剩下1或2个程序文件完全可以在课后再完成并消化吸收。这样的实验可以安排4次以上,一个大案例所涉及的大部分程序文件就可以在实验教学中得以实现,通过这样的实验教学,学生们对大案例的开发过程就有了基本认识。如果学生能够在课后多花点时间和精力,自己动手跟着学并实现教师所讲解的大案例应用开发,应该是没有问题的。当然,案例的源代码也不是完善的,有时还会出差错,在排解问题之后,我们也给学生提出对源代码进行改进或增加新功能的建议,使学生能更深入地学习。
4.改变考核方式,重在考核综合应用能力
编程类课程以往的考核方式,主要采取笔试+课程设计+平时成绩,但是类似“ASP.NET应用技术”这样的编程类课程,如果还是用这种方式,显然不能真正反映学生的综合编程能力。而且,如前所述,课程设计在实际教学中已不能达到预期的教学效果。在大案例的教学过程中,实践发现,由于一部分学生学习态度不端正的原因,仍然处在一种被动、没有压力的学习状态中。为了让学生们对这门课程的学习真正达到学以致用,并能化被动为主动,用心投入学习中去,我们决定改变考核方式。期末考试放弃笔试+课程设计考核方式,采用上机考核,用上机考试取代原来的笔试+课程设计。上机考试内容,是一个大案例系统,这个大案例和课上分析指导的内容基本相似。这种方式,可以检查学生实际的动手编程能力,以及Web数据库开发的综合应用能力,也能反映出教学上改进大案例教学的教学效果。这种方式,更能体现出以往安排课程设计这一环节的教学目标。
考试时,把一个大案例系统按照功能结构分解为十个模块,每个模块一般都涉及到数据库中1到2个数据库表的增删改查等功能。要求每个学生采用三层结构模式编程实现一个模块。每一个模块都涉及到后台数据库的一些管理操作、应用程序的相关配置、数据库的连接、三层结构中数据访问层类文件的编写、业务层类文件的编写、用户界面层网页的设计、相关模块功能的实现等,反映了一个基本的Web数据库开发流程。考试时,教师提供一个大案例的数据库备份文件,学生随机抽取一个模块上机编程实现,允许学生带教材和参考资料,但不允许带有关存储设备,以防复制,所以大部分的程序代码和页面设计都将在考试时间内自己动手完成,考试时间为3个小时。第1次课上,我们就把考核方式和考试内容都提前告诉给了学生。这种考核方式,由于是随机抽题,所以要求学生对十个模块都能上机编程实现,实际上也就是要求学生对一个大案例系统要能够理解掌握。由于采取这种考核方式,学生们的学习态度有了明显的改变。
四、结束语
对《ASP.NET网站技术》课程做了如上所述的一些教学改革探索,从平时的教学情况来看,学生的学习态度有了较好的转变,学生对于如何使用ASP.NET技术开发一个大案例系统也有了较深刻的理解与掌握。从最后的上机考试情况来看,学生们表现得很有信心,成绩也比较理想,几乎都能达到考核要求,通过率在95%以上,优秀率及平均分也都较以往有大幅提高,最主要是学生们反映,的确学到了如何设计开发一个网站应用软件的过程。当然,在教学改革实践中,对于如何结合翻转教学模式,进行更有效地教学效果提升,还有不少问题和细节需要进一步研究。
参考文献:
[1]朱征宇,曾令秋,杨广超.以学生为中心的讨论式互动教学探索[J].计算机教育,2017,(3).
[2]Lage,M.J.,Platt,G.J.&Treglia,M.(2000).Inverting the classroom:A gateway to creating an inclusive learning environment[J].Journal of Economic Education.
[3]朱金生,刘耀辉.案例教学法在教学中的应用探讨[J].理工高教研究,2005,(12).
[4]曹建霞,王艳凤.投入学习理论应用于信息技术与课程整合的探索[J].中国教育信息化,2007,(20).
[5]施鲈,何钦铭.计算机专业实验教学体系探索[J].计算机教育,2008,(10).
[6]钟晓流,宋述强,焦丽珍.信息化环境中基于翻转课堂理念的教学设计研究[J].开放教育研究,2013,(1).
[7]池雅庆,宋睿强,李振涛.探索MOOCs对计算机课程教学的影响[J].计算机工程与科学,2014,36(A1).