李朝玲,王富强,刘明华
(青岛科技大学 信息科学技术学院,山东 青岛 266061)
随着互联网和计算机技术的迅速发展,能够熟练使用计算机并且通过计算机解决本领域的问题已成为大学生的基本要求。计算机技术基础是高校为一年级非计算机专业学生开设的计算机基础课程,一般在大一的上学期或者下学期进行。以一种计算机语言,比如C语言、VB等,使学生掌握程序设计的知识、思想和方法,建立起利用计算机编程解决问题的思维方式,并能够对所属专业领域涉及的简单应用问题进行抽象建模,最终通过编程解决本专业的实际问题。
目前,计算机技术基础课程存在下列问题:①学生计算机基础参差不齐,大多数学生计算机操作能力尚可,但对计算机的基础知识,如计算机的软硬件知识、网络基础知识等并不了解。近些年来,随着手机功能的逐渐强大,计算机操作能力反而有所下降;②学生缺乏自主学习能力,大学课程内容多、讲课速度快,计算机技术基础这门课程对第一次接触编程的学生来说确实比较困难。学生自主学习能力的缺乏,使得一些学生前边几次课跟不上,挫败感大大加强,直接失去了学习的兴趣;③计算机技术基础教学方式落伍,计算机技术基础教学包括课堂教学和上机实验两个部分,很多学生上机实验时,对课堂教学内容已经遗忘大半。
PDCA循环是企业产品生产过程中质量管理和质量改进的重要方法。为解决上述问题,将PDCA循环引入计算机技术基础课程教学,将质量管理的方法和课程教学结合起来,探索 PDCA循环4个阶段应注意的问题和可采用的教学方法及手段,以提高计算机技术基础课程的教学质量。
PDCA循环又称戴明环,是英语Plan-Do-Check-Action(计划—实施—检查—处理)4个词首字母的组合[1-2]。PDCA就是按照这4个阶段顺序进行的,这不仅是一种质量管理方法,还是一套科学的、合乎认识论的通用办事程序。PDCA循环分为4个阶段(如图1所示):计划阶段,主要是以自身实际情况为基础,对质量现状进行分析,找出质量突破点,结合自身情况作出切实可行的质量计划;实施阶段,是质量形成的阶段,按照所制定的计划、目标和措施去具体实施;检查阶段,是检查计划的执行情况和实施效果;处理阶段,是将解决问题的方法标准化,进行总结并提出新目标。质量改进的整个过程,就是按照PDCA循环在指定的计划指导下进行不停顿地、周而复始地运转。
图1 PDCA循环
每一届学生的计算机技术基础教学,都要根据学生专业要求和毕业要求来确定课程的教学目标;在教学过程中,根据教学目标调整教学重点,改进教学方法;在课程结束后,修改、增加试题库,使考试成绩能更好地放映学生的真实水平;试卷批阅后,计算课程目标的达成度,分析教学过程中影响学生能力达成的问题,总结经验教训。这构成了一个大的PDCA循环。计算机技术基础每次课程的进行都应该是一个PDCA循环的小环。各个小环相互联系,相互促进。这样对于每一届学生的计算机技术教学,都是小环连小环,大环套小环,保证了教学质量的不断提高。笔者主要探讨PDCA循环的小环的4个阶段应注意的问题和可采用的方法。
计划阶段对应教学准备阶段,除了认真准备教学课件,教师还要针对计算机技术基础课程存在的问题,给出相应的解决方法。针对学生计算机基础知识的薄弱,教师备课时,要认真分析每次课学生需具备的计算机基础知识,并在课堂教学时首先予以讲解。以C语言为例,在介绍数据类型、表达式时,首先要介绍计算机数据处理时涉及的二进制、八进制和十六进制,还有字符的ASCII码以及数据的存储和存储单位;介绍数组、指针等章节,要对存储单元的地址这一概念进行讲解。程序设计语言都有数据类型、表达式这样介绍语言基本语法规则的章节,对这一章一定要重视,适当放慢讲课进度。多年的教学经验发现,这一章掌握不好,其中的知识贯穿于后续的每一个程序中,调试时大量错误的出现会增强学生的挫败感,进而影响学生的学习兴趣。针对学生自主学习能力不足,缺乏学习兴趣和学生实验滞后等问题,拟在实施阶段采用“以学生为中心”、案例驱动教学、加强师生互动交流等方法解决。
实施阶段在计算机技术基础教学中,包含课堂教学、实验教学和学生的课后自主学习。
1)以学生为中心。
“以学生为中心”的教学理念由美国心理学家卡尔•罗杰斯提出[3-4],其核心思想是在整个教学过程中以学生为主体,教师是学习的组织者和指导者。
程序设计充分体现了理工科专业要求具备严谨扎实品质的特点。在程序编译时,往往很多个错误就是一个小小的标点引起。这也体现出学生上机实践的重要性。如果只是上课听讲、学习课本,但离开大量的编程练习,根本无法学好这一课程,因此,“以学生为中心”尤为重要。
在教学中,精心设计多媒体课件,提高学生学习兴趣;在实验过程中,结合学生实际,精心设计实验项目,鼓励学生动手编程,而不是照着课本敲写代码;展示往届学生较好的设计,以提高学生的兴趣。鼓励学生组成兴趣小组,提高学生的合作能力与自主学习能力。对于这门强调动手实践的课程,实行所谓理实一体化[5],即在机房边上课边实验学习效果当然更好一些。但计算机技术基础是全校一年级学生的必修课,囿于机房、教师数量等因素,不太容易实现。为了弥补这个缺陷,可鼓励学生按照下列流程学习:课前预习→上课积极参与→课后交流互动→上机前书写预习实验报告→上机实践→实践总结,在此过程中,教师要进行鼓励、监督和指导。如果学生能够切实参与到上述流程,可以解决上机和上课之间学习内容容易遗忘的问题。
2)案例驱动。
教学中采用案例驱动可以很好地提高学生学习兴趣。以C语言为例,计算机语言第一章的学习经常以在屏幕上显示“hello world”为第一个例题。该程序只是调用格式输出函数printf函数在屏幕上显示信息。讲解完这个程序以后,接着让学生思考输出如图2所示的图形。
图2 简单程序举例
大部分学生在第一个例题的基础上,可以完成这个程序。第一次课就可以编写小程序,这大大增强了他们学习计算机技术基础这门课程的信心,提高了学习兴趣。第一次课要完成这个程序,需要多次调用printf函数,然后告诉学生,后面可以用循环语句来输出各种二维图形,吸引学生主动对后续课程进行预习和学习。在各个章节的课堂教学中,关于顺序结构,可以设计“求两数的和及乘积”;关于选择结构,可以设计“求两数的最大值”;关于循环结构,可以设计“累加求和”;关于数组,可以设计“求班级学生平均成绩及高于平均分的人数”……在介绍新的教学内容时,首先用案例来引入,不仅增加学生的兴趣,也使学生理解本次课程教学具体应用于解决哪些问题,使学生能够更好地掌握教学内容。
在教学过程中,很多教师都是事先编写好程序,将程序链接在课件中,在讲解时点击链接直接打开,然后讲解程序代码。比较好的方式是一边编写程序一边进行讲解,出现错误时调试,这样让学生可以真正参与编程的过程,对编程有直观的感受。
3)应用现代信息技术,加强师生交流互动。
现代人的生活已离不开手机,现在很多人提出对中小学生“禁止手机入校园”,对大学生“禁止手机入课堂”。但实际上,对大学生,更应该培养自控能力以及自主学习能力。手机的功能越来越强大,可以充分发挥手机的正面作用。计算机技术基础这门课程,更重要的是编程实践,强调的是动手编程能力。忙于适应大学生活的大一新生,并没有太大必要购买电脑。可以在手机上安装APP(如C4droid),就可以进行C程序的编辑、编译和运行。另一方面,多媒体教学以及大学课程的学习内容,使学生无法像高中时那样专门用笔记本来记笔记。除了在课本上标注外,课本上没有的程序学生可以用手机拍照,方便学生在自己动手编程时参考。
随着互联网+技术的迅速发展,“学习通”“雨课堂”等智慧教学工具的使用,实现了线上线下结合式教学。教师可以运用“学习通”或“雨课堂”开展签到、回答问题、测验、讨论、布置任务等教学活动。
计算机技术基础对很多学生来说都是第一次学习编程,课后教师和学生的交流互动尤为重要。如果不使用“学习通”等智慧工具,QQ群也是一个非常好的工具。与加入教学班每个自然班的QQ群相比,教师创建一个QQ群让教学班所有学生加入更好一些。在QQ群里可以发布学习资料、布置预习作业等任务,学生有疑问也可以单独向教师询问。教师可以选择固定时间,比如每天晚上九点集中给学生在QQ群答疑。
计算机技术基础课程教学,要充分考虑该课程特点,进行有效的检查。根据检查结果,教师要分析原因,改进教学方法,以期在后续的教学中进行改进。
1)学习小组。
计算机技术基础一般是采用教学班进行教学,每个教学班包含2~4个自然班。如果学生人数较多,应充分发挥学习小组的作用,由学习小组组长进行课前预习作业和上机预习作业完成情况的检查,再由教师进行抽查。根据抽查情况,教师对学生普遍存在的问题集中统一讲解。
2)上机实验。
上机实验是检查学生学习效果非常好的时间。在学生完成课堂所讲的基础性实验的过程中,教师应该认真负责,及时发现学生普遍存在的问题,及时给学生以讲解。对于创新型实验,由各学习小组选派代表进行讲解,由其他小组成员和教师对创新性项目成果进行评价,并按实验项目指标进行打分并确定实验成果成绩。
3)现代信息技术为检查阶段提供新方法。
通过“学习通”等智慧工具可以看到学生上课的参与情况,在QQ群中也可以通过学生的提问情况了解学生对课程的兴趣。最终的课程考核,笔者开发了计算机技术基础考试系统和阅卷系统,题目由计算机随机从建立的试题库抽取。在考试过程中,学生可以使用计算机上的包括编程软件等所有软件资源。考试完毕后,阅卷系统会判出客观题(选择、填空等)的分数,教师通过阅卷系统进行编程题的批改,最后教师可以从系统导出自己任课班级学生的各题得分、学生答卷情况。
以C语言为例,两重循环和多重循环是C语言学习中的难点。计划阶段,首先教师在智慧通或者QQ群中布置双重循环的读程序、写结果的题目,学生通过预习作业,熟练掌握双重循环的执行过程,为进一步学习打下基础。实施阶段课堂学习中,应用案例驱动,“百钱买百鸡”[6]是个经典且有趣的题目,同时讲解算法中的穷举法。课后在QQ群中发布课堂讲解的程序,分别用两重循环和三种循环,随时回答学生的疑问,并发布上机小组合作完成的题目,比如穷举法的“抓交通肇事犯”[6]题目。上机实验时一人一组先完成上课讲解用实验,小组合作讨论完成“抓交通肇事犯”等题目,并在自主开发的实验系统中完成实验报告。百钱买百鸡应用双重循环的代码如下:
检查和处理阶段,在上机实验中,对学生上机情况进行检查,在上述的程序代码中,历届学生经常存在两个问题:①对两重循环的赋值语句以及条件中的比较运算符,学生概念不清,两重循环使用的是赋值语句;②确定循环体复合语句“{}”的位置不对。在实验结束前十分钟及时讲解。布置习题以及下次课的预习任务,从而下一个循环开始。在整个过程中,以学生为中心,加强师生交流互动。
在两重循环和多重循环的教学中应用PDCA循环,明显改善了教学效果。计划阶段,使学生明确了学习目的,熟悉循环语句的结构和执行过程,为后续利用循环解决实际问题打下基础;实施阶段,有趣案例的引入大大提高了学生的学习兴趣,进一步掌握循环的执行过程;以学生为中心和实验阶段的小组协作,不仅师生互动增加,同时提高了学生解决问题的能力和合作能力;处理阶段针对出现问题的讲解,巩固和加深了对知识的掌握。循环结构的掌握,保障了后续数组等内容学习的顺利进行。
在管理领域,PDCA循环已经应用多年,并对产品的质量改进发挥有效作用。教学实践证明,将PDCA应用到计算机技术基础教学中,从教学准备、课堂教学、上机实验、课程考核到改进整个教学流程,每一次循环都可以使教师不断积累经验,改善教学方法。此外,学生的学习兴趣和自主学习能力得到了提高,学生的知识应用能力、解决问题能力、动手操作能力也得到了锻炼。笔者在后续研究中,计划将更多质量管理的方法引入计算机技术基础教学中。