APP下载

基于微视频的C语言程序设计实验教学改革

2018-06-05熊启军屈俊峰王新颖

实验技术与管理 2018年5期
关键词:C语言程序设计知识点

熊启军, 谷 琼, 屈俊峰, 王新颖

(湖北文理学院 数学与计算机科学学院, 湖北 襄阳 441053)

1 实验教学现状

1.1 传统实验教学模式的弊端

对于程序设计类课程的实验教学,大多数地方高校仍沿用以固定任务为中心的实验教学模式——准备、实验、报告、批阅的4部曲[1],即教师提前布置实验任务、学生准备实验知识和代码,学生进入实验室,开始完成指定题目的程序代码的编辑、调试、纠错、运行得到结果,学生进行实验报告的撰写和提交,最后是教师批阅实验报告、评定该次实验成绩。

这种传统的实验教学模式及过程存在几个弊端:一是学生被指定的实验任务所束缚,缺乏自主实验、思考的时间和空间;二是学生在实验中遇到的问题、错误只能采取上网搜索、向教师或者同学求助的方式解决,甚至得不到解决;三是无论教师还是学生都只关注实验结果而忽视实验过程。这些因素导致学生实验意识淡薄以及自学能力、动手能力和思考能力提高缓慢,不能达到实验教学的效果和期望。

1.2 实验成绩评定不全面

实验成绩的评定主要依赖的是实验报告,基本忽略了学生在课前的准备、课中的实验过程、课外的努力,这种忽视实验过程、只顾实验结果的成绩判定方式显然是过时的、片面的、不公正的,且助长了复制、抄袭等行为。

1.3 师资和学时不足

在大多地方院校,能够独立承担实验指导任务的实验教师仍比较缺乏,实验的指导任务仍由理论课教师担任,且是大班教学,导致学生碰到实验困难和错误不能及时得到指导和解答,进而导致学生学习自控力的降低、学习兴趣和动力的减弱。

当前,尽管教学计划中不断提升实验学时所占的比例、教师和管理部门不断加大教学研究和改革的力度,但由于课程总学时的减少、学生学习动力的下降、教学标准和要求的降低,仍然不能抵挡教学质量的下降。

1.4 实验项目的性质设置不合理

C语言作为基础性、入门性课程,其核心任务是掌握基本的语法规律和基本算法、培养程序设计能力和程序调试能力。该课程的性质和任务决定了其实验项目的性质应该是验证性、综合性的。而有些学校却死板地规定每门课程必须包含设计性、创新性实验项目,且必须占据一定的比例。这种教条的指导思想和管理方式导致实验教学方案的制订和实施严重脱离实际,不符合课程性质和教学规律。

1.5 学生适应性差

对于计算机类专业的学生来说,C语言课程的开设时间通常是大一上学期,此时学生对大学的学习方式不适应、自我管理能力弱、缺乏学习和生活的合理规划,而乐于参与活动和社团、热衷于追逐肥皂剧和游戏等,日积月累,导致学习态度散漫、学习兴趣和动力逐步丧失,进而拉大差距。

2 微视频的特点

“互联网+”时代的到来,MOOC、SPOC、微课、翻转课堂的兴起为教育的发展注入了新的活力和动力[2]。微课是以微视频为主要载体、教师围绕某个知识点或教学环节精心设计并开展的精彩教学活动过程,它的核心构成内容是微视频[3]。微视频具有如下显著特点:

(1) 篇幅短、文件小。微视频的播放时长一般在10 min左右,且研究表明其最佳适宜时长是6 min[4];视频文件经过转码和压缩,仍能保持清晰的画面和音质,文件大小可以控制在100 MB以内。

(2) 可移动、便携带。视频播放器支持流媒体格式的文件,可以在个人计算机、平板计算机、智能手机上联网和脱机播放。

(3) 可重现、易检索。微视频可以脱离时空域的限制,能够反复、进度可控、自主地进行播放[5];由于视频是按知识点进行录制的,按照文件名就可以简便、快捷地进行知识点检索。

(4) 主题明确、内容精炼。与传统的课堂录像相比,微视频主题突出,可针对课程章节中的一个知识点(如教学中重点、难点、疑点)进行讲解,偏重于知识的应用和思考、难点突破、重点强调,或是可以借鉴和使用的学习策略、方法、观点等具体的、真实的场景[6]。

微视频的这些特点也是其优势,无论是运用于课程的理论教学之中,或是应用于实验教学、还是课外自主学习之中都是适宜的,可以弥补传统教学的不足。但是,对于学习者来说,微视频呈现的知识点是碎片化的,最明显缺陷是知识点孤立,不利于知识点的关联、递进和应用[7]。因此,在组织碎片化的视频时,必须考虑知识点的归类和重组。

3 微视频的组织和设计

3.1 知识点三维模型

C语言程序设计作为计算机类专业的基础课程,其涉及的知识点多、繁、杂,对其进行研究所提出的教学模式、手段、观念、知识点组织等层出不穷。本文以布卢姆的知识分类学习理论为基础,以知识点的微视频为空间元素,以目标分类学为分析框架,以认知层次(记忆、理解、应用、分析、评价、创造)、知识维度(事实性、概念性、程序性与元认知)与教学因素(讲授方式、问题情境、练习反馈与技术应用)为坐标轴,构建基于微视频的知识点三维立体模型[8],如图1所示。

图1 基于微视频的知识点三维立体模型图

这种知识点三维立体微视频资源及相关资源建设的框架,对深度挖掘知识点,具有重要的理论与实践价值。

在微视频中重点审视知识点间的依赖、渐进关系,选择合适的教学案例、教学方法等进行知识点的组织和实施,同时注重同行和学生评价、反馈,及时修正和改进。

3.2 知识点的组织

C语言作为程序设计的入门级课程,其教学侧重点是基于本专业术语、程序结构、算法、实验软件操作技能等。为适应教学和改革的需要,对课程内容进行了优化重组,下面是作者教学时使用的课程内容组织结构,如图2所示。

图2 C语言微课程组织结构图

将C语言程序设计的教学内容组织成15个模块,每个模块既相对独立又依次递进;每个模块再按知识点的9个方面进行具体组织,很好地体现了知识点三维立体模型。譬如“目标”能很好地体现对知识点掌握和应用的认知层次,“导图”能体现知识点之间相互依赖和渐进关系的知识维度,剩下的7个方面则既能体现“认知层次”,也能体现“知识维度”和“教学因素”。也就是说知识点三维立体模型完全贯穿于知识点的教学组织和实施过程。

根据教学目标精简和精炼教学内容。譬如在“C语言快速入门”模块中,大幅减少甚至舍弃了枯燥无味的C语言发展史、望文生义的C语言特点,加入了Tiobe网站每月发布的编程语言排行榜;主要篇幅是通过第一个C语言程序helloWorld.c,着重讲解C语言程序的基本构成、编程软件的使用。学生通过微视频可以反复观看、练习编程软件的操作方法、熟悉程序的基本构成、明晰输出函数的简单使用和运行效果,使得学生第一堂课就能接触到程序代码和实际操作,从而快速进入编程角色[9]。

C语言作为入门级程序设计语言,其基本语法知识的介绍是必不可少的,秉持“语法够用,重在应用”的原则,不拘泥于语法及其用法的多样性、灵活性,而遵循基础性、普遍性、实用性,循序渐进地以案例演示的方式实施教学。

以图2中的“数据输入输出”模块为例,其相关知识点可组织成如图3所示的形式。

图3 输入输出知识点导图

此图清晰地展现了该模块中知识点间的相互关系。该模块中尤以scanf函数的用法与键盘的实际输入最为复杂且易出错。因为键盘输入内容的不同必然导致变量值的不同或错误,且特别是在进行混合类型数据输入时更容易出错。在处理这部分知识时,一方面可以采取枚举法、案例演示法组织教学,进行实例验证;另一方面不纠结于混合类型数据的输入,可以提前讲述fflush函数的使用,通过scanf与fflush(stdin)的配合来达到保证变量取值的正确性[10]。

在教学中,使用“讲、练、展”模式组织和实施教学、体现讲练结合、由易到难、由浅入深、循序渐进的教学策略和教学思想[11]。

4 实验改革的“四化”

在C语言程序设计的实验指导书中,一般按照实验目的、实验原理、实验内容、实验算法和代码来模块化地组织每个实验项目,这4个模块再加上实验总结就构成了实验报告。这种传统的模块化实验组织和完成方式,将每个实验题目的完成过程与具体知识点的明确应用割裂开了,不能清晰地展现每个知识点究竟用在何处、为什么使用、如何使用;实验题的类型单一、实验成绩的评价方式单调等,都不能显性地展现学生对知识点的掌握情况。

针对上述实际问题,提出了以下4个方面的改革措施:

(1) 实验原理与题目的融合化。一方面,针对实验项目,要求学生补充或完整填写实验项目所需知识点的提纲,以及所涉知识的重点、难点、注意事项等;另一方面,针对一个实验项目中的每个题目或程序,要求学生对程序的每条语句或代码块注释型地写出所使用的知识点。通过这2种方式,强化对知识点的理解和应用,切实做到“3W1H”[12]。

(2) 实验题型的多样化。提供题型多样的实验题,如选择、填空、改错、阅读等,改变程序设计类课程的实验只有编程这一种单一题型的惯例。通过多样化的实验题型来加强对相关知识点的深刻理解和熟练掌握。

(3) 实验例题的示范化。任何学习都遵循记忆、理解、模仿、熟练、应用、创新这样循序渐进的过程,其中,记忆和理解是前提、模仿和熟练是基础、应用是目标、创新是升华。这样,实验题的讲解必须示范化、实验题的选取必须典型化,才能达到举一反三、进而有所创新的效果。

(4) 实验代码的视频化。对于C语言中简单的、基础的、常用的算法和程序代码,学生必须达到烂熟于心的程度,即要求能口述算法和背诵代码。可以要求学生使用智能手机将算法和代码口述、背诵的过程真实地录制下来,不加修饰地发送给教师,以此作为一种检查、督促的强制手段。因为光靠自觉性是难以达到理想效果的,只有“严师才能出高徒”。

5 结语

大数据已成为未来社会发展的“石油”和“黄金”[13]。微视频作为现代教育的重要手段,借助MOOC或SPOC平台,运用大数据技术,不仅可以记录学生动态的学习行为,而且可以可视化地分析学生的学习进度、规律、成绩和存在的问题,甚至可以根据记录的学习信息挖掘学生的能力和潜力,发现其更擅长的学习科目、专业方向和职业能力,使学生在专业方向、职业规划、就业选择上更趋理性和科学,也能为政策制定者、教育者提供更好的参考。目前,这方面的工作正在开展之中。

参考文献(References)

[1] 吕淑平,王科俊,于鑫.“四自主”实验教学模式的开展与研究[J].实验技术与管理,2014,31(6):12-14.

[2] 范建丽,方辉平.“互联网+”时代高校微课发展的对策及应用:从第二届全国高校微课教学比赛谈微课与教学的整合[J].远程教育杂志,2016,35(3):104-112.

[3] 黄虹,魏宸,邹长伟.“微课-慕课-翻转课堂”立体教学模式的构建:以“环境评价”课程为例[J].现代教育技术,2016(10):86-92.

[4] 刘名卓,祝智庭.微课程的设计分析与模型构建[J].中国电化教育,2013(12):127-131.

[5] 吕瑶.什么样的微课视频受欢迎:MOOC学习数据分析的启示[J].中国远程教育,2014(14):35-37.

[6] 李健军,许昭,白艳红,等.微视频化学实验教学模式的探索与实践[J].实验室研究与探索,2017,36(1):189-191.

[7] 孔利华,温小勇,焦中明.微视频支持下的“学-教”学习模式实验研究:以“信息技术课程与教学论”为例[J].电化教育研究,2015(2):83-88.

[8] 容梅.微型视频课例:相关概念辨析与应用思考[J].中国电化教育,2014(7):100-104.

[9] 熊启军,孙文鹤,方磊.C语言程序设计设计[M].北京:中国铁道出版社,2015.

[10] 熊启军,程格平,屈俊峰,等.基于五导法的程序设计课程群教学研究与实践[J].计算机教育,2017(5):89-91.

[11] 杨梅,王杨.以计算思维为导向的程序设计基础课程教学研究[J].计算机教育,2015(16):94-97.

[12] 陈军.小议3W1H教学法在C语言教学中的应用[J].职业技术,2014(6):43-44.

[13] 谢贵兰.慕课、翻转课堂、微课及微视频的五大关系辨析[J].教育科学,2015,31(5):43-46.

猜你喜欢

C语言程序设计知识点
一张图知识点
一张图知识点
第四页 知识点 歼轰-7A
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
关于G20 的知识点
PLC梯形图程序设计技巧及应用
论子函数在C语言数据格式输出中的应用