郑雪芳,董晓丹
(江苏信息职业技术学院,江苏 无锡,214153)
《C 语言程序设计》课程是高职院校理工科各专业开设的一门计算机编程基础课。 通过本课程的学习,使得学生掌握C 语言的基本语法,以及结构化程序设计方法。 培养学生计算机编程的基本思想和基本技能, 以及运用结构化程序设计方法编写程序解决实际问题的能力。
在传统的C 语言课堂中,课堂教学主要以讲授法为主, 讲课时的大段代码往往会使学生摸不着头脑,课堂缺乏互动和讨论,老师讲得很辛苦,但效果不理想, 学生中存在着较为严重的畏难情绪。 除此之外, 传统的教学模式中缺乏对学生学习习惯和自学能力的培养。[1]不能很好地因材施教,忽视了学生的个体差异, 大部分学生只是被动地完成老师布置的作业, 没有找到适合自己的学习方法, 不具备良好的学习习惯和自学能力。
信息化教学, 是指教师合理、 充分运用信息技术、数字资源和信息化教学环境,突出教学重点,解决教学难点, 创设学习的情境, 并根据实际教学情况及时调整、优化教与学的过程。[2]教师要在教学过程中合理使用信息化手段来调动学生的学习积极性,发挥学生的主体作用,培养学生独立思考问题、分析问题、解决问题的能力,激发学生的创新精神,全面提高学生的综合素质。 基于上述原因, 我们在本校应用电子技术专业高职二年级的3 个平行班中随机选择了1 个班级开展《C 语言程序设计》课程的信息化教学试点。
根据本课程的实际需要, 在信息化教学的实施过程中,我们主要使用了如下的信息化教学资源:
(1)开放式虚拟实验仿真平台:教师可以在平台上发布自主学习资料, 查看学生的练习情况, 帮助修改调试程序; 学生可以在平台上自主学习、 调试程序、完成预习实验、进行提问交流等。
(2)蓝墨云班课APP:发布课程学习资源,查看学生学习进度,实施问卷调查,进行课堂测试。
(3)视频资料:将课程知识点录制成42 个微课视频,制作了16 个FLASH 动画,可以直观展示相关概念,激发学生的学习兴趣。
(4)Microsoft Visual C++6.0 软件:用于编写调试程序。
(5)多媒体课件:与教学内容配套的PPT。
(6)相关程序设计专业网站,如:编程论坛:http://bbs.bccn.net/、中文IT 社区CSDN:http://www.csdn.net/,学习了解程序设计的相关技巧。
本文以《C 语言程序设计》课程中《函数的递归调用》章节为例,进行信息化教学设计。《函数的递归调用》是本门课程中的一个难点,单纯的理论讲解很难让学生理解递归的概念以及设计递归算法的步骤与方法。在教学过程采用多种信息化教学手段,创设任务情境,激发学习动机,将知识性和趣味性,严谨性和形象性有机结合,才能有效的突出教学重点,解决教学难点。
本课程授课对象是应用电子技术专业高职二年级学生。
具备条件: 已经学习了C 语言的相关基础知识,初步掌握了函数定义和调用的方法,并且能够熟练使用Microsoft Visual C++6.0 软件编写调试简单程序。
不足之处: 对于程序设计内容的理解还不够深入,编写自定义函数的能力尚有欠缺,缺乏理论应用于实践的能力。
学习特点: 热衷于信息化教学, 喜爱做中学、学中思,乐于在老师引导下,利用信息技术开展深入实践与研究。
我们将本章节内容的教学活动分成课前自学、课堂教学和课后拓展三个环节,充分利用信息化手段,借助虚拟实验仿真平台以及蓝墨云班课,在线上自主学习的基础上, 通过课前练习了解学生对各知识点的掌握情况, 根据反馈情况实施课堂教学。 依托任务情境,通过三个问题“什么是递归? ”、“什么时候使用递归? ”、“如何设计递归算法? ”来安排教学活动,使得整个过程清晰、流畅、自然,符合学生认知规律。 各环节的学习活动安排如表1 所示。
课前,以“翻转课堂”的形式,引导学生利用虚拟实验仿真平台开展自主学习和讨论, 并根据学生对各知识点掌握情况的反馈来组织课堂教学, 这种形式有效缩短了支撑知识的学习和讲解时间, 把学习活动的重点放在典型例题的讲解以及编程技巧上,真正从“教”向“内化、拓展”转变。
课中,以生活中的递归——年龄问题,贯穿三个知识点的讲解;以FLASH 动画的形式更直观的展示递归的两种形式:直接递归和间接递归;通过“汉诺塔”游戏软件的演示分享,帮助学生理解递归程序编写的关键点。 程序均用Microsoft Visual C++6.0 软件演示,通过代码单步执行、知识描述、数据变化同步PPT 动画演示,让学生更好掌握“汉诺塔”问题的算法设计;最后利用蓝墨云班课进行课堂测试,当堂检验教学效果。
课后,学生通过实验平台上的巩固练习,加强对递归概念的理解,进一步掌握设计递归函数的技巧;以信息化的手段引导学生主动学习,自觉学习。
从学生的课堂表现来看, 信息化教学手段有效突出了教学重点,解决了教学难点,激发了学生的学习兴趣,提高了学生自主学习的能力。
《C 语言程序设计》信息化教学实施一个学期后,我们对试点班进行了一次问卷调查,共发放问卷45份,最终回收的有效问卷为44 份。 调查结果如图1所示。
从问卷调查的结果来看, 大部分同学在本学期信息化教学的实施过程中获得了良好的学习体验,大部分同学认为信息化教学手段有效提升了自己的学习兴趣,有助于培养自主学习能力(图1(a)-(b))。82%的同学认为本学期的信息化教学中, 评价体系更全面更有针对性(图1(c))。 对于后续课程中是否愿意继续接受这种信息化教学模式, 有46%的同学表示愿意,45%的同学表示依据课程性质而定,还有9%的同学表示不愿意(图1(d))。
在调查问卷中, 有部分同学对信息化教学提出了更高的要求和期待,主要包括:希望老师能够提供更为丰富的信息化教学资源、 在实验平台中多展现程序设计的思路以及增强平台稳定性等等。
表1 《函数的递归调用》章节学习活动安排表
图1 问卷调查结果示意图
信息化的教学手段对程序设计类课程尤其适用, 今后应进一步丰富本课程的信息化教学资源,充分发挥开放式虚拟实验仿真平台等资源的优势,提升教学效果,提高教学效率。 另外,在进行教学设计的时候应当注意,要从课程内容的实际出发,从突出重点,化解难点的角度出发,有针对性的进行信息化教学设计,切忌将信息化手段进行大量堆砌。