期刊专题 | 加入收藏 | 设为首页 12年实力经营,12年信誉保证!论文发表行业第一!就在400期刊网!

全国免费客服电话:
当前位置:首页 > 免费论文 > 社科历史 > 自然科学 >

程序设计课程的翻转教学模式

摘要:针对本科程序设计课程中讲解抽象性与计算机学习实操性存在矛盾、常规教学模式不能契合程序设计课程特点等教学问题,研究探讨翻转教学模式在程序设计课程中的应用,提出采用课前学生微课预习、课堂师生讨论交流、上机开发实际案例3个环节相结合的翻转教学模式,并以C++程序设计课程的多态性章节教学为例阐述实施过程及效果。

关键词:翻转式教学;微课;案例教学;程序设计;多态

作者简介:屈微,女,讲师,研究方向为计算机仿真、人工智能、图像处理等

0引言

程序设计课程是普通高校本科一年级开设的一门计算机基础必修课,通常包括C、C++、VB、VFP等语言。教学目标是使学生掌握程序设计基本理论,学会程序设计的基本方法和技能,具有用程序设计语言解决实际问题的能力。当前,计算机课程的教学特点与传统教学模式存在冲突,并且不同地区的学生计算机知识基础差异很大,有些学生甚至严重缺乏计算机操作训练,对课程缺乏兴趣。探讨新的适合程序设计课程特点的教学模式,对提高学生的学习自主性和实现课程教学目标非常必要。

1程序设计课程教学中的问题

程序设计课程工程实践性强,要求较高的动手能力,学生必须在大量的上机编程训练中体会和掌握程序设计的思想和方法。计算机课程教学的特点包括以下几方面:一是思维方法与传统学科差异大,大多数学生不能在短时间内建立计算思维模式;二是实践性强,不接触软硬件设备的单纯理论教学抽象枯燥,难于理解,传统程序设计课程教学重理论、轻实践,学用脱节,学生缺乏学习的动力。程序设计课程在教学形式上以编程为主,但对于编译器的实现机制,课堂上的运行展示必不可少。学生的知识层次和接受能力不同,造成教学进度难以把握,而且课堂教学环境的限制也不利于教师进行编译运行以及程序流程的展示,学生不能随时进行操作实践,上课注意力不易集中。基于以上问题,必须在教学方法上有所突破,让学生接受翻转教学模式,激发学习兴趣。翻转模式提出让学生先上机实验,获得对程序运行结果的实际感受,然后思考原因,理解记忆规则、语法等理论知识[1]。文献[2]中研究了微课在实验教学中的应用,探讨新实验课教学模式在提高学生实验编程与操作能力方面的作用,为探索翻转式课堂教学模式积累了经验。

2翻转教学模式与程序设计课程

2.1翻转教学模式简介

翻转课堂(flippedclass)又称为反转课堂,与当前所采用的传统课堂模式相反,是以学生为中心,学生在教师的指导启发下自主学习,师生互动、直接指导和建议式学习混合的新型教学模式[3],具有教学内容永久保存,所有学生参与学习并获得个性化教育等特征[4]。美国德克萨斯州的教师布雷特认为,由于翻转课堂的实施,课堂时间增加,教师与学生有大量的时间进行增强性课堂活动[5]。目前,翻转教学模式在中小学教育中引起了普遍关注,但在高等教育中,针对程序设计课程的应用研究还较少。

2.2程序设计课程应用翻转教学模式的优势

通过课堂翻转,学生自学编程语言中繁琐的语法规则和语义描述部分,将教师从细小的理论知识点中解脱出来,把有限的授课时间用于编程本质和编程技巧讨论。上机实验省去讲解环节,可使教师将更多的时间和精力用于有针对性的个性化辅导,学生获得更多计算思维和实践的训练。翻转教学模式中的课堂学习成果交流,能够培养学生的学习兴趣、主动性和实际动手能力;对问题导向的强调,能够令学生在编程中获得成就感,提高训练的持续性。以翻转课堂为中心的翻转教学模式能够激发学生的学习主动性,提高其学习兴趣。程序设计课程应用翻转教学模式是可能而且必要的。

3程序设计课程中翻转教学模式设计

程序设计课程从教师和学生两方面设计翻转教学模式,整体结构。我们主要介绍教师部分的工作。翻转教学模式中,学生成为焦点,教师从传统课堂中心的讲授者变为学习的设计者和促进者。教师要向学生提供优质的学习资源,精心设计3个教学环节,即课前微课设计、课上讨论问题设计和上机实验使用实例设计。遵循的总体原则是转变教学模式以及激发学生的学习兴趣和主动性。

首先,教师课前布置预习内容,让学生通过课程网络平台的教学视频自学。微课程(micro-lecture)[6]是运用构建主义方法形成的,以在线学习或移动学习为目的,利用信息技术完成知识传播的现代教学方式。引入微课程理念,重构知识模块是实行翻转教学的有效手段。教学视频针对课程知识点,辅以示例程序进行讲解,学生将抽象知识内化为具体程序模型,教师提出拓展问题,给出启发性提示,由学生自己设计开放性程序功能,完成程序编写,达到将知识外显化的目的。

其次,改革传统课堂授课形式,采用学生为中心、教师引导讨论的课堂教学形式。教师需沿着学生的问题和思路控制课堂教学内容的方向,以解决学生问题为课堂教学最终目的。通过课前思考产生的问题在课堂上得到正确解答,能够令学生产生一种顿悟感,得到知识升华的体验。课堂上,学生对于课前的开放性题目进行分组讨论,教师对于每组的个性化思路和方法给予点评,从编程实现的角度校正臆想,使学生获得上机编程操作的明确方向。

最后,合理设计实验题目,安排上机实验进度。采用验证性题目能够加强理论知识理解和掌握,但对于训练解决实际问题和应用计算思维编程的能力有着局限性。文献[7]中提出根据整体教学安排分阶段持续的实施教学案例,可以提高学生分析问题和解决问题的综合能力以及程序设计的实践能力。翻转模式教学中借鉴案例教学思想,设计课程整体教学案例,设置知识点开放性案例功能,使学生通过编程实现,加深对理论知识的理解并体现个性化编程思想,在不断自我尝试的过程中体验学习的快乐,提高编程兴趣;同时开放性题目也让学生体会到编程方法和技巧的多样性,不再固守标准答案唯一的观点,激发自身的创造力。程序设计课程翻转模式中,除了采用传统以书面形式提交课后作业的个人评价和上机实验小组设计报告的集体评价两种方式之外,还采用对于实现翻转效果也十分必要的课堂提问、师生互动的交流式评价方式。3种方式相互促进和补充,能够保证各环节有序推进及教学过程正常运行。这部分内容将另文讨论。

4程序设计课程中翻转教学模式应用

C++程序设计是一门理论和实验教学难点较多的课程,特别是面向对象部分,抽象的理论概念仅通过课堂讲解很难达到教学目的;编程中,学生缺乏对程序语言内在机制的了解,往往不能真正实现面向对象思想。多态性是面向对象程序设计的三大基本特征之一,这部分教学知识点多、抽象性强,课时少,传统课堂教师讲授、学生听讲的模式使得教师讲得紧张,只能简单介绍多态的基本概念和实现条件,学生听得含糊;实验也是规则验证性的,达不到技能训练的效果和目的。

4.1课前准备资料及制作微课

这部分是实现翻转模式的关键,微课视频是学生自主学习的工具和接受理论知识的重要途径。C++程序设计中多态性微课结构,视频包括基础知识讲解、示例程序展示和开放性问题提出3部分,总长度15min。基础知识讲解部分:多态性部分内容包括多态性的概念、继承中的静态联编、虚函数和运行时的多态、纯虚函数和抽象类以及继承和派生的应用举例[8]。通过对内容的合理取舍和扩展,教师可选择继承中的兼容性、运行多态的条件、地址操作、虚函数、虚函数类的数据结构(虚函数表)、纯虚函数等作为微课内容,使微课具有系统性。示例程序展示部分:突出基础知识点的使用,展示编程中多态实现的程序结构和逻辑关系。

示例内容包括将基类指向派生类对象的指针放到以指针数组为形式的容器中,利用循环结构,产生不同函数运行结果,体现运行多态。然后,利用VC6调试功能运行程序,实现两方面的展示:一是查看内存分配,说明虚函数表在虚函数中的存在及作用,解释运行多态的实现机制,获得传统PPT课件得不到的动态体验;二是针对运行多态的条件,即定义虚函数和使用基类指针或引用间接操作派生类对象,对比不同条件下的运行结果,强化对运行多态条件的理解。开放性题目提出部分:使用游戏编程案例贯穿课程教学的整个过程,包括理论教学、实验教学以及计算机实践活动。教师可在多态部分要求学生在案例已有的结构基础上,使用多态编程添加拓展功能,给出一些开放性提示,要求学生自己思考并通过上机编程实现。

4.2课堂组织讨论和答疑

课堂教学以微课内容为中心,辅以PPT多媒体教学,采用讨论交流的形式展开。对于基础问题,教师引导提问,学生回答问题,交流对多态条件和语法语义的个人理解,教师记录学生表现,对预习成果给予交流式评价并作为课程考核的一个部分;对于示例程序,强调指针数组、基类指针指向派生类对象、指针数组的遍历等语句,采用学生提问、教师答疑的形式,清晰明确关键知识点的运用;对于实验中提出的拓展性问题进行小组讨论,学生在教师的引导下提出开放性功能,教师对实现的可能性把关校正,分析提示相关编程技术,如确定数据结构、定义派生类对象语句、基类指针作为元素放入数组语句、元素删除条件等。

4.3上机实现开放性案例

多态上机题目在课前微课中提出,课堂上分析讨论。实验中,将学生2~3人组成一个小组,教师对案例程序给予个性化指导。合理设计类结构是面向对象程序设计编程训练的重点之一,这部分要求准确定义虚函数。多态实现前后的类结构对比,虚线框是学生添加的新类,同时学生完成在新基类中声明虚函数,将分散在子类中的功能属性和行为属性统一到基类中设计,由此可以看出学生对于多态数据结构知识的充分掌握。编写测试程序时,在教师提示下,学生通过复习STL容器vector或list,使用容器自带迭代器,完成添加新游戏功能,包括添加多个敌方坦克和子弹对象;在产生碰撞时(即获得同样消息),不同对象实现不同的处理(即产生不同响应,如敌方坦克对象会被删除消失等);实现运行多态,展示学生对多态概念和使用技巧的充分理解等。有些学生完成了添加关卡、设置双人游戏和游戏积分等附加功能,体现出丰富的创造力,也验证了翻转教学模式的良好教学效果。

5结语

将翻转教学模式运用于程序设计课程教学,采用课前微课预习,使得学生可以根据自己的接受能力,自主掌控学习内容、时间、进度、方式、程度和节奏,解决因课时少造成的基础知识记忆差和学习效率低的问题;教师能够利用课堂讨论答疑解决理论教学中的重点和难点问题。案例开放性题目的上机实验,可以训练学生从功能设计到编程实现的综合程序设计能力。通过两种教学模式下C++程序设计课程教学实践的对比,采用翻转教学模式学习的学生对知识的内化程度明显好于传统授课模式的,验证了翻转教学模式应用的有效性和合理性,对程序设计及相关课程教学有同等的应用价值。下一步,笔者将细化翻转教学模式中的评价环节。

参考文献:

[1]时书剑.“C语言程序设计”双语教学模式改革的探索与实践[J].大学教育,2015(1):154-155.

[2]于庆梅,毛镠,冯国富.汇编语言程序设计课程微实验教学模式探讨[J].计算机教育,2014(22):111-114.

[3]BarseghianT.Theflippedclassroomdefined[EB/OL].(2011-09-08)[2015-08-14].http://ww2.kqed.org/mindshift/2011/09/08/the-flipped-classroom-defined/.

[4]BergmannJ,SamsA.Flipyourclassroom:reacheverystudentineveryclasseveryday[M].NewYork:ISTEandASCD,2012:13-19.

[5]杨刚,杨文正,陈立.十大翻转课堂精彩案例[J].中小学信息技术教育,2012(3):12-14.

[6]ShiehD.Theselecturesaregonein60seconds[N].TheChronicleofHigherEducation,2009-03-06(13).

[7]李绘卓,李郁峰,唐峻.项目案例演变教学法在C++面向对象程序设计课程中的应用[J].计算机教育,2014(5):51-54.

[8]姚琳.C++程序设计[M].北京:人民邮电出版社,2010:242-255.

作者:屈微 姚琳 汪红兵 单位:北京科技大学 计算机与通信工程学院


    更多自然科学论文详细信息: 程序设计课程的翻转教学模式
    http://www.400qikan.com/mflunwen/skls/zrkx/95266.html

    相关专题:集团公司财务管控 法律底线


    上一篇:企业档案管理的规范化
    下一篇:机电工程现状问题及发展趋势

    认准400期刊网 可信 保障 安全 快速 客户见证 退款保证


    品牌介绍