摘 要:C语言程序设计实验课程的传统教学模式存在以教师为主体、教学目标不明确等问题。本文在教学实践中从教学内容、激发学生兴趣、设计考核体系等方面对C语言实验课程进行改革。实践表明,我们的改革能够取得较好的效果。
关键词:C语言程序设计;实验课程;教学实践
中图分类号:TP392 文献标识码:A
1 引言(Introduction)
C语言程序设计作为一门重要的程序设计语言入门语言,在课程体系中的地位不言而喻。盐城师范学院将C语言程序设计作为计算机专业本科生程序设计课程的基础核心课程,已有多年历史。该课程对培养学生计算思维、编程能力、自学能力和分析解决计算机问题的能力有着至关重要的作用,并对后续课程,譬如算法与数据结构、数据库原理、操作系统等核心课程的学习有非常大的支撑作用。但是,C语言中概念多、难点多、语法复杂、设计到的硬件知识多、使用灵活、不易调试等特点,容易导致学生出现畏难情绪,极大地遏制了学生的学习兴趣。本文针对以上问题就该课程对应的实验课程做几点思考,从课程内容、教学方法、教学手段等几个方面进行大胆改革,积极投身教学实践,结果显示我们的改革能取得较好的效果。
2 传统教学模式存在的问题(Defects of traditionalteaching model)
C语言程序设计实验课程是计算机专业进入大学后要学习的第一门程序设计实践课程,它对提高学生编程兴趣和动手能力有着至关重要的作用。或者说,该课程是热爱编程和害怕编程的两种学生的分水岭。传统教学模式在实际教学过程会存在以下问题[1]。
(1)生源的计算机基础参差不齐,有些学生进入大学前就已经通过计算一级考试,有些学生还没有接触过计算机。进入大学后同一平台学习程序设计,后者明显感觉到有压力,自信心受打击从而出现厌学的情绪。
(2)传统教学模式的过程以教师为主体,学生被动的学,对于实践性很强的课程,学生逐渐丧失兴趣,缺乏学习的动力。C语言程序设计实验课程上,如果只是简单的做些验证性实验,则不能培养学生独立编程解决问题的能力,极大地扼杀了学生的创造力。
(3)由于被动的学习,造成只是照本宣科,缺乏钻研精神,导致学生在后续专业课程或参加设计性、综合性实验课程时,往往力不从心,达不到预期的教学效果。
(4)教师对课程教学目标不明确,认为将该课程的语法知识传授给学生就达到教学目的,这样就背离了通过学习C语言应该培养学生能够用编程语言去分析和解决实际问题的能力的宗旨。
3 改革方案(Project of innovation)
C语言程序设计是一门实践应用性较强的学科,在日常的教学过程中需要不断强化实验环节,让学生在操作实践过程中不断地发现、分析和解决新问题。为了实现上述目标,教师在教学过程中必须要结合有效教学理论的要求,努力改进教学方法。
3.1 精心设计好教学内容
案例教学教学法的理论依据是构建主义学习理论[2]。构建主义者认为,教学设计要发挥学习者在学习过程中的主动性和构建,教师的职责在于使学习者置身于探索知识之中,为他们提供适当的“情境”[3]。在设计案例时,要兼顾不同基础的学生,不能让实验课变成少数人的实验课。因此,我们将教学内容按层次组织。第一个层次为基本知识,所有的学生都必须能够通过自身的努力顺利完成,这样可以极大提高学生的学习积极性。第二个层次为对所学知识简单的应用,这个层次对基本概念和方法加深理解,需要学生通过自己的钻研、参考课外资料,发挥自己的学习能力。通过这一层的学习,所有的学生应该能够学会主动积极地查阅文献,切实提高自己的钻研和自学能力,同时也能鼓舞学生的斗志。第三个层次是用所学知识去解决实际问题,真正做到培养学生的创造力。这个层次需要通过大量的思考和联系才能达到,同时也能选拔出具有一定天分的学生。
3.2 激发学生的学习兴趣
兴趣是最好的老师,同时兴趣也是学好程序设计的关键,而培养学生对C语言程序设计课程的兴趣关键在于实验课。激发学生的学习兴趣的关键莫过于让学生有解决实验中碰到问题的能力,不会因为C语言本身的问题丧失学习的信心。比如,让学生掌握调试手段。首先我们使用一个有趣的现象引出为何要使用调试工具,以及调试工具使用方法。例如,我们给出如下所示代码,请学生写出运行结果。绝大部分学生会给出从246到255的十个数。运行的结果告诉他们结果应该是一个死循环,这样会激发学生的想知道原因的兴趣。
#include
int main()
{
unsigned char a;
for(a=246;a<256;a++)
printf(“%d\t”, a);
return 0;
}
我们用VC++ 6.0的调试工具,在循环体语句前设置一个断点,执行debug,并执行单步调试,发现当a为255后for循环并没有能停止,a的值变成了0,如图1和图2所示。这时学生会回忆起unsigned char类型的变量取值范围为0—255。
当变量a值为255时再加1就回头变成了0。这样学生会对调试工具的使用有一个非常深刻的印象,同时也会明白掌握调试工具的重要性。更重要的是,极大地激发了学生的学习兴趣。
3.3 设计考核体系
目前许多高等院校C语言程序设计课程学习成绩的评定,仅以期末一张考试卷的完成情况而定,这使得很多学生不重视实验课,认为实验课学得好与不好对成绩影响不大,很多学生重理论、轻实验[4]。我们将考核贯穿整个学习过程中,每学完一个知识点进行一次考核。考核的方式灵活多样,可以通过诸如答辩、课后撰写小论文、完成实验报告等方式。考核过程中发现的问题决定教师教的过程,可以通过集中讲授、设计思考题、提供参考资料等方式解决学习过程发现的问题。
4 结论(Conclusion)
多年来,我校在C语言程序设计实验课上进行了改革的尝试,许多老师积极参与教学改革,取得了辉煌的成果。我们一直在努力寻找提高学生对C语言程序设计实验课程的兴趣、最有效的教学手段,为计算机专业学生提高动手能力、编程思维能力做出自己的努力。
参考文献(References)
[1] 王创伟,汤克明,蔡长安.“C语言程序设计”教学改革方案与实践[J].现代计算机,2010(10):23-25.
[2] 温彭年,贾国英.建构主义理论与教学改革:建构主义学习理论综述[J].教育理论与实践,2002,23(5):17-22.
[3] 储岳中,秦锋,刘哄申.“C语言程序设计”理论与实践一体化教学的几点实践[J].计算机教育,2012(12):22-25.
[4] 郝惠馨,李秀坤,夏清泉.C语言程序设计实验教学探索[J].计算机教育.2010(17):82-84.
作者简介:
袁晓峰(1978-),男,硕士,助教.研究领域:文本聚类,信息检索.
摘 要:C语言程序设计实验课程的传统教学模式存在以教师为主体、教学目标不明确等问题。本文在教学实践中从教学内容、激发学生兴趣、设计考核体系等方面对C语言实验课程进行改革。实践表明,我们的改革能够取得较好的效果。
关键词:C语言程序设计;实验课程;教学实践
中图分类号:TP392 文献标识码:A
1 引言(Introduction)
C语言程序设计作为一门重要的程序设计语言入门语言,在课程体系中的地位不言而喻。盐城师范学院将C语言程序设计作为计算机专业本科生程序设计课程的基础核心课程,已有多年历史。该课程对培养学生计算思维、编程能力、自学能力和分析解决计算机问题的能力有着至关重要的作用,并对后续课程,譬如算法与数据结构、数据库原理、操作系统等核心课程的学习有非常大的支撑作用。但是,C语言中概念多、难点多、语法复杂、设计到的硬件知识多、使用灵活、不易调试等特点,容易导致学生出现畏难情绪,极大地遏制了学生的学习兴趣。本文针对以上问题就该课程对应的实验课程做几点思考,从课程内容、教学方法、教学手段等几个方面进行大胆改革,积极投身教学实践,结果显示我们的改革能取得较好的效果。
2 传统教学模式存在的问题(Defects of traditionalteaching model)
C语言程序设计实验课程是计算机专业进入大学后要学习的第一门程序设计实践课程,它对提高学生编程兴趣和动手能力有着至关重要的作用。或者说,该课程是热爱编程和害怕编程的两种学生的分水岭。传统教学模式在实际教学过程会存在以下问题[1]。
(1)生源的计算机基础参差不齐,有些学生进入大学前就已经通过计算一级考试,有些学生还没有接触过计算机。进入大学后同一平台学习程序设计,后者明显感觉到有压力,自信心受打击从而出现厌学的情绪。
(2)传统教学模式的过程以教师为主体,学生被动的学,对于实践性很强的课程,学生逐渐丧失兴趣,缺乏学习的动力。C语言程序设计实验课程上,如果只是简单的做些验证性实验,则不能培养学生独立编程解决问题的能力,极大地扼杀了学生的创造力。
(3)由于被动的学习,造成只是照本宣科,缺乏钻研精神,导致学生在后续专业课程或参加设计性、综合性实验课程时,往往力不从心,达不到预期的教学效果。
(4)教师对课程教学目标不明确,认为将该课程的语法知识传授给学生就达到教学目的,这样就背离了通过学习C语言应该培养学生能够用编程语言去分析和解决实际问题的能力的宗旨。
3 改革方案(Project of innovation)
C语言程序设计是一门实践应用性较强的学科,在日常的教学过程中需要不断强化实验环节,让学生在操作实践过程中不断地发现、分析和解决新问题。为了实现上述目标,教师在教学过程中必须要结合有效教学理论的要求,努力改进教学方法。
3.1 精心设计好教学内容
案例教学教学法的理论依据是构建主义学习理论[2]。构建主义者认为,教学设计要发挥学习者在学习过程中的主动性和构建,教师的职责在于使学习者置身于探索知识之中,为他们提供适当的“情境”[3]。在设计案例时,要兼顾不同基础的学生,不能让实验课变成少数人的实验课。因此,我们将教学内容按层次组织。第一个层次为基本知识,所有的学生都必须能够通过自身的努力顺利完成,这样可以极大提高学生的学习积极性。第二个层次为对所学知识简单的应用,这个层次对基本概念和方法加深理解,需要学生通过自己的钻研、参考课外资料,发挥自己的学习能力。通过这一层的学习,所有的学生应该能够学会主动积极地查阅文献,切实提高自己的钻研和自学能力,同时也能鼓舞学生的斗志。第三个层次是用所学知识去解决实际问题,真正做到培养学生的创造力。这个层次需要通过大量的思考和联系才能达到,同时也能选拔出具有一定天分的学生。
3.2 激发学生的学习兴趣
兴趣是最好的老师,同时兴趣也是学好程序设计的关键,而培养学生对C语言程序设计课程的兴趣关键在于实验课。激发学生的学习兴趣的关键莫过于让学生有解决实验中碰到问题的能力,不会因为C语言本身的问题丧失学习的信心。比如,让学生掌握调试手段。首先我们使用一个有趣的现象引出为何要使用调试工具,以及调试工具使用方法。例如,我们给出如下所示代码,请学生写出运行结果。绝大部分学生会给出从246到255的十个数。运行的结果告诉他们结果应该是一个死循环,这样会激发学生的想知道原因的兴趣。
#include
int main()
{
unsigned char a;
for(a=246;a<256;a++)
printf(“%d\t”, a);
return 0;
}
我们用VC++ 6.0的调试工具,在循环体语句前设置一个断点,执行debug,并执行单步调试,发现当a为255后for循环并没有能停止,a的值变成了0,如图1和图2所示。这时学生会回忆起unsigned char类型的变量取值范围为0—255。
当变量a值为255时再加1就回头变成了0。这样学生会对调试工具的使用有一个非常深刻的印象,同时也会明白掌握调试工具的重要性。更重要的是,极大地激发了学生的学习兴趣。
3.3 设计考核体系
目前许多高等院校C语言程序设计课程学习成绩的评定,仅以期末一张考试卷的完成情况而定,这使得很多学生不重视实验课,认为实验课学得好与不好对成绩影响不大,很多学生重理论、轻实验[4]。我们将考核贯穿整个学习过程中,每学完一个知识点进行一次考核。考核的方式灵活多样,可以通过诸如答辩、课后撰写小论文、完成实验报告等方式。考核过程中发现的问题决定教师教的过程,可以通过集中讲授、设计思考题、提供参考资料等方式解决学习过程发现的问题。
4 结论(Conclusion)
多年来,我校在C语言程序设计实验课上进行了改革的尝试,许多老师积极参与教学改革,取得了辉煌的成果。我们一直在努力寻找提高学生对C语言程序设计实验课程的兴趣、最有效的教学手段,为计算机专业学生提高动手能力、编程思维能力做出自己的努力。
参考文献(References)
[1] 王创伟,汤克明,蔡长安.“C语言程序设计”教学改革方案与实践[J].现代计算机,2010(10):23-25.
[2] 温彭年,贾国英.建构主义理论与教学改革:建构主义学习理论综述[J].教育理论与实践,2002,23(5):17-22.
[3] 储岳中,秦锋,刘哄申.“C语言程序设计”理论与实践一体化教学的几点实践[J].计算机教育,2012(12):22-25.
[4] 郝惠馨,李秀坤,夏清泉.C语言程序设计实验教学探索[J].计算机教育.2010(17):82-84.
作者简介:
袁晓峰(1978-),男,硕士,助教.研究领域:文本聚类,信息检索.
摘 要:C语言程序设计实验课程的传统教学模式存在以教师为主体、教学目标不明确等问题。本文在教学实践中从教学内容、激发学生兴趣、设计考核体系等方面对C语言实验课程进行改革。实践表明,我们的改革能够取得较好的效果。
关键词:C语言程序设计;实验课程;教学实践
中图分类号:TP392 文献标识码:A
1 引言(Introduction)
C语言程序设计作为一门重要的程序设计语言入门语言,在课程体系中的地位不言而喻。盐城师范学院将C语言程序设计作为计算机专业本科生程序设计课程的基础核心课程,已有多年历史。该课程对培养学生计算思维、编程能力、自学能力和分析解决计算机问题的能力有着至关重要的作用,并对后续课程,譬如算法与数据结构、数据库原理、操作系统等核心课程的学习有非常大的支撑作用。但是,C语言中概念多、难点多、语法复杂、设计到的硬件知识多、使用灵活、不易调试等特点,容易导致学生出现畏难情绪,极大地遏制了学生的学习兴趣。本文针对以上问题就该课程对应的实验课程做几点思考,从课程内容、教学方法、教学手段等几个方面进行大胆改革,积极投身教学实践,结果显示我们的改革能取得较好的效果。
2 传统教学模式存在的问题(Defects of traditionalteaching model)
C语言程序设计实验课程是计算机专业进入大学后要学习的第一门程序设计实践课程,它对提高学生编程兴趣和动手能力有着至关重要的作用。或者说,该课程是热爱编程和害怕编程的两种学生的分水岭。传统教学模式在实际教学过程会存在以下问题[1]。
(1)生源的计算机基础参差不齐,有些学生进入大学前就已经通过计算一级考试,有些学生还没有接触过计算机。进入大学后同一平台学习程序设计,后者明显感觉到有压力,自信心受打击从而出现厌学的情绪。
(2)传统教学模式的过程以教师为主体,学生被动的学,对于实践性很强的课程,学生逐渐丧失兴趣,缺乏学习的动力。C语言程序设计实验课程上,如果只是简单的做些验证性实验,则不能培养学生独立编程解决问题的能力,极大地扼杀了学生的创造力。
(3)由于被动的学习,造成只是照本宣科,缺乏钻研精神,导致学生在后续专业课程或参加设计性、综合性实验课程时,往往力不从心,达不到预期的教学效果。
(4)教师对课程教学目标不明确,认为将该课程的语法知识传授给学生就达到教学目的,这样就背离了通过学习C语言应该培养学生能够用编程语言去分析和解决实际问题的能力的宗旨。
3 改革方案(Project of innovation)
C语言程序设计是一门实践应用性较强的学科,在日常的教学过程中需要不断强化实验环节,让学生在操作实践过程中不断地发现、分析和解决新问题。为了实现上述目标,教师在教学过程中必须要结合有效教学理论的要求,努力改进教学方法。
3.1 精心设计好教学内容
案例教学教学法的理论依据是构建主义学习理论[2]。构建主义者认为,教学设计要发挥学习者在学习过程中的主动性和构建,教师的职责在于使学习者置身于探索知识之中,为他们提供适当的“情境”[3]。在设计案例时,要兼顾不同基础的学生,不能让实验课变成少数人的实验课。因此,我们将教学内容按层次组织。第一个层次为基本知识,所有的学生都必须能够通过自身的努力顺利完成,这样可以极大提高学生的学习积极性。第二个层次为对所学知识简单的应用,这个层次对基本概念和方法加深理解,需要学生通过自己的钻研、参考课外资料,发挥自己的学习能力。通过这一层的学习,所有的学生应该能够学会主动积极地查阅文献,切实提高自己的钻研和自学能力,同时也能鼓舞学生的斗志。第三个层次是用所学知识去解决实际问题,真正做到培养学生的创造力。这个层次需要通过大量的思考和联系才能达到,同时也能选拔出具有一定天分的学生。
3.2 激发学生的学习兴趣
兴趣是最好的老师,同时兴趣也是学好程序设计的关键,而培养学生对C语言程序设计课程的兴趣关键在于实验课。激发学生的学习兴趣的关键莫过于让学生有解决实验中碰到问题的能力,不会因为C语言本身的问题丧失学习的信心。比如,让学生掌握调试手段。首先我们使用一个有趣的现象引出为何要使用调试工具,以及调试工具使用方法。例如,我们给出如下所示代码,请学生写出运行结果。绝大部分学生会给出从246到255的十个数。运行的结果告诉他们结果应该是一个死循环,这样会激发学生的想知道原因的兴趣。
#include
int main()
{
unsigned char a;
for(a=246;a<256;a++)
printf(“%d\t”, a);
return 0;
}
我们用VC++ 6.0的调试工具,在循环体语句前设置一个断点,执行debug,并执行单步调试,发现当a为255后for循环并没有能停止,a的值变成了0,如图1和图2所示。这时学生会回忆起unsigned char类型的变量取值范围为0—255。
当变量a值为255时再加1就回头变成了0。这样学生会对调试工具的使用有一个非常深刻的印象,同时也会明白掌握调试工具的重要性。更重要的是,极大地激发了学生的学习兴趣。
3.3 设计考核体系
目前许多高等院校C语言程序设计课程学习成绩的评定,仅以期末一张考试卷的完成情况而定,这使得很多学生不重视实验课,认为实验课学得好与不好对成绩影响不大,很多学生重理论、轻实验[4]。我们将考核贯穿整个学习过程中,每学完一个知识点进行一次考核。考核的方式灵活多样,可以通过诸如答辩、课后撰写小论文、完成实验报告等方式。考核过程中发现的问题决定教师教的过程,可以通过集中讲授、设计思考题、提供参考资料等方式解决学习过程发现的问题。
4 结论(Conclusion)
多年来,我校在C语言程序设计实验课上进行了改革的尝试,许多老师积极参与教学改革,取得了辉煌的成果。我们一直在努力寻找提高学生对C语言程序设计实验课程的兴趣、最有效的教学手段,为计算机专业学生提高动手能力、编程思维能力做出自己的努力。
参考文献(References)
[1] 王创伟,汤克明,蔡长安.“C语言程序设计”教学改革方案与实践[J].现代计算机,2010(10):23-25.
[2] 温彭年,贾国英.建构主义理论与教学改革:建构主义学习理论综述[J].教育理论与实践,2002,23(5):17-22.
[3] 储岳中,秦锋,刘哄申.“C语言程序设计”理论与实践一体化教学的几点实践[J].计算机教育,2012(12):22-25.
[4] 郝惠馨,李秀坤,夏清泉.C语言程序设计实验教学探索[J].计算机教育.2010(17):82-84.
作者简介:
袁晓峰(1978-),男,硕士,助教.研究领域:文本聚类,信息检索.