牛乐
摘要:C语言是目前国际上广泛流行的一种国际化程序设计语言,应用面广,功能丰富。重点在于培养学生对编程的兴趣以及独立编写代码的能力,难点在于突破常规的教学模式和授课方法,使学生学会分析问题,解决问题,培养程序设计的新思想。
关键词:程序设计语言 ,教学模式,授课方法
一、前言
程序设计语言类课程指导思想是:使學生通过学习,熟练掌握程序设计编程技术,编程知识,了解程序编程思想,编程方法,能够独立解决编程过程中的实际问题。
二、注重教学的方式方法
计算机的发展日新月异,不断变化,教学过程中,教学模式和方法也不是一成不变的。因此,教学内容也应随之有所改变,同时,针对学生层次(本、专科)、学生学习能力等不同情况做出差异性区分。没有任何一种教学方法适用于所有人,唯一可参考的就是根据实际情况具体分析具体解决。
C语言是一门计算机高级程序设计语言,更是软件开发、计算机科学与技术、大数据、软件技术等专业大一新生的必修专业课,其意义就更加深远,更加重要了。新生步入大学对上课方式及上课内容及其不适应,习惯了初高中中规中矩“题海式”的教学模式,不习惯大学“实操和理论相结合”的教学体系。曾经是“学好数理化,走遍全天下”,现在是需要“实践出真知”来进行大学相应课程的学习,在教学中,我们要降低教学难度,从基本教学内容抓起,让学生充分学习好基本的知识点,再深入学习探讨。对于计算机的实操课来说,C语言讲究的是从编辑到编译,再到连接,最后执行的过程。该过程中,需要不断摸索,不断报错改错,从而最后成功运行程序,因此,也是一个枯燥复杂的过程,会逐渐降低学生的耐心和兴趣,这也是为什么很多同学抱怨学不会,不爱学的原因。针对以上情况,我们可以从以下几个方面着手解决。
1.从兴趣的角度入手,让学生爱上编程。第一节课,可以带着学生通过当下流行的网络语言进行简单输出语句的练习,从而达到激发学生学习兴趣的目的,例如:(1)printf(“小猪佩奇身上纹,从此便是社会人!”);(2)printf(“百因必有果”);printf(“你的报应就是我”);printf(“记得双击么么哒!”);简单的网络流行语代码的运行可以大大加深学生对编写代码带来的成功感和收获感。第一次接触实践类的程序设计新课程,强烈的操作感和新鲜感可以使学生快速融入到程序设计课程中来。
2.在教学过程中用启发、引导的方法;设置一些难度不一的问题, 引导学生思考,活跃他们的思维。在教学过程中,引导学生在解决问题中学习,要留给学生时间思考、讨论,从而让学生对这些知识点深刻记忆并更深入地展开学习。例如:在讲解C语言常量时,可以先布置简单的问题:输入圆的半径,输出圆的面积?根据之前学的知识,学生会想到圆的面积S=∏*R*R。首先,引导学生面对该问题需要声明几个变量,然后如何显示输入半径,在深一步如何添加输入语句,添加圆形面积公式,确定输出格式,最后运行成功。第一个问题解决后,可以抛出第二个问题,能否从一开始直接声明∏的值,给∏一个固定值。此时,教师通过该问题引出常量标识符#define,讲授define的意义和特点,定义#define Pi 3.1415926,然后在进行进一步输入半径及输出面积的语句。这样不仅让学生明确知道常量标识符的作用,更能了解如何恰当的使用常量标识符。
3.教给学生正确的学习方法,引导学生掌握程序设计的思想。培养学生善于发现问题,主动解决问题。问题一:暑假到了,小迷糊回乡下帮爷爷卖西瓜,想用自己新学习的C语言程序设计课程为爷爷设计一个简易的计算器,帮助爷爷算账。大家知道小迷糊是怎么做到的吗?首先引导学生明确编程过程,编程思想,讨论步骤,进行以下分析:
(1)要解决问题,需要定义几个变量, 变量的类型如何确定。(2)变量需要定义初始值吗?
(3)确定格式控制字符格式。
(4)指定算数运算符。
(5)输出结果,成功运行。
进一步分析:
(1)通过分析可以定义三个变量,一个是单价a,另一个是重量b,实际金额c,设置成整型变量int a,b,c;。
(2)确定输入输出格式控制字符。scanf(“%d,%d”,&a,&b);
Printf(“购买西瓜应支付%d元”,c);。
(3)指定算术运算符。c=a*b;
(4)为了是代码成功运行,要求学生输入单价1元一斤,重量120斤。
通过引导学生完成上述材料所求的问题后再进一步抛出问题引出格式控制符的区别及作用。问题二:爷爷用了小迷糊的软件一段时间,没有赚钱,反而赔了,大家知道怎么回事吗?这时要求学生输入单价是1.2元,重量是5.3斤,让大家求结果运行后结果是6元。然后对学生提问,虽然程序没有报错,但是1.2元买5.3斤,实际正常应支付多少?1.2*5.3=6.36元,那就赔了0.36元,怎么会出现这样的问题呢?引导学生发现问题,让学生自己找到哪一步骤出错。“%d”表示按十进制整型数输出,那么就只能计算整型数,而我们要进行计算的是小数,因此,对于格式控制字符的选择,我们应该选取“%f”即表示数据按十进制带小数点的形式输出。那么步骤就应该改为:
(1)声明变量时改成float a,b,c;,这样参与计算时就可以运行小数算式了。
(2)更改之前的输入输出格式控制字符。更改为:scanf(“%f,%f”,&a,&b);Printf(“购买西瓜应支付%f元”,c);。
(3)指定算术运算符。c=a*b;。
(4)执行程序时,输入单价a的值为1.2,重量b的值为5.3,运行后,结果为,购买西瓜应支付6.36元。
经过对比,改正,重新执行,终于运行成功,在该过程中,不仅使学生练习了编写代码的操作,更加使学生清楚明白了格式控制字符以及变量类型的区别及意义,如此教学方法比单纯的讲解法和灌溉教学法更加深入,更加记忆深刻,操作性强。
以上是我在教学过程中的经验体会,其实实际在教学过程中值得探讨的问题还有很多,比如教学中应适当给予学生鼓励,本科阶段的学生应该如何培养其自学能力,专科学生如何锻炼其实操动手能力等。在C语言教学中,应把逻辑和编程解题思路放在首位,教会学生如何分析问题、解决问题是关键。教师的教学模式,教学方法是教师业务水平的一种极好的体现。如何将教学对象的内在积极性与潜能充分发挥出来,从而达到最佳的教学效果,还需要进行一个长期的探索、实践并总结。
参考文献
[1]高璐,张娟.C程序设计案例教程 [M]. 南京: 南京大学出版社,2016.8
[2]李红,王强.C程序设计实例教程 [M]. 北京: 机械工业出版社,2010
[3]姜灵芝.C程序课程设计案例精编 [M]. 北京: 清华大学出版社,2008