计算机程序设计课程是一门实践性很强的基础课程。通过学习本门课程,可使学生掌握编程语言的语法知识、控制结构以及结构化程序设计的基本思想,使学生认识到算法以及良好的程序设计风格在本课程的学习过程中是非常重要的[1]。高校教师们一直在积极探索如何在教学过程中提高学生运用编程语言解决实际问题的能力。笔者通过几年的教学实践发现,将计算机程序设计课程中一些难以理解的碎片化知识点, 运用微课的方式提供给学生,收到了良好的教学效果。
1 微课教学的优势
微课是指以视频为主要载体,记录老师在课堂内外教育教学过程中围绕某个知识点或教学环节而开展的教与学活动的全过程[2]。微课一般利用 6 ~10 分钟的时间讲解一个知识点,较短的教学时长能够充分抓住学生的学习兴趣,避免长时间枯燥的讲授给学生带来枯燥感,从而大幅提高教师的教学效率。
计算机程序设计课程是大学生计算机教学系列中一门实践性很强的公共基础课,知识点很多,而且知识点之间具有较强的连贯性。学生在学习过程中,如果某个知识点没有理解, 那么会导致跟不上后续课程,进而失去学习兴趣,产生畏学情绪[3]。因此,好的教学方法的运用,不但可以提高教师的教学效率,还可以提高学生的学习兴趣,进而使学生由被动学习转为主动学习。笔者经过几年的教学实践发现,微课能较好地帮助学生学习难点。微课是以视频的方式呈现给学生, 能够方便学生在课后自主学习。对于重难点内容,通过观看微课,学生可以根据自己的情况进行有针对性的预习和复习,消除知识盲点,完成对课堂学习的补充[4]。
以计算机程序设计课程(C 语言)中的一个知识点(折半查找)为案例,讲解微课教学的设计与应用。
2.1 微课教学知识点的选取
微课的教学时间较短,一般是围绕一个知识点来开展教学。知识点的选择和分析处理尤其重要,知识点的选择要细, 将知识点按照逻辑分割成多个小知识点,十分钟内讲解透彻。对于知识点的讲解要准确无误,不能出现文字、语言、图片等的知识性错误或误导性描述。
程序设计的根本是算法,只有算法清楚,才能结合具体的语言编写程序代码。在《计算机程序设计基础》课程中,常用的算法有求最大数、求阶乘、求最大公约数、求素数、冒泡排序、迭代算法、递归算法等。从课程开始就应该让学生重视算法,并逐步掌握算法,每次课上的案例应该讲解一个或两个算法,突出算法的归纳和运用。在教学中选取案例时,要注意案例的实用性、趣味性和综合性,由此引起学生的兴趣, 达到立竿见影、事半功倍的教学效果[5]。
比如在教学过程中可以通过求解汉诺塔问题,使学生理解递归思想,通过对矩阵乘算法的学习,让学生理解分治与并行思想。教学实践证明,案例式微课教学可以将抽象的概念、枯燥的语法、繁多的算法转化为一个个具体生动的实例,从而达到良好的教学效果,为后续程序类课程的教学打下坚实的基础[6]。
计算机对数据的处理,在许多情况下需要从大量的信息中查找有用的数据,效率低下。本案例教学中选取的查找内容里的折半查找是一种效率较高的查找方法。
2.2 微课教学内容的设计
首先,通过大量图片的展示吸引学生的兴趣,引入为什么要查找,以及日常生活中常见的一些查找。通过表格展现查
接着,讲解折半查找的基本思想,并以具体的实例通过动画演示的方式,分析折半查找的具体过程。折半查找的过程演示非常重要,重点要指出折半查找的查找区间一直在变,查找区间的上界和下界分别发生着怎样的变化,只有演示清晰明确,学生才能更好地理解知识点。在分析的过程中,引导学生自己画出 N-S 图,并且根据 N-S 图引导学生写出程序的伪代码, 进而用C 语言写出程序代码[7]。
最后,知识点小结,并指出注意事项,折半查找只适用于查找区间内的有序数据。同时提出了新的问题,如何能让数据有序呢?
2.3 微课教学媒体设计
微课视频的制作工具很多,它决定了微课的最终表现形式。本案例知识点的制作选择了“Camtasiastudio+PPT”的制作组合,利用此组合,教师可以较为方便地录制教学内容,编制制作并合成输出微视频。
2.4 微课教学手段的运用时机
微课可以运用在课堂教学中,以微课为中心的课堂教学包括视频观看、学生讨论、教师总结等环节。视频观看环节通过图片、表格、动画等多种手段让学生对重难点内容有深刻的理解 ;在学生讨论环节,可以将学生分为多个小组,既要让每个人都发表自己的意见,又要避免过分关注某个问题而忽视其他问题,并以报告的形式交给教师。最后,老师对学生的报告作总结。老师的总结能够纠正学生在讨论过程中的理
微课更广泛的运用是在学生的课后自主学习中。老师将微课内容上传至学习平台或直接下发给学生,以供学生课后学习,既能弥补学生在课堂对某些知识点理解不深,又能让学生对刚学到的新鲜知识进行巩固,形成知识系统,一举多得 [2]。
3 结 语
随着信息时代的不断发展,传统的教学方法面临着紧迫的改革需求,如何有效提高教学效果,满足新形势下学生学习方式的多种需求,教学方式和教学手段需要不断进行创新改革。微课作为一种新型教学手段,应用在计算机程序设计课程中对提高教师的教学效率起着重要的辅助作用。