刘井莲,赵卫绩,杨 辉,吴亚明
(绥化学院 信息工程学院 ,黑龙 江绥化 152061)
传统的C程序设计课程多以C语言程序设计命名,作为一门计算机语言学习来讲授,以学习C语言的语法为重点,以全面掌握C语言的各种语法为教学目标.传统教学方法注重知识学习,忽视能力培养,在应用型人才培养过程中存在着三个不容忽视的问题:①以学习知识为目标,忽视培养程序设计能力;②追求语法体系的完整性,忽视了知识点存在常用和不常用的区别,平均用力,学生对常用的知识点掌握得不扎实;③没有将知识作为能力培养的载体,让学生在实践中真用所学知识解决问题,培养程序设计能力.即在为什么教、教什么、怎么教三个问题上不适用于应用型人才的培养.这些问题吸引很多学者进行了研究[1,2],取得很多有价值的成果.在我校“以理论知识够用、有用为原则,在实践中真用所学知识解决问题”的应用型专业课程改革指导意见的指导下,提出以动式教学理念为原则,以能力培养为目标,改进教学方法,引导学生主动学习,以够用知识为载体,强化课程实验,在实例和实验中真用所学知识解决问题,培养学生的专业技术能力的课程建设指导思想.经过教学实践,解决了应用型程序设计课程为什么教、教什么、怎么教三个问题,在文献[3,4]的基础上,完成了从讲授知识到培养能力的转变.
在“用”为核心,在“教”方面充分发挥教师的主导作用,在“学”方面发挥学生的主体作用.“教”体现在“为什么教、教什么、怎么教”,“学”体现在尊重学生的学习能力,认可其存在的个体差异,由“教了多少”向“学生学会多少”转变;“用”体现在“从应用中来,到应用中去”,即教师在应用程序设计完成科研项目的过程中提炼出常用知识点,以够用知识(最少的常用知识点的集合)为载体,学生在实例、实验、竞赛中应用所学知识解决问题,教师在科研项目中应用这些知识解决问题.
该课程的教学目标是培养学生的计算思维和程序设计能力,能够利用主流软件开发工具独立进行小型程序设计.教学目标直接对应专业技术能力,根据教学目标组织教学内容.
坚持“从应用中来”的课程建设方法,重组教学内容,教学内容来源于教师完成科研项目的过程中提炼出的常用知识点,以常用知识点的最小集合为教学内容,学生在实例、实验、竞赛中应用所学知识解决问题,教师在科研项目中应用这些知识解决问题,在应用中完成知识更新.从传统教学中讲授的48个知识点中,选择了33个常用知识点作为教学内容,将节省的学时用于课程实验,让学生运用知识解决问题,培养了学生程序设计与实现的能力.知识点要求变化情况如表1.
表1 知识点要求变化情况
(1)15个知识点不讲.4个传统要求为了解的知识点不讲,3个传统要求为理解的知识点不讲,8个传统要求为掌握的知识点不讲.其中第一类为很简单不讲也会,如运算符和表达式、关系运算符和关系表达式、逻辑运算符和逻辑表达式、条件运算符和条件表达式;第二类为很难且极不常用,如函数的嵌套调用、函数的递归调用、指向函数的指针、C文件、字符数组;第三类为知识太抽象,不适合初学者理解,如算法概述、算法的特征、算法表示方法、结构化程序设计方法.
(2)3个知识点后讲.3个传统要求为掌握的知识点后讲,原因是数据类型中先讲整型,如果马上与字符型、浮点型一起讲,涉及知识点多,不利于初学者短时间接受.当初学者学会整型后,再学习字符型、浮点型就很容易了.
(3)3个知识点改为了解.循环的嵌套、局部变量和全局变量在初学阶段不易掌握,要求降低为了解;switch语句的作用完全可以用之前学过的if语句实现,且较if不常用,由掌握降低为了解.
(4)5个传统要求为掌握的知识点改为理解.break、continue、二维数组等五个知识点传统要求为掌握,这5个知识点难度较高,而且不经常用,实际教学中学习掌握的不够理想,因此降为理解.
(5)1个传统要求为了解的知识点改为掌握.返回指针值的函数,在数据结构中经常出现,是C语言的一把利器,因此改为掌握.
(6)5个传统要求为理解的改为掌握.强化了函数与指针两部分在传统中要求为理解的内容.
通过多年教学实践,探索出在理论课堂上以实例教学为主要教学方法,辅以讨论式教学,完成理论知识的讲授;在课程实验中,编写实验指导书,强化课程实验,减少验证性实验,增加设计性实验,让学生运用所学知识解决问题,培养其程序设计能力,完成从传授知识到培养能力的转变.
(1)实例教学法.实例教学法是将抽象的理论知识贯穿于一个完整的实际例子中,通过实例介绍语法、难点,避免了学生因感觉枯燥和畏难而产生厌学情绪.有关实例教学法的详细介绍,可参考文献[3].相对于传统教学,实例教学法的教学作用主要表现在以下两点:
一是,贯穿、融合知识点的作用.通过一个实例将单个的知识点连接起来,不仅使学生掌握了关键技术,还使学生了解技术的应用场合和情境.
二是,学以致用的作用.实例教学法改变了传统的以教材为中心的教学模式,而是以典型实例为中心,教学的重点由浅入深、层层深入分析讲解典型的、突出重点的、突破难点和针对性的实例.使学生感受到所学知识在实例中的应用,体现了的学以致用的作用.
(2)讨论式教学.讨论式教学强调在教师的精心准备和指导下,为实现特定的教学目标,通过预先的设计与组织,启发学生就特定问题发表自己的见解,以培养学生的独立思考的能力和创新精神.在教学过程中分别在函数、指针两部分内容开展讨论式教学.通过开展讨论式教学,引导学生开放式思考问题,锻炼了学生查阅资料、自学能力,使学生在自主学习过程中掌握了知识点.
在我校2011级电气信息类专业的程序设计课程进行教学改革,成效显著,提高了学生的学习主动性,同学们自主组成学习团队,获得了本专业唯一的一个校级大学生创新活动项目,学生的程序设计能力明显提高.该年级学生在第四届蓝桥杯全国软件设计大赛选拔赛中获得了一个二等奖,二个三等奖的好成绩.这也说明了以能力培养为导向的程序设计课程的教学改革是可行的.
参考文献:
[1]张素芹,吴连生.独立学院“C语言程序设计”教学改革实践[J].计算机教育,2010(14):21-22.
[2]冯玉芬,马宁.C程序设计教学方法研究[J].教育探索,2008(5):62-63.
[3]赵卫绩,刘井莲,樊守芳.实例教学法在C语言循环结构教学中的应用[J].通化师范学院学报,2012,33(2):58-60.
[4]刘井莲,赵卫绩,樊守芳,等.C语言实践教学改革与探索[J].绥化学院学报,2012,32(4):170-171,