APP下载

微课在C语言公共课中的应用

2016-05-14黄丽韶

软件导刊 2016年5期
关键词:C语言教学改革微课

黄丽韶

摘要:针对C语言公共课教学面临的问题,以一个知识点(递归函数)教学为案例,展示了微课的完整应用。从学生的角度去设计和制作微课,体现了以学生为本的教学思想,在一定程度上解决了传统C语言公共课学生缺乏兴趣、注意力不集中、学习效果差等问题。针对非计算机专业学生学习C语言较困难的现象,微课从贴近生活的实例寻找解决问题的方法。在制作微视频时,将教师讲课和课件屏幕分开制作,通过抠频再合成,解决了现有微视频中教师和课件不能同时清晰显示的问题。

关键词:微课;C语言;教学改革

DOIDOI:10.11907/rjdk.161014

中图分类号:G433

文献标识码:A 文章编号:1672-7800(2016)005-0221-02

0 引言

微课是信息技术与学科教学融合的产物,也是近几年教学改革的热门话题。随着高校微课教学比赛、中国微课大赛等赛事活动的开展,微课迅速升温。

中文“微课”一词在2011年10月由广东省佛山市教育局胡铁生[1]提出,他定义的微课是:按照新课程标准及教学实践要求,以教学视频为主要载体,记录教师在课堂教学中针对某个知识点或教学环节所需各种教学资源的有机结合体。

在近几年国内的一些学术期刊中,对微课内涵的探讨主要有3种典型观点:①微讲座(Micro-lecture),即微课是一种教学视频资源。2008年秋,出现了一种只有一分钟的“微讲座”,由戴维·彭罗斯[2](David Penrose)首次提出。戴维·彭罗斯被称为美国新墨西哥州圣胡安学院的“一分钟教授”,他认为,一分钟讲座将产生与传统的长时间授课相同的效果;②微课程(Micro-lesson或Mini-course),即微课是以微视频为中心的资源包。每一个微视频围绕一个知识点展开,与第一种微课不同的是,微课程为了支撑整个学习过程,必须有测验、作业和讨论。将教学包上传到网上,学生可以随时随地上网观看视频,自主学习并进行单元测验;③微课教学(Micro-teaching),即微课是一种微型的教学活动。主要包括两种形态:微课形式教学和微课资源教学。以英国纳皮尔大学T. P. Kee教授为代表的微课,由学生进行一分钟演讲。微课资源教学,主要是教师播放相关的微视频辅助讲解,阐述教学中的知识点、重点和难点[3]。本文讨论的微课主要是指第二种。

微课是一种创新性教育形式,具备形式多样、主题突出、短小精趣等特点。微课的形式多样,主要是指微课视频的制作方式多样,有软件合成式,还有较为流行的摄制型、录屏型以及混合式;主题突出体现在一个微课只围绕一个知识点展开,主题明确;微课的教学视频一般为5-15分钟。微课以其“短、小、精、趣”的特征,迎合了时代的要求和大众的心理[4]。

1 C语言公共课教学存在的问题

以笔者学校开设的C语言公共课为例,教学中面临的主要问题有:①对于非计算机专业的学生来说,程序设计很枯燥,普遍的感受是计算机语言离自己的现实生活较远,没有学习的兴趣;②C语言公共课课时较少,教师为了完成教学任务,往往满堂灌,学生难以成为学习的主体;③C语言程序设计知识点较为抽象、连贯性强,一旦前一个知识点没有掌握,后面的知识点就很难理解,学生会产生厌学情绪。

C语言微课教学中的问题有:①举例知识扩展较广,不太适合非计算机专业的学生学习;②C语言微课视频,有的只有课件录屏,没有教师形象,即使有教师,由于光线原因,教师形象和课件屏幕不能同时清晰显示。

2 微课在C语言公共课中的实施

微课不能单纯地将传统课堂教学实录切片加工成短视频,应该在受限的时长内,重新组织教学信息,精心进行教学设计。要研究授课对象,对教材作知识点划分。本文将以C语言程序设计公共课中的一个知识点(递归函数)教学为案例,阐述微课教学的设计与应用。

2.1 微课教学目标设定

《C语言程序设计》是面向非计算机专业理工类学生的公共基础课,教学目的是掌握程序设计的思路与基本方法,利用程序来解决专业或学习生活中的一些基本问题,培养学生的计算思维能力[5]。针对C语言公共课学生为非计算机专业的特殊性,本微课定位递归函数的教学目标为:认识递归现象,领悟递归现象的本质,能针对简答问题写出算法和递归程序。

2.2 微课教学内容选取

C语言公共课的教学内容前后联系紧密。针对每个章节选取的知识点必须清晰且具备连贯性。选取的知识点可以是关键概念、难点突破或题型精讲等。本文选取的递归函数知识地位突出,教学难度较大,先修知识是函数的嵌套,因此它既是关键概念,又是函数嵌套中的难点突破。

2.3 微课教学内容处理

微课教学内容确定后,就可根据微课时长进行内容加工和微处理,时长控制在15分钟。

片头:递归函数。

导入方式众多,可以开门见山、提出一个疑问或与生活息息相关的现象或复习回顾等方式。无论采取什么方法,都必须吸引学生的注意力,能切入知识点。本文针对递归函数的导入设计是基于“程序来源于生活,映射生活,作用于生活”,所以从生活中找到递归的现象引入,能更好地提高学生的学习兴趣。本文设计的递归实例为镜子中的镜子、画中的画等德罗斯特效应。

正文知识点的讲授,要求线索清晰、语言精炼,并结合一定的手势和表情。在微课的讲授中,尽量围绕一条线索展开,并且该条线索应该能够覆盖本次微课的知识点,能体现教学的重点和难点。在讲授重点内容时,要求解释准、精、简,论据充分。本文设计的递归函数微课围绕汉诺塔游戏这一线索进行,师生共玩3个盘的汉诺塔游戏,逐步总结出游戏的规律。具体步骤如下:

(1)进行以下3个步骤:①将A塔上的n-1个盘子借助C移至B上;②将A上剩下的一个盘子移至C上;③将B上n-1个盘子借助A移至C上。

(2)引导学生发现第①步和第③步是同一个问题,都是将n-1个盘子借助一个空塔移动到另一个塔上,该操作用一个递归函数hanoi()来实现。

(3)引出递归的相关概念。若是10个盘子,需移动1 023次,若是64个盘子,需移动约1 844亿亿次,按每次耗时1ms计算,完成64个盘子的移动需60万年!如此复杂操作的递归函数代码竟然不到10行,由此引出递归的概念、递归的条件和递归的两个要素。

(4)从生活中选取一个递归现象,引导学生判断是否符合递归条件,是否具备递归的两个要素。设计选取的实例为经典的“你几岁?”问题。先建立年龄递归模型,编写对应的递归函数。

(5)在上述问题的解决过程中引导学生自主发现难点。在递归调用的操作过程中,形参和变量的取值容易混淆,是难点所在,只要牢牢把握递归就是嵌套这一本质就不容易出错。接下来播放递归调用的操作过程动画。整个演示过程清晰、明了,不会产生任何混淆。

课程小结部分要求快捷,起到提纲挈领的作用,加深对所学内容的印象。本文递归函数的课程小结借助了图灵奖获得者Niklaus Wirth的话——利用递归解决问题,允许用户用有限的语句描述无限的对象,从而让程序代码变得精简,提高编程效率。

课后练习部分,让学生解决有趣的分书递归问题。

2.4 微课教学媒体设计

微课视频的媒体呈现形式多样,设计步骤如下:

(1)准备好素材,制作好PPT课件。PPT的制作尽量少用文字,因为文字表达的效果有限,文字的表达不如表格,表格不如图像,图像不如动画,在PPT中尽量使用后者。

(2)将讲授过程录像。一般是教师讲课的同时进行录像,这种方式的优点是教师讲课很自然,缺点是由于光线原因,教师的形象和课件屏幕不清晰。针对上述问题,将教师讲课和课件演示分开录制,后期再进行合成。教师讲课直接对着摄像头,讲课过程中没有学生。课件演示的录屏软件选择Camtasia Studio。在录制过程中一边录像,一边配合鼠标的移动和课件进行切换。教师讲课时主光一个、侧光两个,拍摄的时候还在主机位提供专用提词器,场景布置如图1所示。

(3)将教师讲课的录像和课件演示的录屏合成。讲课录制好以后,将教师的形象从视频中抠出来,抠频工具有Adobe After Effects。将录屏和录像合成,使用软件Adobe Premiere。后期合成后,教师形象和课件屏幕画面都非常清晰。

(4)为合成的视频添加字幕。外挂字幕编辑软件很多,本文选择SrtEdit。本微课通过视频+文字+图片+动画,全面深入地表达知识点。

2.5 微课教学资源设计

微课教学资源除了上述的微视频外,还包括教案、课件、过关测试及答案、学习资料及素材、作业及答案、评分标准,甚至还包括教师的教学反思等,所有这些都围绕一个知识点,构成一个主题鲜明的微课教学资源包。本文设计的递归函数教学资源主要包括:课件PPT和过关测试。过关测试主要是客观题,以选择和填空的形式出现。在微课视频制作完毕后,将所有教学资源一并上传。

3 结语

本文以递归函数为例,对微课应用于C语言公共课教学进行了探讨。制作的微视频从生活中的德罗斯特效应、递归故事等现象出发,拉近了程序设计与学生之间的距离,利用师生共玩“汉诺塔”游戏来获得感性认识,激发学生的学习兴趣;通过问题“你几岁?”来具体讲解递归函数的分析、设计、执行过程;对于递归函数调用执行过程不容易把握这一难点,精心制作动画,巧妙展示程序控制的流程转向等;总结时用图灵奖获得者Niklaus Wirth的话给出递归的本质。整个微课设计合理,达到了该知识点教学目的。

参考文献:

[1]胡铁生.区域教育信息资源发展的新趋势[J].电化教育研究,2011 (10):61-65.

[2]黄建军,郭绍青.论微课程的设计与开发[J].现代教育技术,2013 (5):31-35.

[3]教育部全国高校教师网络培训中心.中国高校微课研究报告[EB/OL].[2014-07-10].http://weike.enetedu.com/report/.

[4]鲁庆.微课在程序设计课程中的应用[J].柳州职业技术学院学报,2014 (6):71-72.

[5]唐大仕.“递归算法”微课教学设计——以“文科计算机基础(下)”为例[J].计算机教育,2013 (17):5-7.

(责任编辑:杜能钢)

猜你喜欢

C语言教学改革微课
基于Visual Studio Code的C语言程序设计实践教学探索
微课在初中历史教学中的应用
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
基于人才培养的技工学校德育实效性研究
现代信息技术在高职数学教学改革中的应用研究
以职业技能竞赛为导向的高职单片机实践教学改革研究
微课时代高等数学教学改革的实践与探索
论子函数在C语言数据格式输出中的应用
与“微课”的首次亲密接触