论文部分内容阅读
摘要:针对如何提高学生的程序设计能力,笔者将本科教育分四个阶段,并给出各个阶段的目标。通过分析程序设计教学中存在的问题,结合教学实践,对培养学生的程序设计能力提出了一些意见,对教学手段、教学方法等方面提出了改革的对策。其次,针对本科生缺乏实际项目开发经验的问题,教师可以开发难度适中的软件项目,努力增强学生的解决问题和实践动手能力。
关键词:程序设计;案例分析;程序设计竞赛;项目实践
中图分类号:G642文献标识码:A文章编号:1009-3044(2008)31-0920-02
The Research of Culturing Ability of Programming
MA Hai-ying
(College of Computer Science, Nantong University, Nantong 226019, China)
Abstract: Aiming at how to improve culturing ability of programming, the Author divides undergraduate education into four phases, and gives the aims of all phases. Through analysing the problem in programming teaching procedure, combining the teaching practice, we propose some strategies in reforming teaching means and method. secondly, towards the problem of undergraduate lacking practacle operation due to project, teachers can develop some well-suited projects in difficulty to improve students’ ability of solving problem and practical skills.
Key words: program design; case analysis; Programming Contest; practical experience in projects
1 引言
程序设计能力不仅是计算机专业学生的基本技能,也是很多非专业理科学生的必备技能, 它是培养实用型人才、提高学生解决问题能力的重要方面。要想在本科教育中提高学生的程序设计能力,本文将本科教育分四个阶段,并给出各个阶段的目标。第一阶段,也就是学生在第一学期至第三学期,要重视程序设计课程的理论教学;第二阶段(第四学期),合理安排程序设计实践课程,组织学生阅读典型项目案例;第三阶段(第五、六学期),组织学生参加各种类型的比赛,从而提高学生运用计算机来充分展示自己分析问题和解决问题的能力;第四阶段(第七、八学期),使学生根据自己的兴趣较早进入毕业设计阶段,以便教师与学生的“一对一”沟通,帮助学生快速地掌握软件开发的一般性过程。通过这四个阶段的学习以后,学生在就业面前就会有自信,并能很快适应软件开发的工作,同时也为学生进一步从事计算机方面的研究工作打下了良好的基础。
2 合理的课程教学
“程序设计”课程长期沿袭传统教学模式,即以一种高级语言的语句体系为脉络展开教学,详细地讲解其语句、语法甚至一些细节内容,学生每学习一个语句需要做一些与该语句有关的习题。课程枯燥无味,学生学习积极性不高,很少动手实践。课程学完后,学生除了学到一些呆板的语句外,收获甚微。因此,在教学内容方面,我们提出以国内教材为骨架,以国外教材中比较新颖实际的部分为面向,取各家之所长,由教师综合对比,提炼和取舍。授课采用多媒体课件,以课件为主线,扩展的内容由学生自行考考书中查阅。实践证明。这种模式比只采用一本教科书的模式更好,在教学过程中为了鼓励学生勤于思考。教师应该在授课时提高提问的比重,在多媒体课件编制过程中暗藏适量的“陷阱”和问题,需要学生在课上思考来发现和问答。从而激发学生新知识,解决新问题的兴趣,培养学生的创新精神和实践能力。
3 课程设计重视案例分析
在程序设计实践课程中,教师应组织学生阅读开发完成时间在一年以上的几个实际项目,将其作为案例,针对该项目具体讲授应该从那里突破,如何上手,应该考虑那些问题,要达到仕么效果,开发工具应怎样使用,语法知识如何应用等,通过这种主范性的教学,学生可以很直观地理解课堂所讲内容,即使已经忘记所学理论,重新复习也很有针对性,查缺补漏即可。因此很快便能够掌握开发工具的使用,同时他们对程序设计语言灵活运用的驾驭能力得到提升。
通过学习几个案例之后,设计几个题目,将学生分组每组一题,最初教师可能会更多地引导学生,随着对题目的深入讨论,学生逐步设计题目的总体结构。通过小组讨论可以使学生的思维过程外显化,学生会感受到观点的冲突,从而更好地进行反思和评判,在小组合作研究过程中,教师要观察小组的进展情况,及时提醒学生是否需要调整目标。此外,小组合作研究也给学生创造了主动参与,积极挥索,独立创新的空间,可以让学生充分施展出自己的才华和智慧。
4 通过各种比赛提高综合程序设计能力
在参加程序设计比赛的过程中,学生获得的除了是关于对应题目的解决方法、思维方法和题目的洞察力外,程序设计比赛同样也提高了学生其它各个方面的能力。在实际的解题过程中,需要学生寻找各种不同的知识,有日常教学中所涉及的知识,但更多的是教学内容外的知识,这就要求学生能从各种渠道获取相关的信息资料,进行了解、学习、分析,并把相关的知识转化为解决问题的钥匙。这与大学教育的主要教育内容——培养学生的自主学习和思维的能力是相同的。学生能够在这些相关的学习锻炼中进一步提高其综合能力。
在程序设计竞赛解决问题的过程中,学生通过自己的努力解决了相关的题目后,肯定会获得解决问题的成功感,这种成功感、超越性正是促进学生继续进步的动力之一;当学生看到别人可以顺利完成题目,而自己却不能找到问题或错误关键的时候,学生肯定也会有一定的挫折感以及不甘为人之下的好胜心,而这种好胜的心理亦可以转换为学习的动力,当然这需要根据不同的学生进行不同的指导以去除其挫折感,否则可能会出现厌学的心态。当学生从现实实际中感受到自己能力的提高的时候,如在学习过程中理解问题、解决问题的提高,学生就会越来越有自主学习的兴趣,这也就提高了学生的自主学习的积极性。当然,这也需要教师按照特定的方式来促进和保持学生学习的积极性。
5 项目实践
为提高学生的实践能力。学生在完成基础知识的学习后,阅读一些已经开发完成时间在两年以上的项目的开发文档,文档熟悉后,学生在毕业设计指导老师的帮助下,按照文档的描述与要求,重新实现该项目,需要约两个月时间。完成后,学生已经熟悉系统开发的全部过程。后续大半年时间的任务与毕业论文(设计)相结合,老师根据学生的兴趣安排特定的项目组,然后有老师手把手带学生参与项目开发。学生在承担的任务即可作为其毕业设计,毕业论文的内容主要论述项目的解决方案,开发过程及技术创新等方面。完成这一阶段的任务后,学生的开发能力一般会突飞猛进的增长。
6 结束语
我们认为在程序设计教学中, 要改革旧的教学体系,需要用新的理念、新的内容、新的方法组织教学。首先要用先进的程序设计理论指导教学,并加强编程算法、逻辑思维和编程方法的引导。其次,重视和鼓励学生对具体问题进行分析和研究,勤于动手和上机训练,养成良好的编程习惯。针对本科生在完成程序设计语言课程的学习后,缺乏实际项目开发经验的问题,教师可以通过开发难度适中的软件项目,采取切实可行的措施,努力增强学生的分析问题,解决问题和实践动手能力。
参考文献:
[1] 雷桂平. 论创新课堂教学[J]. 中国职业技术教育,2003,(8):46-47.
[2] 葛明荣. 案例教学模式在教师教育中的功能探析[J]. 教育探索,2005(4):55-56.
[3] 郭嵩山,崔昊,吴汉荣,陈明睿. 国际大学生程序设计竞赛辅导教程[M]. 北京: 北京大学出版社,2001.
[4] 宋之帅. 大学生产生挫折感的原因与对策[J]. 重庆工商大学学报(西部论坛), 2006(S1):129-130.
[5] 李海伦,唐全. “程序设计”课程教学改革的研究与实践[J]. 计算机教育, 2005(7):21-22.
关键词:程序设计;案例分析;程序设计竞赛;项目实践
中图分类号:G642文献标识码:A文章编号:1009-3044(2008)31-0920-02
The Research of Culturing Ability of Programming
MA Hai-ying
(College of Computer Science, Nantong University, Nantong 226019, China)
Abstract: Aiming at how to improve culturing ability of programming, the Author divides undergraduate education into four phases, and gives the aims of all phases. Through analysing the problem in programming teaching procedure, combining the teaching practice, we propose some strategies in reforming teaching means and method. secondly, towards the problem of undergraduate lacking practacle operation due to project, teachers can develop some well-suited projects in difficulty to improve students’ ability of solving problem and practical skills.
Key words: program design; case analysis; Programming Contest; practical experience in projects
1 引言
程序设计能力不仅是计算机专业学生的基本技能,也是很多非专业理科学生的必备技能, 它是培养实用型人才、提高学生解决问题能力的重要方面。要想在本科教育中提高学生的程序设计能力,本文将本科教育分四个阶段,并给出各个阶段的目标。第一阶段,也就是学生在第一学期至第三学期,要重视程序设计课程的理论教学;第二阶段(第四学期),合理安排程序设计实践课程,组织学生阅读典型项目案例;第三阶段(第五、六学期),组织学生参加各种类型的比赛,从而提高学生运用计算机来充分展示自己分析问题和解决问题的能力;第四阶段(第七、八学期),使学生根据自己的兴趣较早进入毕业设计阶段,以便教师与学生的“一对一”沟通,帮助学生快速地掌握软件开发的一般性过程。通过这四个阶段的学习以后,学生在就业面前就会有自信,并能很快适应软件开发的工作,同时也为学生进一步从事计算机方面的研究工作打下了良好的基础。
2 合理的课程教学
“程序设计”课程长期沿袭传统教学模式,即以一种高级语言的语句体系为脉络展开教学,详细地讲解其语句、语法甚至一些细节内容,学生每学习一个语句需要做一些与该语句有关的习题。课程枯燥无味,学生学习积极性不高,很少动手实践。课程学完后,学生除了学到一些呆板的语句外,收获甚微。因此,在教学内容方面,我们提出以国内教材为骨架,以国外教材中比较新颖实际的部分为面向,取各家之所长,由教师综合对比,提炼和取舍。授课采用多媒体课件,以课件为主线,扩展的内容由学生自行考考书中查阅。实践证明。这种模式比只采用一本教科书的模式更好,在教学过程中为了鼓励学生勤于思考。教师应该在授课时提高提问的比重,在多媒体课件编制过程中暗藏适量的“陷阱”和问题,需要学生在课上思考来发现和问答。从而激发学生新知识,解决新问题的兴趣,培养学生的创新精神和实践能力。
3 课程设计重视案例分析
在程序设计实践课程中,教师应组织学生阅读开发完成时间在一年以上的几个实际项目,将其作为案例,针对该项目具体讲授应该从那里突破,如何上手,应该考虑那些问题,要达到仕么效果,开发工具应怎样使用,语法知识如何应用等,通过这种主范性的教学,学生可以很直观地理解课堂所讲内容,即使已经忘记所学理论,重新复习也很有针对性,查缺补漏即可。因此很快便能够掌握开发工具的使用,同时他们对程序设计语言灵活运用的驾驭能力得到提升。
通过学习几个案例之后,设计几个题目,将学生分组每组一题,最初教师可能会更多地引导学生,随着对题目的深入讨论,学生逐步设计题目的总体结构。通过小组讨论可以使学生的思维过程外显化,学生会感受到观点的冲突,从而更好地进行反思和评判,在小组合作研究过程中,教师要观察小组的进展情况,及时提醒学生是否需要调整目标。此外,小组合作研究也给学生创造了主动参与,积极挥索,独立创新的空间,可以让学生充分施展出自己的才华和智慧。
4 通过各种比赛提高综合程序设计能力
在参加程序设计比赛的过程中,学生获得的除了是关于对应题目的解决方法、思维方法和题目的洞察力外,程序设计比赛同样也提高了学生其它各个方面的能力。在实际的解题过程中,需要学生寻找各种不同的知识,有日常教学中所涉及的知识,但更多的是教学内容外的知识,这就要求学生能从各种渠道获取相关的信息资料,进行了解、学习、分析,并把相关的知识转化为解决问题的钥匙。这与大学教育的主要教育内容——培养学生的自主学习和思维的能力是相同的。学生能够在这些相关的学习锻炼中进一步提高其综合能力。
在程序设计竞赛解决问题的过程中,学生通过自己的努力解决了相关的题目后,肯定会获得解决问题的成功感,这种成功感、超越性正是促进学生继续进步的动力之一;当学生看到别人可以顺利完成题目,而自己却不能找到问题或错误关键的时候,学生肯定也会有一定的挫折感以及不甘为人之下的好胜心,而这种好胜的心理亦可以转换为学习的动力,当然这需要根据不同的学生进行不同的指导以去除其挫折感,否则可能会出现厌学的心态。当学生从现实实际中感受到自己能力的提高的时候,如在学习过程中理解问题、解决问题的提高,学生就会越来越有自主学习的兴趣,这也就提高了学生的自主学习的积极性。当然,这也需要教师按照特定的方式来促进和保持学生学习的积极性。
5 项目实践
为提高学生的实践能力。学生在完成基础知识的学习后,阅读一些已经开发完成时间在两年以上的项目的开发文档,文档熟悉后,学生在毕业设计指导老师的帮助下,按照文档的描述与要求,重新实现该项目,需要约两个月时间。完成后,学生已经熟悉系统开发的全部过程。后续大半年时间的任务与毕业论文(设计)相结合,老师根据学生的兴趣安排特定的项目组,然后有老师手把手带学生参与项目开发。学生在承担的任务即可作为其毕业设计,毕业论文的内容主要论述项目的解决方案,开发过程及技术创新等方面。完成这一阶段的任务后,学生的开发能力一般会突飞猛进的增长。
6 结束语
我们认为在程序设计教学中, 要改革旧的教学体系,需要用新的理念、新的内容、新的方法组织教学。首先要用先进的程序设计理论指导教学,并加强编程算法、逻辑思维和编程方法的引导。其次,重视和鼓励学生对具体问题进行分析和研究,勤于动手和上机训练,养成良好的编程习惯。针对本科生在完成程序设计语言课程的学习后,缺乏实际项目开发经验的问题,教师可以通过开发难度适中的软件项目,采取切实可行的措施,努力增强学生的分析问题,解决问题和实践动手能力。
参考文献:
[1] 雷桂平. 论创新课堂教学[J]. 中国职业技术教育,2003,(8):46-47.
[2] 葛明荣. 案例教学模式在教师教育中的功能探析[J]. 教育探索,2005(4):55-56.
[3] 郭嵩山,崔昊,吴汉荣,陈明睿. 国际大学生程序设计竞赛辅导教程[M]. 北京: 北京大学出版社,2001.
[4] 宋之帅. 大学生产生挫折感的原因与对策[J]. 重庆工商大学学报(西部论坛), 2006(S1):129-130.
[5] 李海伦,唐全. “程序设计”课程教学改革的研究与实践[J]. 计算机教育, 2005(7):21-22.