伴随职业教育的发展,案例教学法在职业计算机教育中越来越受到广泛重视,很多中、高职计算机教材都是以项目引导的模式编写。但现实中,很多教师由于受到教学工作量大、学生知识水平参差不齐等众多客观因素的影响,并未按教材的要求实施项目引导下的教学活动,大多数教师仍然采用传统的讲授方式,所以改变职业教学的传统教学模式,实施项目驱动下的案例教学仍然任重而道远。
一、项目驱动下的案例教学概述
项目驱动下的案例教学是指在教材的引导下,通过实施一个完整的教学项目,更确切的说,是以一个项目作为一个案例而进行的一系列教学活动。方法是教师将需要解决的问题以一个项目的形式交给学生,学生在教师的指导或引导下,在学生和教师共同参与下,通过师生、生生之间的平等交流和研讨,人人动手,相互协作,在校园网的支持下,共同寻找解决问题的答案和方法。
传统的教学模式是以教材为中心,以教师讲授为主导,学生被动接受,忽视了对学生的动手能力的培养,对学生创新能力培养和技能型人才培养有很多的局限性。案例教学法凸显了以学生为主体的现代教学理念,改变学生被动接受到主动探索。在计算机教学中采用案例教学法,有利于理论与实践操作的有机结合,有助于学生协作编写程序的能力,能够培养出更多计算机应用方面的人才。
二、案例选择
案例是案例教学的基本素材,案例的选择直接决定了教学质量的高低[1]。开展案例教学,首先要求教师要承担案例的选取者、设计者,其次要承担案例的实施和引导者,还要承担案例的评价和总结者。
(一)选择案例要有针对性
选取的案例要具有典型性和针对性,要根据教学的内容,针对教学目标和预期,针对教学中需要重点解决的问题来选择案例,选择的案例要具有承上启下的作用,对上需要用到以前的知识,对下能引导后继课程的开展。选择案例要有利于突破教学的难点,有利于提高学生深入剖析问题和解决问题的能力。选择的案例要有代表性和共性,突破一个案例,能够解决一系列的问题。
(二) 案例要系列化
选择的案例要小而简,尽量把一个大问题化解成若干个小项目形成系列,对一个大问题用一系列小项目来突破。要选择能在现有知识的基础上,能顺利解决的案例,偏难偏大的案例对学生来讲,理解起来有一定的困难,时间长了会降低学生的兴趣。在程序设计课程中,排序程序需要双重循环才能实现,是一个比较复杂的程序,但他又是一个非常重要的程序,如果直接选择排序作为一个案例,学生接受起来肯定有一定难度,结果是学生不愿意听,也不会和教师互动,重回教师唱独角戏的讲授模式。如果把排序设计成四个小项目作为案例,①给数组赋值并输出数组;②顺序查找;③用for语句实现循环求最值;④排序。这四个项目前后关联形成一个系列,教学中四个项目一步一步推出,看似速度慢,但学生听得进去,看得出 “门道”,讨论时能够讲得出“道道”,课堂气氛热烈,教学效果好,学生学习排序程序理解起来就比较容易,教学进度得以顺利推进。
(三)案例要有味道
选择的案例不宜过大,也不能太小,太小的案例包含的内容太少,引不起学生的兴趣,教师也讲不出精彩。这就需要教师认真专研教材,努力发现教材中难易适中,有“内容”、有“味道”的项目,这样的项目作为案例开展案例教学,配以图文并茂的PPT展示,以做游戏的方式很容易把项目讲的深入、透彻、引人入胜。 在程序设计课程的教学中,选择求最大数作为一个项目,进行案例教学,可以用PPT展示拳王擂台赛的情景,配以“学习+游戏”的教学模式进行教学,学生听起来兴趣十足,讨论起来非常热烈,做起游戏来高高兴兴。选择求最大数作为案例,还可以为后面学习复杂的排序程序打下基础。因此,选择难易适中有 “内容”,有“味道”的项目作为教学案例,对案例教学的开展是非常必要的。
三、 案例教学对教师的要求
(一)对教师的基本素质要求更高
选择一个好的案例,要求教师要有精准把握教材重难点的能力,要有精准预测学生能否顺利完成项目的能力。在实施教学过程中,要求教师要具有丰富的理论知识和实践经验,还要具有把理论和实践高度融合的高超技能。要求教师能把复杂问题简单化处理,大而难的问题能化解成若干小而简的问题去解决。对一些预想不到的情况,还要求教师要有引导和掌控全局的能力。
(二)教师花费的时间更多
教师要精选案例、做好教学设计、制作PPT、分析教学过程中可能出现的各种情况,需要花费大量的时间和精力,对教师来讲要有爱岗敬业,为教育事业甘愿奉献的精神。
四、案例教学在计算机教学中的优势与局限性
(一)优势
案例教学中,学生是教学中的主角,强调师生共同参与,教师注重引导学生多渠道收集各方面的资料和信息,并对收集到的资料进行多角度多方位的全面分析和研讨,共同探寻解决问题的路径和方法。案例教学,是一种开放动态的教学模式,学生在协作共同探索答案的过程中,提高了创新能力和团结互助的亲和力,学生的分析思维能力不断得到深化,创新思维能力不断得到提升,为今后走入社会打下了坚实的基础[2]。
计算机课程有理论知识也有实践环节,学生普遍重视实际操作,而轻视理解理论知识,怎样把把理论与实践操作协调进行,这是摆在我们广大教师面前的一道难题。案例教学,可以把枯燥的理论知识在游戏中交流与研讨,在计算机实践操作的配合下,枯燥的理论知识得以顺利理解和掌握,课堂教学,因而变得更加生动活泼,寓教于乐,有利于教学效果的提升,能够激发学生的学习热情和勇于探索的动力[3]。
(二) 案例教学的局限性
案例教学的确具有很多优点,但实际使用起来也有很大的局限性。一是学生必须要具有一定的知识储备,才可以开展案例教学。二是学生基本素质可能有很大的差异,在一起共同研讨案例有一定的困难。三是教师的精力和时间有限,不能支撑经常性的使用案例教学。总之,案例教学不宜在课程初期进行,也不宜过多的使用案例教学[4],只有将传统的讲授教学与案例教学有机结合,才能收到更好的教学效果。
五、项目驱动下案例实施过程
(一) 课前准备
(1)教师的课前准备
教师的课前准备包括,一是要求教师要深入研究教材内容,把知识点大体分为几个项目,选择具有代表性的典型项目开展案例教学。二是要求教师课前要充分了解学生的知识储备状况[5-7]。三是要针对学生在教学活动中可能提出的问题,拟定出多种相应的教学方案。四是要及时利用校园网站发布案例教学的有关信息,包括教学目标、教学项目、教学方案以及要求学生预习的内容和准备讨论的问题等内容。
(2)学生的课前准备
在案例教学活动前,要求学生根据老师在网上发布的要求做好相应的课前准备,以便参与回答问题和讨论。学生把遇到的疑问发表在网站上,课前老师、同学都可以参与讨论,通过互相交流、互相学习,为课间教学做好准备,学生间的沟通和交流激发了更高的学习热情和欲望[6,7]。
(二) 案例推出与实施
教学活动开始后,首先就是案例推出,也就是把案例展现在学生面前,可以使用口头讲解和PPT展示,旨在分析问题,提出解决问题的途径和方法。案例讲解要与生活紧密联系起来,用发生在我们身边的实例深入简出,缓缓地把案例推到学生面前,这样的方式学生更容易理解,更容易接受。
(三) 项目完成后的评价
项目完成后要对完成效果有一个客观的评价,教师根据学生课堂和网上作业完成情况以及讨论情况,参考学生在网站上的评价,给每位同学A、B、C三种评价,并将每次评价纳入期末综合成绩。
六、数组排序教学案例
(1)课前准备
教师在校园网上发布,①案例项目:数组排序;②预习内容:最大数,怎样给数组赋值并输出数组元素的值:③生活中,用什么方法把10个人从高到低排成一个队列。
(3)案例推出
有10个同学,a[0],a[1],a[2],…,a[9] 。
这个队列是无序的,我们的任务是把他们从高到低排成有序,大家一起先来看看人工完成排序的过程。
(4)案例实施
STEP1:求10数中的最大数。先从10个人中找出一个最高个,让他排在队首,即a[0]的位置,a[0]的任务结束了。
STEP2:10人队列中含有两个子队列,一是有序的1人队列a[0],二是无序的9人队列a[1]到a[9],把无序队列命名为新队列。
STEP3:求9个数中的最大数。在新队列中再找一个最高个,排在新队列的队首,即a[1]的位置,a[1]的任务也完成了。现在的有序队列中有2个人a[0]和a[1],无序队列有8个人,同样再把8人无序队列命名为新队列。
STEP4:排序就是多次求最大数的过程,循环多次求最大数,可以完成排序的任务。重复执行STEP3,直到无序队列有0人,有序队列有10人,任务完成。
(4) 提出问题并讨论
①STEP3重复执行几次,无序队列会变成有0人,有序队列变成10人。
②每执行STEP3一次无序新队列的队首怎样变化?
③用什么办法可以让STEP3重复执行?
(5) 继续讨论
①现在谁能编写一个求a[1]到a[9] 中的最大数,并将最大数放到a[1]中的程序段?谁又能编写一个求a[2]到a[9] 中的最大数,并且放到a[2]中的程序段?等等。
②按照这样的思路,编一个求a[i]到a[9]中的最大数,并将其放到a[i]中的通用程序段,这个通用程序段只要让i从0变化到9,就能完成所有功能。
③发现什么规律了没有?怎样让i从1变化到9呢?用什么语句可以实现?
int a[10]={3,8,7,6,34,56,9,8,2,0};/*数组赋值*/
int i,j,t,max;
for (i=0;i<10;i++)//有10个数参加排序
{ max=a[i] ;//令a[i]为最大数
for(j=i+1;j<=9;j++)/*最大数max/a[i]和以后的各个数进行比较*/
{ if (a[j]>max) /*a[j]战胜了最大数max*/
{ max=a[j]; /*令a[j]为新最大数*/
t=a[j];a[j]=a[i];a[i]=t; /*把最大数交换到a[i]中*/ }
printf("%d\n",a[i]); /*输出10个最大数*/ }
(5) 总结与评价
编写计算机程序,就是把人的语言翻译成计算机能听得懂的计算机语言。要善于利用已经具有的知识,去发现重复的东西,而重复的内容可以用循环来实现。查找、求最值、排序是计算机程序的基本功能,在大型程序中处处离不开这些功能,要把这三种程序作为工具熟练应用。最后,教师根据作业完成情况以及网上讨论情况,给每个同学进行评价。
七、结语
计算机课程是实践性很强的课程,在职业教育中采用项目驱动案例教学,能将理论与实践有机结合,有利于实用技能型人才的培养。程序设计的教学目的就是学习编写程序,而计算机程序是非常有规律的,这些规律性的东西为我们开展项目驱动案例教学,提供了非常有利的条件。希望广大计算机教师都来研究案例教学法,为我国计算机教育事业贡献自己的力量。
参考文献:
[1] 焦玲华. 案例教学法在程序设计教学中的应用[J]. 山西科技,2011 26(2):128-129.
[2] 袁晔. 案例教学法在计算机教学中的应用[J]. 中国职业技术教育,2007(8):38.
[3] 韩晶.案例教学法在计算机基础教学中的应用研究[J].现代职业教育,2018(7):112
[4] 杨运峰,靳小红.案例教学法在程序设计教学中的探索[J].科技创新导报, 2008(7):,239
[5] 张苍楠. 案例教学法及其在Photoshop教学中的应用[J]. 科技信息,2008(12):558
[6] 李海霞.案例教学法在Photoshop 教学中的应用[J]. 计算机教育, 2007(9):16-17