论文部分内容阅读
【摘要】 随着科学技术的不断发展,计算机已应用到了科学技术的各个领域,程序作为人与计算机进行沟通的唯一方式,如何提升大学生的编程能力,设计出高质量的程序,让计算机能更好地为我们服务,是高校计算机专业程序设计老师应该思考的问题。本文从多个方面对如何提升大学生编程技能的教改实践进行了详细的分析和探讨。
【关键词】程序设计 编程技能 教学改革
中图分类号:S611文献标识码: A
1 设计出科学、合理的课程体系
首先程序设计类课程体系应根据专业培养目标,进行合理的科学的设计,制定出一个有效的程序设计类课程体系,才能使学生编程能力能够循序渐进地发挥出来。作为学生进入大学后接触到的第一门程序设计课程,应该定位在使学生具有初步的程序设计思想,具备一定的程序设计能力,熟悉上机调试程序的方法,养成良好的编程习惯和设计规范,解决程序编写和调试中的困难。若新生程序设计的第一门课就讲较难学的C语言,会使得没有任何编程基础的大学生们对编程产生可怕以及恐惧的心理,从而对今后的程序设计课程望而生畏,产生了抵制情绪。若是在上C语言的课程之前,先安排一门初级入门的或是可视化的程序设计语言课程,就会使得学生慢慢体验到编程的快乐,增强学习编程的自信,编程技能的提高则是指日可待的事情。
2、合理制定教学目标
计算机科学的教育是一个具有延续性和整体性的系统工程,许多课程如程序设计、数据结构、操作系统、编译原理和软件工程等都是一个相互关联的整体。对大学生进入大学以后学习的第一门程序设计类课程,不少学生的编程技巧和能力还较弱,想象空间较窄,所以不宜把目标定得过高。根据学生的基础与接受能力的不同,将教学目标根据学生学习层次分级制定更具有实际意义。教学目标还需要教师根据学生的个性差异在实际教学过程中进行适当的调整,培养学生的自信心和成就感,使各类学生通过自己的努力,最终达到各自理想的目标,从而最大限度地激发出学生学习的动力与热情。
3改进教学方法
传统的教学方法重在讲解语言的基本语法,所选编程实例大多用于语法规则的验证和说明。这种教学方法往往使得学生在学过语言后,见树木不见森林,吃不透、用不活所学语言知识,在调试程序时,经常对一些不正确的执行结果不知所措,在开发综合应用程序时,软件设计能力较差。在应用型本科的语言程序设计课程的教学中,我在教学方法上做了不少改进,取得了较好的教学效果。
3.1 由浅入深注重经典算法分析
老师授课时对每一种经典算法一定要用通俗易懂的案例来进行举例分析,在学生真正学懂的基础上,可以先让学生模仿编程,在编程过程中对出现的问题进行总结,最后独立完成作业的这样一个渐进学习的过程。学生在这种典型案例教学法的启发下,自然、轻松、透彻地理解并掌握新的知识,编程技能得到提高。
3.2 全面推行问题式教学法
当今的现代教育思想,是以培养学生发现、分析、解决问题的能力为主要思想。首先引领启发学生学习观察世界、积极的寻找发现并提出问题,发现问题不难,难的是对问题进行归类、分析,主动地寻求解决问题的方法,在寻求解决方案的同时,必然可以激发学生进行自主思考和主动寻找答案的精神,在解决问题的过程中尝到学习的乐趣,提高学生的学习信心和参与问题讨论的热情。在潛移默化中培养了学生的创造性思维。为了达到此目的,教师在教学过程中就要根据实际问题开展教学活动,在进行编程的教学过程中,有意识地提出各种各样的问题,让学生思考,刚开始需要给学生一些引导和启发,让学生充分讨论,给出解决方案,对学生的解决方案给以分析,最后给出正确的解决问题的方法,在整个教学过程中老师如果能够正确的使用好问题式教学法理念进行教学,训练,慢慢地学生发现、分析、解决问题的综合能力就定会提高。
3.3项目驱动式教学法
在教学实践中如何引导学生的编程兴趣,是学生学好程序设计课程的关键。德国教育学家第斯多惠曾说:教学的艺术不在于传授本领,而在于激励、呼唤。
教师在备课时就可以将一个综合性程序设计问题分解成一个个小的程序设计模块,分散到教学环节的各学习阶段中去教学,每个小模块的程序设计学生掌握起来容易,而学生在一个又一个小程序设计成功的驱动下,体验着一次又一次迈向成功的喜悦。而这些小程序很容易就能“组装”成一个看起来很复杂的综合性项目,学生通过这样一步步地项目驱动去实现从编写简单的小程序到灵活运用语言编程解决一定难度的实际问题的转变,可以全面提升学生编程的能力,充分地展示了应用型本科教学以能力为本位的价值取向。
4建立多种自主学习平台
传统的填鸭式教学方式已不能适应应用型本科教育。大学学习应以学生自主学习为主,教师教为辅。这样才能真正提高学生的编程学习能力。教师可以通过多种方法来建立起这种学习方式的架构。
4.1协作式分组自学
将学生分组进行自主学习,每组成员成绩要有梯度,每个小组由小组长负责组织该组组员的学习及讨论,在这种协作式的学习中,各种学习上的问题得以及时讨论消化,可以相互取长补短,开扩解题思路,思维方式、学习经验等方面相互影响,能很好地促进学生自主学习能力的培养与提高。
4.2搭建网络自主学习平台
借助网络学习平台,学生不仅在课堂上可以自主学习,在课外也能很好地进行学习。网络平台还可以为学生的自学、复习提供丰富的资源,包括课程的教学大纲、教学日历、网络课件、教学录像、课程设计、参考资料,以及提供个性化辅助。师生之间建立起来实时与非实时的交流通道,有效地提高了教学效果。
5 适当地组织指导学生参加各类编程比赛
目前,各种各样的计算机编程比赛为学生提供了一个秀出自我的舞台,学生们在比赛上获得的奖状也能够为将来的就业增加一份筹码,而这对学生来说,具有很大的吸引力。编程设计比赛展现的学生作品,只有使用了先进的编程技术、包含有创新思维的,有特色的作品才可能获奖,学生们积极参加这一类型的比赛,就会对编程的应用以及发展趋势有一个相当清晰的了解,不仅能够培养学生的创造性思维,也让学生的编程技能得到很大程度的提高。
6改变考核方式
考核是学生学习的一个指挥棒,如何考核学生的学习效果是极其重要的一个教学环节。学生学习编程目的就是在今后的工作中能运用所学编程语言,设计出能解决实际问题的程序,而程序设计过程就是一个反复上机设计、运行、调试再运行再调试序的过程,传统的笔试考试完全脱离了实际,无法考核学生编程和调试程序的能力,缺陷是显而易见的,程序设计类考核方式最好是上机考试。
为此我们可以将考试分解到平时学习的每个阶段,学完一个阶段内容,完成一次上机作业,平时的上机作业考勤占期末考核成绩的50%。期末考核则可以完成一个综合性的编程题,考试时间也可以适当增加为4小时,期末上机考成绩占50%,取消理论考试。平时上机考核成绩透明,让学生在平时保持緊张状态,认真完成每一阶段的学习。在这种考核形式的促进下,学生每次都能看到自己阶段性的学习成果,提高了学生的学习兴趣及学习的热情。这种形式考核通过的学生,编程能力是完全能够适应工作需要的。
7结束语
教学改革的研究和实践是一项长期的、循序渐进的过程,传统的教育观念只重视理论知识的传授,忽略了学生学习能力的提高,这就要求教师敢于打破传统的教学常规,不断进行教学改革与探索,本文通过以上六方面的教改探究,意在提高大学生的编程技能,让学生能学有所长、所用,毕业之后能胜任编程设计的工作。
参考文献
[1] 蒋颖 提升计算机专业学生编程技能的改进与实践 计算机光盘软件与应用—2011年1期第33页
[2] 项顺伯 提升计算机专业学生编程技能的教改实践电脑知识与技术—2013年14期 第131页
[3] 王彦辉 浅谈高职院校计算机专业学生编程能力培养 计算机光盘软件与应用—2014年41期 第231页
[4] 李启锐 基于项目驱动的Java框架技术课程的教学研究 电脑知识与技术—2013年3期 第31页
【关键词】程序设计 编程技能 教学改革
中图分类号:S611文献标识码: A
1 设计出科学、合理的课程体系
首先程序设计类课程体系应根据专业培养目标,进行合理的科学的设计,制定出一个有效的程序设计类课程体系,才能使学生编程能力能够循序渐进地发挥出来。作为学生进入大学后接触到的第一门程序设计课程,应该定位在使学生具有初步的程序设计思想,具备一定的程序设计能力,熟悉上机调试程序的方法,养成良好的编程习惯和设计规范,解决程序编写和调试中的困难。若新生程序设计的第一门课就讲较难学的C语言,会使得没有任何编程基础的大学生们对编程产生可怕以及恐惧的心理,从而对今后的程序设计课程望而生畏,产生了抵制情绪。若是在上C语言的课程之前,先安排一门初级入门的或是可视化的程序设计语言课程,就会使得学生慢慢体验到编程的快乐,增强学习编程的自信,编程技能的提高则是指日可待的事情。
2、合理制定教学目标
计算机科学的教育是一个具有延续性和整体性的系统工程,许多课程如程序设计、数据结构、操作系统、编译原理和软件工程等都是一个相互关联的整体。对大学生进入大学以后学习的第一门程序设计类课程,不少学生的编程技巧和能力还较弱,想象空间较窄,所以不宜把目标定得过高。根据学生的基础与接受能力的不同,将教学目标根据学生学习层次分级制定更具有实际意义。教学目标还需要教师根据学生的个性差异在实际教学过程中进行适当的调整,培养学生的自信心和成就感,使各类学生通过自己的努力,最终达到各自理想的目标,从而最大限度地激发出学生学习的动力与热情。
3改进教学方法
传统的教学方法重在讲解语言的基本语法,所选编程实例大多用于语法规则的验证和说明。这种教学方法往往使得学生在学过语言后,见树木不见森林,吃不透、用不活所学语言知识,在调试程序时,经常对一些不正确的执行结果不知所措,在开发综合应用程序时,软件设计能力较差。在应用型本科的语言程序设计课程的教学中,我在教学方法上做了不少改进,取得了较好的教学效果。
3.1 由浅入深注重经典算法分析
老师授课时对每一种经典算法一定要用通俗易懂的案例来进行举例分析,在学生真正学懂的基础上,可以先让学生模仿编程,在编程过程中对出现的问题进行总结,最后独立完成作业的这样一个渐进学习的过程。学生在这种典型案例教学法的启发下,自然、轻松、透彻地理解并掌握新的知识,编程技能得到提高。
3.2 全面推行问题式教学法
当今的现代教育思想,是以培养学生发现、分析、解决问题的能力为主要思想。首先引领启发学生学习观察世界、积极的寻找发现并提出问题,发现问题不难,难的是对问题进行归类、分析,主动地寻求解决问题的方法,在寻求解决方案的同时,必然可以激发学生进行自主思考和主动寻找答案的精神,在解决问题的过程中尝到学习的乐趣,提高学生的学习信心和参与问题讨论的热情。在潛移默化中培养了学生的创造性思维。为了达到此目的,教师在教学过程中就要根据实际问题开展教学活动,在进行编程的教学过程中,有意识地提出各种各样的问题,让学生思考,刚开始需要给学生一些引导和启发,让学生充分讨论,给出解决方案,对学生的解决方案给以分析,最后给出正确的解决问题的方法,在整个教学过程中老师如果能够正确的使用好问题式教学法理念进行教学,训练,慢慢地学生发现、分析、解决问题的综合能力就定会提高。
3.3项目驱动式教学法
在教学实践中如何引导学生的编程兴趣,是学生学好程序设计课程的关键。德国教育学家第斯多惠曾说:教学的艺术不在于传授本领,而在于激励、呼唤。
教师在备课时就可以将一个综合性程序设计问题分解成一个个小的程序设计模块,分散到教学环节的各学习阶段中去教学,每个小模块的程序设计学生掌握起来容易,而学生在一个又一个小程序设计成功的驱动下,体验着一次又一次迈向成功的喜悦。而这些小程序很容易就能“组装”成一个看起来很复杂的综合性项目,学生通过这样一步步地项目驱动去实现从编写简单的小程序到灵活运用语言编程解决一定难度的实际问题的转变,可以全面提升学生编程的能力,充分地展示了应用型本科教学以能力为本位的价值取向。
4建立多种自主学习平台
传统的填鸭式教学方式已不能适应应用型本科教育。大学学习应以学生自主学习为主,教师教为辅。这样才能真正提高学生的编程学习能力。教师可以通过多种方法来建立起这种学习方式的架构。
4.1协作式分组自学
将学生分组进行自主学习,每组成员成绩要有梯度,每个小组由小组长负责组织该组组员的学习及讨论,在这种协作式的学习中,各种学习上的问题得以及时讨论消化,可以相互取长补短,开扩解题思路,思维方式、学习经验等方面相互影响,能很好地促进学生自主学习能力的培养与提高。
4.2搭建网络自主学习平台
借助网络学习平台,学生不仅在课堂上可以自主学习,在课外也能很好地进行学习。网络平台还可以为学生的自学、复习提供丰富的资源,包括课程的教学大纲、教学日历、网络课件、教学录像、课程设计、参考资料,以及提供个性化辅助。师生之间建立起来实时与非实时的交流通道,有效地提高了教学效果。
5 适当地组织指导学生参加各类编程比赛
目前,各种各样的计算机编程比赛为学生提供了一个秀出自我的舞台,学生们在比赛上获得的奖状也能够为将来的就业增加一份筹码,而这对学生来说,具有很大的吸引力。编程设计比赛展现的学生作品,只有使用了先进的编程技术、包含有创新思维的,有特色的作品才可能获奖,学生们积极参加这一类型的比赛,就会对编程的应用以及发展趋势有一个相当清晰的了解,不仅能够培养学生的创造性思维,也让学生的编程技能得到很大程度的提高。
6改变考核方式
考核是学生学习的一个指挥棒,如何考核学生的学习效果是极其重要的一个教学环节。学生学习编程目的就是在今后的工作中能运用所学编程语言,设计出能解决实际问题的程序,而程序设计过程就是一个反复上机设计、运行、调试再运行再调试序的过程,传统的笔试考试完全脱离了实际,无法考核学生编程和调试程序的能力,缺陷是显而易见的,程序设计类考核方式最好是上机考试。
为此我们可以将考试分解到平时学习的每个阶段,学完一个阶段内容,完成一次上机作业,平时的上机作业考勤占期末考核成绩的50%。期末考核则可以完成一个综合性的编程题,考试时间也可以适当增加为4小时,期末上机考成绩占50%,取消理论考试。平时上机考核成绩透明,让学生在平时保持緊张状态,认真完成每一阶段的学习。在这种考核形式的促进下,学生每次都能看到自己阶段性的学习成果,提高了学生的学习兴趣及学习的热情。这种形式考核通过的学生,编程能力是完全能够适应工作需要的。
7结束语
教学改革的研究和实践是一项长期的、循序渐进的过程,传统的教育观念只重视理论知识的传授,忽略了学生学习能力的提高,这就要求教师敢于打破传统的教学常规,不断进行教学改革与探索,本文通过以上六方面的教改探究,意在提高大学生的编程技能,让学生能学有所长、所用,毕业之后能胜任编程设计的工作。
参考文献
[1] 蒋颖 提升计算机专业学生编程技能的改进与实践 计算机光盘软件与应用—2011年1期第33页
[2] 项顺伯 提升计算机专业学生编程技能的教改实践电脑知识与技术—2013年14期 第131页
[3] 王彦辉 浅谈高职院校计算机专业学生编程能力培养 计算机光盘软件与应用—2014年41期 第231页
[4] 李启锐 基于项目驱动的Java框架技术课程的教学研究 电脑知识与技术—2013年3期 第31页