论文部分内容阅读
【摘要】 随着计算机应用地不断深入,对高职教育提出了新的要求,要求高职院校培养的学生不仅要有一定的理论知识,而且更重要的是要有一定的实际操作能力和熟练的技能,因此高职C语言教学主要目的是培养学生两方面的能力:分析程序和设计程序的能力。
【关键词】 C语言;程序设计;能力;软件工程
【中图分类号】:G434【文献标识码】:A 【文章编号】:1009-9646(2008)04-0096-02
在传统程序设计的教学模式中,注重理论的系统掌握,忽视实际能力培养,课堂教学大多是在黑板上按教材的编排章节循序渐进、依样画葫芦进行程序设计思想和语言规则讲解, 上机实验多为教师指导学生完成章节性的习题或验证性例题实验,学生学完后收获甚少。随着国家经济的发展,对高职教育提出了新的要求,要求高职院校培养的学生不仅要有一定的理论知识,而且更重要的是要有一定的实际操作能力和熟练的技能。计算机程序设计具有逻辑性强、 处理问题周密、严谨等特点,因此在教学中主要目的是培养学生的两方面能力:分析程序和设计程序的能力。如何使当前的高职学生既具备扎实编程的基础知识,又具备分析问题、解决实际问题、创造性思维,发展合作能力与自主学习能力,是目前高职教学中急待解决的问题。
1 运用多种教学方法和手段相结合着重培养学生的分析程序能力, 充分发挥学生的主观能动性和创造性
1.1 “ 案例教学法”贯穿教学全过程。 案例教学法本身就是一种综合性的教学方法,它的目的就是培养学生综合运用所学知识解决实际问题的能力。教师的角色是指导者和推动者,教学的重点放在具体实例的讲述上,语法的使用尽量不单独讲解和单独练习,而是把要学习的知识融入到具体实例中来讲解,让学生学习时有一个实际的切入点。例如在讲解C语言的结构语法知识时,首先输入一个有语法错误的程序,一边演示,一边讲解,让学生根据C编辑器下方的错误提示分析语法错误,然后改正过来,直到运行正确的结果出来。在这个过程中,学生不但学会了基本的语法知识运用,而且还掌握基本调试程序的方法。另外针对在校学生接触实践比较少,没有实际开发软件和工作经验的特点,我们在采用案例教学法的同时,还采启发式教学方式,设计出相似类型不断深入的题目,引导学生完成从问题的提出、分析、方案的设计与实施,以及最后问题的解决,对于在设计过程中一些不切实际的想法和做法,老师给予及时的纠正。例如在讲到循环语句时,当同学们学会了编写的程序时,再提出以下问题:
1.1.1 求100之内的自然数中偶数之和
1.1.2 求100到200之中即能被3整除又能被7整除的自然数之和
1.1.3 求“水仙花数”,即找出100-999中满足各个位数字立方和等于该数本身的数。
通过分析得知第一题中利用已学过的判断一个数的奇偶性方法来求解,只有满足条件(与2求余为0)的数就进行累加,其它的与例题中的编写是一样的;第二题增加了难度,有两个地方的变化,一是循环范围改变了,另一个是累加的条件(与3求余为0并且与7求余为0)改变了;第三道题又增加了难度,一是必须求出三位数上的各位上的数字是什么,二是满足的条件是各位上的数字的立方等于该数时进行输出而不是进行累加,对于第一点,个位通过该数与10取余,十位通过该数与100求余再与10整除,百位通过该数与100整除,这样就求得了三位数中各位上数字。通过这样设置问题案例,因为有提出问题、解决问题、扩展问题、再解决问题的几个环节,实际上是一个螺旋式滚动向前的过程,在这个螺旋式不断向前的过程中,能夠非常自然地调动学生的参与,而且通过问题的不断扩展,有利于学生接受新的知识,开阔了学生的思维能力 ,培养了学生分析程序和解决实际问题的能力。
1.2 适当地采用多媒体教学方式。在实际教学活动中,还适当地应用现代化教育技术手段相结合,如采用多媒体教室进行教学、采用网络化辅助平台等等,培养学生积极主动地去思考问题、分析问题。如在讲解基本知识与概念时, 边演示边讲解, 讲清基本概念后, 可利用多媒体教学手段直观地展示操作过程及操作方法, 一步一步、一环一环地引导学生掌握基础知识及基本技能。而对于那些比较枯燥、抽象、难以理解的程序运行过程, 则需在黑板上进行讲解、分析,引导学生积极思考和分析问题。
2 在教学过程中从“软件工程”角度出发,着重培养学生设计程序的能力
2.1 在教学中体现程序结构化、程序化设计原则。随着计算应用的不断深入和软件工程的迅速发展,结构化、模块化的程序设计思想已经成为程序设计的原则,在软件工程中,程序设计的一般步骤有:分析程序-建立数学模型-编码-测试等过程,因此在教学过程采用适当的案例引导学生用模块化、结构化的方法进行概要设计,用N-S盒图进行详细设计,并强调程序质量的好坏取决于它的清晰度,其次才是它的运行时间和空间效率。这样学生对程序设计思想有了进一步了认识,培养了良好的编程风格。
2.2 重视数据结构与相应的算法的教学。PASCAL语言的作者沃思教授的一句名言:算法+数据结构=程序。程序设计方法学是计算机软件工程学的一个分支领域, 是所有程序设计语言的基础, 它不涉及程序设计语言本身的语句(命令) , 是程序设计的语言的逻辑抽象的描述。因此教学中采取“算法为主体”,数据结构相结合的方法。多介绍一些字符处理、排序、查询等方法,一方面加强学生对算法的理解,另一方面培养学生根据不同的数据结构选择不同算法的能力,培养学生解决实际问题的应变能力。
2.3 重视和强调实践操作。知识不经内化,则不能形成素质,内化了的知识不经运用,也不可能形成能力。C语言是一门实践性较强的科目,必须通过大量的实践运用才能使学生真正在掌握所学知识,达到培养能力的目的。
2.3.1 采用课程设计方式。 “C课程设计”是要求学生用C语言程序基础理论、基础知识来解决实践编程问题。在课程设计过程中设计了多个小软件,如迷宫问题、扫地雷游戏、教师工作量计算系统、图书馆借阅管理系统等,并给出每个课题的示范程序(只给exe文件,不给源代码),供各组运行参考。要求学生2~4人自行组合,自主选题,也可以自行定题,先做出设计方案并交教师检查(设计方案包括系统简介、功能模块图、每个功能的流程图),然后再设计、编码上机调试,最后交上完整的程序文档,并组织学生对所开发的系统进行分析、测评。由于这些课题划分为不同的难度等级,学生分层次选题,都能完成一个以上的选题,不少学生交叉选题或做完又选,完成了多个课题的设计。通过C语言课程设计进一步锻炼了学生的动手能力,进一步培养了学生分析问题、解决问题、研究和探索问题的能力和团队协作精神,最终达到培养学生初步软件项目开发能力。
2.3.2 采用“编程竞赛”或组织“编程兴趣小组”的方式充分发挥学生的特长培养学生探索和创新能力。除了在课堂教学中采用多种方法手段进行教学外,还组织参加“编程兴趣小组”,每年定期举行编程技能竞赛,并鼓励、指导学生积极参加每年的“大学生程序设计竞赛”创造良好的学习、学术氛围,充分发挥学生的特长,进一步培养学生的探索创新能力。
参考文献
[1] 吕风翥,高超.C语言程序设计基础教程[M].北京:电子工业出版社,2000
[2] 张海藩.软件工程导论[M].北京:清华大学出版,1998
[3] 王鼎君,李娜.高师计算机专业计算机语言课教学重点初探.南洛师范专科学,2003.3第1期
收稿日期:2008-4-19
【关键词】 C语言;程序设计;能力;软件工程
【中图分类号】:G434【文献标识码】:A 【文章编号】:1009-9646(2008)04-0096-02
在传统程序设计的教学模式中,注重理论的系统掌握,忽视实际能力培养,课堂教学大多是在黑板上按教材的编排章节循序渐进、依样画葫芦进行程序设计思想和语言规则讲解, 上机实验多为教师指导学生完成章节性的习题或验证性例题实验,学生学完后收获甚少。随着国家经济的发展,对高职教育提出了新的要求,要求高职院校培养的学生不仅要有一定的理论知识,而且更重要的是要有一定的实际操作能力和熟练的技能。计算机程序设计具有逻辑性强、 处理问题周密、严谨等特点,因此在教学中主要目的是培养学生的两方面能力:分析程序和设计程序的能力。如何使当前的高职学生既具备扎实编程的基础知识,又具备分析问题、解决实际问题、创造性思维,发展合作能力与自主学习能力,是目前高职教学中急待解决的问题。
1 运用多种教学方法和手段相结合着重培养学生的分析程序能力, 充分发挥学生的主观能动性和创造性
1.1 “ 案例教学法”贯穿教学全过程。 案例教学法本身就是一种综合性的教学方法,它的目的就是培养学生综合运用所学知识解决实际问题的能力。教师的角色是指导者和推动者,教学的重点放在具体实例的讲述上,语法的使用尽量不单独讲解和单独练习,而是把要学习的知识融入到具体实例中来讲解,让学生学习时有一个实际的切入点。例如在讲解C语言的结构语法知识时,首先输入一个有语法错误的程序,一边演示,一边讲解,让学生根据C编辑器下方的错误提示分析语法错误,然后改正过来,直到运行正确的结果出来。在这个过程中,学生不但学会了基本的语法知识运用,而且还掌握基本调试程序的方法。另外针对在校学生接触实践比较少,没有实际开发软件和工作经验的特点,我们在采用案例教学法的同时,还采启发式教学方式,设计出相似类型不断深入的题目,引导学生完成从问题的提出、分析、方案的设计与实施,以及最后问题的解决,对于在设计过程中一些不切实际的想法和做法,老师给予及时的纠正。例如在讲到循环语句时,当同学们学会了编写的程序时,再提出以下问题:
1.1.1 求100之内的自然数中偶数之和
1.1.2 求100到200之中即能被3整除又能被7整除的自然数之和
1.1.3 求“水仙花数”,即找出100-999中满足各个位数字立方和等于该数本身的数。
通过分析得知第一题中利用已学过的判断一个数的奇偶性方法来求解,只有满足条件(与2求余为0)的数就进行累加,其它的与例题中的编写是一样的;第二题增加了难度,有两个地方的变化,一是循环范围改变了,另一个是累加的条件(与3求余为0并且与7求余为0)改变了;第三道题又增加了难度,一是必须求出三位数上的各位上的数字是什么,二是满足的条件是各位上的数字的立方等于该数时进行输出而不是进行累加,对于第一点,个位通过该数与10取余,十位通过该数与100求余再与10整除,百位通过该数与100整除,这样就求得了三位数中各位上数字。通过这样设置问题案例,因为有提出问题、解决问题、扩展问题、再解决问题的几个环节,实际上是一个螺旋式滚动向前的过程,在这个螺旋式不断向前的过程中,能夠非常自然地调动学生的参与,而且通过问题的不断扩展,有利于学生接受新的知识,开阔了学生的思维能力 ,培养了学生分析程序和解决实际问题的能力。
1.2 适当地采用多媒体教学方式。在实际教学活动中,还适当地应用现代化教育技术手段相结合,如采用多媒体教室进行教学、采用网络化辅助平台等等,培养学生积极主动地去思考问题、分析问题。如在讲解基本知识与概念时, 边演示边讲解, 讲清基本概念后, 可利用多媒体教学手段直观地展示操作过程及操作方法, 一步一步、一环一环地引导学生掌握基础知识及基本技能。而对于那些比较枯燥、抽象、难以理解的程序运行过程, 则需在黑板上进行讲解、分析,引导学生积极思考和分析问题。
2 在教学过程中从“软件工程”角度出发,着重培养学生设计程序的能力
2.1 在教学中体现程序结构化、程序化设计原则。随着计算应用的不断深入和软件工程的迅速发展,结构化、模块化的程序设计思想已经成为程序设计的原则,在软件工程中,程序设计的一般步骤有:分析程序-建立数学模型-编码-测试等过程,因此在教学过程采用适当的案例引导学生用模块化、结构化的方法进行概要设计,用N-S盒图进行详细设计,并强调程序质量的好坏取决于它的清晰度,其次才是它的运行时间和空间效率。这样学生对程序设计思想有了进一步了认识,培养了良好的编程风格。
2.2 重视数据结构与相应的算法的教学。PASCAL语言的作者沃思教授的一句名言:算法+数据结构=程序。程序设计方法学是计算机软件工程学的一个分支领域, 是所有程序设计语言的基础, 它不涉及程序设计语言本身的语句(命令) , 是程序设计的语言的逻辑抽象的描述。因此教学中采取“算法为主体”,数据结构相结合的方法。多介绍一些字符处理、排序、查询等方法,一方面加强学生对算法的理解,另一方面培养学生根据不同的数据结构选择不同算法的能力,培养学生解决实际问题的应变能力。
2.3 重视和强调实践操作。知识不经内化,则不能形成素质,内化了的知识不经运用,也不可能形成能力。C语言是一门实践性较强的科目,必须通过大量的实践运用才能使学生真正在掌握所学知识,达到培养能力的目的。
2.3.1 采用课程设计方式。 “C课程设计”是要求学生用C语言程序基础理论、基础知识来解决实践编程问题。在课程设计过程中设计了多个小软件,如迷宫问题、扫地雷游戏、教师工作量计算系统、图书馆借阅管理系统等,并给出每个课题的示范程序(只给exe文件,不给源代码),供各组运行参考。要求学生2~4人自行组合,自主选题,也可以自行定题,先做出设计方案并交教师检查(设计方案包括系统简介、功能模块图、每个功能的流程图),然后再设计、编码上机调试,最后交上完整的程序文档,并组织学生对所开发的系统进行分析、测评。由于这些课题划分为不同的难度等级,学生分层次选题,都能完成一个以上的选题,不少学生交叉选题或做完又选,完成了多个课题的设计。通过C语言课程设计进一步锻炼了学生的动手能力,进一步培养了学生分析问题、解决问题、研究和探索问题的能力和团队协作精神,最终达到培养学生初步软件项目开发能力。
2.3.2 采用“编程竞赛”或组织“编程兴趣小组”的方式充分发挥学生的特长培养学生探索和创新能力。除了在课堂教学中采用多种方法手段进行教学外,还组织参加“编程兴趣小组”,每年定期举行编程技能竞赛,并鼓励、指导学生积极参加每年的“大学生程序设计竞赛”创造良好的学习、学术氛围,充分发挥学生的特长,进一步培养学生的探索创新能力。
参考文献
[1] 吕风翥,高超.C语言程序设计基础教程[M].北京:电子工业出版社,2000
[2] 张海藩.软件工程导论[M].北京:清华大学出版,1998
[3] 王鼎君,李娜.高师计算机专业计算机语言课教学重点初探.南洛师范专科学,2003.3第1期
收稿日期:2008-4-19