案例教学法在编程语言课程中的作用探讨
摘 要: 针对当前学生对编程课程学习热情普遍不高的情况,提出在编程语言教学中使用案例教学法来激发学生的学习热情。首先,对案例教学法进行了解释;然后,结合软件工程专业的C#程序设计课程教学实践,从四个方面分析案例教学法的实际作用,具体阐述如何有效运用案例教学来提升学生编程能力;最后,给出了关于如何恰当使用案例教学法的几点建议。
关键词: 编程语言; 案例教学; 学习兴趣; 编程能力
中图分类号:G642.0 文献标志码:A 文章编号:1006-8228(2014)11-62-02
Study on the effect of case teaching method in courses of programming language
Yu Qihong
(Computer Department of Suqian College, Suqian, Jiangsu 223800, China)
Abstract: The learning enthusiasms of students in programming courses are low currently. Case teaching method is advocated in the programming language teaching to arouse students" enthusiasms for learning. The case teaching method is explained. By the teaching practice of "C# program design" course of software engineering, the role of case teaching method is analyzed from four aspects. How to apply case teaching to improve students" programming ability is elaborated. Some advice about how to properly use case teaching method is given.
Key words: programming language; case teaching; learning interest; programming ability
0 引言
早在二十世纪初期,哈佛大学的MBA课程教学中就引用了案例教学法即:通过情景导入、情况分析、归纳推断来解决新的问题的方法。由于案例教学法获得了巨大的成功,现已推广到许多实践类课程教学中,这归因于它的灵活性、新颖性和多样性。
编程语言类课程是实践性和应用性极强的课程群,大量的基本知识需要编程实践来掌握。如果教师只是注重理论讲授而不注重编程实践,那么学生的编程能力就不会得到提高。
另外,如果仅仅讲授理论知识,学生也会失去学习的兴趣,肯定不能很好地完成学习任务,进而达不到人才培养的要求。
为了提高编程类课程的教学质量和提升学生的编程能力,我们在教学中有效地使用案例教学法。我们的理解是:案例教学法要贯穿于教学过程的始终。通过分析研究,我们对案例教学法有了新的认识,我们把传统的案例教学法称之为“狭义案例教学法”,可以通俗地理解为教学过程中运用适当的例子对知识加以阐述,以使学生更好地理解和掌握知识。在此基础之上,我们推广了案例教学法,在坚持“狭义案例教学法”思想精髓的前提下,我们还把激励学生学习编程兴趣的一些成功人士的经历也看做是案例教学法的一部分,把注重实践考核的形式也作为案例教学法的一部分,统称为“广义案例教学法”。在具体的语境中,很容易区分清楚,所以在本文我们统一称之为案例教学法。对于案例教学法的具体应用,以我校软件工程专业的C#程序设计课程为例从以下几个方面来阐述。
1 用案例教学法激发学生的求知欲
好奇心和求知欲是我们探索未知问题的动力。只有当学生不是用“完成任务”的应付心态,对编程产生浓厚的兴趣[1],喜爱编程,主动编程[2],用心编程,才可能真正提高编程能力。在这个过程中可以用案例教学法来启迪学生的求知欲,充分调动其积极性。为此,我们采取了如下的措施。
从第一节课开始,就适当运用案例教学法激发学生学习编程的兴趣和求知欲。因为通常第一次课的教学内容比较枯燥,都是一些关于该语言发展历史的叙述,以及该语言特点的介绍和编程环境简介等内容。如果仅是照本宣科,讲解书本所涉及内容,学生一定会觉得乏味,更别提兴趣和好奇心了。考虑到有些知识学生基本可以自己看懂,我们可以这样处理:①为了保持课程的完整性,我们要讲解这些知识,但是略讲书本上已有知识,补充讲解书本上没有提及的相关知识和与此有关的名人事迹来激发学生的学习兴趣;②适当展示上一年级学生编写的一些有趣和有含金量的程序来激发学生的好奇心和求知欲,比如扫雷、贪吃蛇等众人熟悉的小游戏、学生信息管理系统应用程序等。这样还可以让学生对程序设计语言的作用有个直观印象,有利于以后的学习。
2 用案例教学增加学生兴趣
兴趣是最好的老师,当学生对学习有了浓厚兴趣的时候,学习主动性会倍增。但是有些知识点本身是很枯燥无味的,这时可通过适当的案例来讲解,比如说讲到程序基本结构中分支结构的时候,可以用以下的求身高/体重比的案例:当身高/体重比值在标准区间时,用一个PictureBox控件添加一幅标准身材的古代美女图片,在代码中相应的只要增加一句代码即可,以此来体现分支语句的作用。效果如图1所示。
private void button1_Click(object sender, EventArgs e)
{ double h, w, t;
h=Convert.ToDouble(textBox1.Text)/100;
w=Convert.ToDouble(textBox2.Text);
t=w/(h*h);
if (t>=18 && t<=25)
{ label3.Text="您的身体完全标准,注意保持!";
pictureBox1.Visible=true;
}
else if (t<18)
{ label3.Text="您的身体偏瘦!"; }
else if (t>25 && t<=28)
{ label3.Text="您的身体有点超重!"; }
else
{ label3.Text="您的身体比较胖!"; }
}
图1 身高体重比测试程序界面
这样更能吸引学生的注意力,激发他们的学习兴趣,让同学们渴望自己主动编程。事实上,这个例子还可以进一步探讨,比如,可以启发式地提出这样的问题:在算出身高和体重比是属于偏瘦和偏高的情况下,是否也分别用一个PictureBox控件来处理呢?可以引导学生用类似的方法处理,还可以告诉学生用另外的如ImageList这样控件来处理会更容易,但这个要留在另外的章节来学习。这样,学生便会更加期待以后的学习。当学生编程经历多的时候,编程能力自然而然地就提高了。
3 运用案例教学启迪学生发散性思维
编程绝对需要想象力,编程语言只是一个工具而已,使用编程语言能产生什么样的产品,很大程度上需要编程者具有很好的想象力和发散性思维。比如现在大家基本都使用的网络交流工具QQ软件,它最初的设计构想确实是一件了不起的创举。我们在讲授知识的同时应有意地启发学生的创造性思维和想象力。比如讲解到数组的时候,可以使用我们设计的“连连看”小游戏实例来讲解,界面如图2所示。考虑到学生的具体知识积累和教学内容,先主要讲解数组的情况,我们可以这样使用该案例:详解用数组保存不同图片的状态;略提核心的“路径是否可通”的关键算法,并启发学生自己思考;进一步启发学生思考如何“随机化”才能保证游戏可以顺利进行。
图2 连连看游戏界面
4 用实例来说明知识的实用性
学习知识最终是为了更好地运用即“学以致用”。对于软件工程专业的学生而言,所学编程语言能否最终编写出实用的应用程序,这是很多学生所关心的问题。对此,在讲到数据库应用这一章的时候,我们可以这样安排案例:设计一个实用且学生都熟悉的学生信息管理系统(登录界面如图3),结合具体的应用来讲解数据库编程的基本知识点。这样使用案例来阐述的知识就易于被学生接受;并且通过这个案例的讲解,加深了学生对编程语言的功能理解,更加跃跃欲试编写实用性的程序。这样使学生不由自主地主动学习,其编程能力就会不知不觉地得到提升。
图3 学生信息管理系统登录界面
5 结束语
案例教学法使用恰当[3],可以很好地活跃课堂气氛,激发学生的求知欲,培养学生的学习兴趣,拓展学生的思维,让学生更清楚编程语言的实用性。对于如何恰当使用,我们认为,首先对学生的情况要进行细致的了解,不仅要弄清学生的知识基础水平,而且也要搞清楚学生的思想状态[4]和学习意识等;其次要根据教学计划和大纲要求整体把握课程[5]、精选素材和准备素材;第三,在课堂使用案例教学时要根据课堂情况灵活多变;最后,在课后要及时总结案例使用成效,以为今后更好地使用。
参考文献:
[1] 王春凤,刘世峰.以编程能力培养为核心的教学设计与实践[J].计算
机教育,2009.10:133-135
[2] 佟萍.调动学生主动性,培养编程能力[J].中国教育信息化,2012.8:
46-47
[3] 于启红.不同专业《计算机网络》课程案例教学探讨[J].现代计算机(专
业版),2011.33:46-48
[4] 姚利民,段文彧.高校教学方法改革探讨[J].中国大学教学,2013.8:
60-64
[5] 李寒梅.案例教学在教师教育课堂教学中的观察与启示[J].中国大学
教学,2013.6:70-72