论文部分内容阅读
[摘 要]简要分析C语言程序设计课程教学现状及存在问题,提出C语言程序设计课程改革的教学目标,并提出了针对教学方法、教学内容、教材和教学模式几个方面教改内容的一点思考见解。
[关键词]C语言程序设计 课程 教学改革
中图分类号: {G354.46} 文献标识码:A 文章编号:1009-914X(2014)42-0248-02
1 研究背景
C语言产生于19世纪70年代,经过40多年的发展,其不断被完善和标准化,它的灵活、高效、运算符和数据类型丰富、可移植性好、跨平台性好等特点深受广大程序爱好者喜爱。C语言既可以编写系统软件又能编写应用软件,目前广泛应用于电子、计算机、通信、人工智能、嵌入式等领域,C语言在市场上处于优越的地位,各大高校也都将C语言作为程序设计的基础语言,是高校工科类专业的必修课之一。C语言已在全国各个高校开设相当长的时间,培养了无数C程序的成就者,但是在教师讲授和学生学习的过程中仍然存在以下问题:
1.新手入门难、程序枯燥、与应用分离、学生难学、难学导致不喜欢学,不喜欢学则导致更难学,恶性循环。
2.教师的企业相关工作经验不丰厚,甚至没有。授课与实际应用脱节,纸上谈兵。
3.学生没有参观和实践的环境,闭门造车,与实际应用脱轨,更谈不上掌握专业发展动向,站在时代前沿……,学生发现在校所学的东西无法满足企业的需要,而企业在求贤若渴的同时又面临着无法找到合适人才的困境。
4.缺乏面向应用的项目驱动式教学素材,特别是“应用型本科院校”,更是缺少“应用型”教学环境和教学资源。许多教材例题运行环境都是Turbo?C,编译环境过于落后,而企业中则使用很多功能强大的集成开发环境,这就造成学习与实际应用在实践环节的脱节。
5.考试方式不合理,期末考试一考定终身,违背素质教育的理念。
在分析了新形势下IT业界的需求后,针对目前教学上存在的以上种种问题,针对本校学生特点,以培养“应用型本科人才”为目标,密切结合当前市场发展形式,改变传统的C语言教学模式,从教学方法的改变到教学内容的调整,再到教材的选取以及考试模式的改革,探索一套切实可行的教学改革方案,努力提高课程的教学质量,培养学生的程序设计思想,提高学生的实践编程能力,为后续专业的学习打下良好的基础。
2 教改目标
本文旨在探索一套详尽可行的教学改革方案应用于面向本科应用型C语言课程的教学,通过该改革方案的实施,能够充分激发学生的学习兴趣、提升学生的专业素质、培养真正的应用型人才。教学改革究目标如下:a.激发学生的学习兴趣,充分调用学生的积极性,使其能够主动学习、认真学习,提高考试及格率和等级考试通过率;b.开拓学生的思维,培养学生分析问题、解决问题的能力和动手操作的能力;c.提高学生的专业素质:熟练掌握专业知识,能根据所学知识编程处理生活中的常见问题;能与相关课程相结合设计编写应用程序,如编写游戏程序、单片机程序、操作系统程序等;在实践中能够灵活应用所学知识,成为企业需要的真正人才。
3 教改内容
C语言是程序设计的基础语言,很多当前比较流行的语言都繁衍自C语言,而C语言相对JAVA、C#等语言来说在软件开发中使用的没有那么多,如何使用C语言编写更多的应用性强的程序,并将这些程序引入课堂,让学习者对它产生浓厚的兴趣、掌握更多的“应用型”知识是本文的主要内容。本文从教学方法、教学内容、教材和教学模式四个方面研究《C语言程序设计》课程的改革方案。
3.1 教学方法
传统的教学方法将理论和实践相分离,上理论课教师讲的内容以理论为主,案例不多,案例之间没有逻辑关系,只是简单的知识点的举例,学生听课觉得枯燥,对C语言课程失去兴趣,为此,应加强案例教学环节,教学采用提出问题、分析问题、解决问题的方法,调动学生的积极性。本文研究一种“项目驱动式”教学方法,将项目分解成一个个具有实际意义的设计模块,每个设计模块在实现过程中须解决多个疑点问题,将C语言教学的内容安排到每个疑点中,当一个模块中所有的疑难点都解决了,相应设计模块也就实现了,此时学生也就学习到了相关的C语言的知识。在设计实现的同时可以启发学生进行多角度拓展和优化模块设计的训练,这样能让他们更多的掌握C语言编程的技能、技巧以及经验知识,如程序编写的可读性、可维护性、可拓展性以及工作人员的分工协作等,这些问题在设计实现企业产品的项目中都会遇到,通过该种方法可以实现教学内容目标化、职业化。
3.2 教学内容
教学内容要应用性强,适合应用型本科人才的培养目标,理论和实践联系紧密,避免传统的枯燥理论讲解方式,要配合“项目驱动式”教学方法,将实用化和趣味化的项目引入到课程教学中增加教学内容的多元性和趣味性,提高学生的学习兴趣。计算机专业类C语言课程讲授的内容要达到一定的深度和广度、学生能够熟练使用C语言解决常见问题,为后续专业的学习打下良好基础。非计算机类学生的课程内容难度要适中,不必太深,内容的逻辑性、连贯性要强,能够紧紧抓住学生的思路,让老师带着学生在解决“任务”时能够获得相关的知识。
3.3 教材
教材的内容要完整,结构合理,任务明确,逻辑关系紧密,应用性要强,难易程度要适中,非计类应包括等级考试涉及的知识内容,要有与理论相配套的上机部分的学生实践用书。计算机及其相关专业类在教材选择方面,可参考国外同类高校的优秀教材,如由C语言设计者Brian W. Kernighan和Dennis M. Ritchie编写的《The C Programming Language》(也称《K&R》),中文译名为《C程序设计语言》。也可以跟企业共同探讨选取和使用业界的优秀书籍作为教材使用,既能避免重复的教材编写工作,又能达到跟上业界最新发展的目的。目前各高校在教授C语言这门课程的时候多采用谭浩强编写的《C程序设计》,也有一些使用自己组织编写的教材,目前为止我们还没发现一本任务驱动式且适合“应用型本科院校”的教材,合适的教材选择也是本文研究的重要内容。
3.4 教学模式
在教学环节中学校跟企业积极接触,让企业参与到人才培养和教育的事业中来,学校和企业共同合作实行学校教师+企业导师的“双师制”教学,也可实行一课多师(一门课程多名老师讲授)式教学,让企业的工程师来校定期讲课,让老师到企业定期学习。
教学模式采用“机房授课”+“任务分组”+“组间协作”的模式。
程序设计课程的特点是编写的代码比较多,甚至每一个知识点都可能会用代码来举例,教师讲课比较适合在机房,教师和同学人手一台电脑,教师可以使用专门的授课软件进行授课和管理学生端,学生听完老师的讲解后可以马上进行练习和实验,这样既可以巩固所学知识又能开拓学生的思维。为配合“项目驱动式”教学方法,充分体现学生在学习中的主导地位,在实验中使用分组教学模式,教师承担指导答疑、选择最优学生方案的角色。分组教学均衡学生能力将其分成若干小组,实验时让学生以小组为单位一起对项目任务进行分析、探讨,小组间进行交流和竞争,优胜劣汰,使用做的最好的一组同学的代码方案,然后将整个项目各个模块的最优组方案结合在一起,通过组间协作共同构建完成一个大项目,这种模式也是符合了C语言结构化程序设计的思想:自顶向下逐步细化,模块化设计、结构化编码,将做好的模块再自底向上构建成一个完整的项目。
课下小组成员可以在一起学习,也可以到别的组去学习,共同思考和实践,寻找创新灵感。分组教学体现了以“学生为中心”、“研究性、探索性、协作性学习”等现代教育理念,促进学生创新意识的提高,培养学生创造力和自学的能力。
4 教改意义
通过对C语言课程教学改革的探索,研究一套切实可行的课程教学改革方案,通过对教学模式等一系列改革方案的实施,在提高课堂教学质量的同时,为其他程序设计类课程的改革提供了参考方案,为全面开展培养应用型人才奠定了基础,对学院的长远发展有积极重要的意义。
作者简介:
刘丽娜(1980--),女,籍贯:黑龙江省伊春市,硕士,讲师,研究方向:计算机应用。
注:本文系如下课题的子课题,项目来源:黑龙江省高等教育教学改革项目;项目名称:应用型本科院校《C语言程序设计》课程教学改革与实践;项目编号:JG2013010002。
[关键词]C语言程序设计 课程 教学改革
中图分类号: {G354.46} 文献标识码:A 文章编号:1009-914X(2014)42-0248-02
1 研究背景
C语言产生于19世纪70年代,经过40多年的发展,其不断被完善和标准化,它的灵活、高效、运算符和数据类型丰富、可移植性好、跨平台性好等特点深受广大程序爱好者喜爱。C语言既可以编写系统软件又能编写应用软件,目前广泛应用于电子、计算机、通信、人工智能、嵌入式等领域,C语言在市场上处于优越的地位,各大高校也都将C语言作为程序设计的基础语言,是高校工科类专业的必修课之一。C语言已在全国各个高校开设相当长的时间,培养了无数C程序的成就者,但是在教师讲授和学生学习的过程中仍然存在以下问题:
1.新手入门难、程序枯燥、与应用分离、学生难学、难学导致不喜欢学,不喜欢学则导致更难学,恶性循环。
2.教师的企业相关工作经验不丰厚,甚至没有。授课与实际应用脱节,纸上谈兵。
3.学生没有参观和实践的环境,闭门造车,与实际应用脱轨,更谈不上掌握专业发展动向,站在时代前沿……,学生发现在校所学的东西无法满足企业的需要,而企业在求贤若渴的同时又面临着无法找到合适人才的困境。
4.缺乏面向应用的项目驱动式教学素材,特别是“应用型本科院校”,更是缺少“应用型”教学环境和教学资源。许多教材例题运行环境都是Turbo?C,编译环境过于落后,而企业中则使用很多功能强大的集成开发环境,这就造成学习与实际应用在实践环节的脱节。
5.考试方式不合理,期末考试一考定终身,违背素质教育的理念。
在分析了新形势下IT业界的需求后,针对目前教学上存在的以上种种问题,针对本校学生特点,以培养“应用型本科人才”为目标,密切结合当前市场发展形式,改变传统的C语言教学模式,从教学方法的改变到教学内容的调整,再到教材的选取以及考试模式的改革,探索一套切实可行的教学改革方案,努力提高课程的教学质量,培养学生的程序设计思想,提高学生的实践编程能力,为后续专业的学习打下良好的基础。
2 教改目标
本文旨在探索一套详尽可行的教学改革方案应用于面向本科应用型C语言课程的教学,通过该改革方案的实施,能够充分激发学生的学习兴趣、提升学生的专业素质、培养真正的应用型人才。教学改革究目标如下:a.激发学生的学习兴趣,充分调用学生的积极性,使其能够主动学习、认真学习,提高考试及格率和等级考试通过率;b.开拓学生的思维,培养学生分析问题、解决问题的能力和动手操作的能力;c.提高学生的专业素质:熟练掌握专业知识,能根据所学知识编程处理生活中的常见问题;能与相关课程相结合设计编写应用程序,如编写游戏程序、单片机程序、操作系统程序等;在实践中能够灵活应用所学知识,成为企业需要的真正人才。
3 教改内容
C语言是程序设计的基础语言,很多当前比较流行的语言都繁衍自C语言,而C语言相对JAVA、C#等语言来说在软件开发中使用的没有那么多,如何使用C语言编写更多的应用性强的程序,并将这些程序引入课堂,让学习者对它产生浓厚的兴趣、掌握更多的“应用型”知识是本文的主要内容。本文从教学方法、教学内容、教材和教学模式四个方面研究《C语言程序设计》课程的改革方案。
3.1 教学方法
传统的教学方法将理论和实践相分离,上理论课教师讲的内容以理论为主,案例不多,案例之间没有逻辑关系,只是简单的知识点的举例,学生听课觉得枯燥,对C语言课程失去兴趣,为此,应加强案例教学环节,教学采用提出问题、分析问题、解决问题的方法,调动学生的积极性。本文研究一种“项目驱动式”教学方法,将项目分解成一个个具有实际意义的设计模块,每个设计模块在实现过程中须解决多个疑点问题,将C语言教学的内容安排到每个疑点中,当一个模块中所有的疑难点都解决了,相应设计模块也就实现了,此时学生也就学习到了相关的C语言的知识。在设计实现的同时可以启发学生进行多角度拓展和优化模块设计的训练,这样能让他们更多的掌握C语言编程的技能、技巧以及经验知识,如程序编写的可读性、可维护性、可拓展性以及工作人员的分工协作等,这些问题在设计实现企业产品的项目中都会遇到,通过该种方法可以实现教学内容目标化、职业化。
3.2 教学内容
教学内容要应用性强,适合应用型本科人才的培养目标,理论和实践联系紧密,避免传统的枯燥理论讲解方式,要配合“项目驱动式”教学方法,将实用化和趣味化的项目引入到课程教学中增加教学内容的多元性和趣味性,提高学生的学习兴趣。计算机专业类C语言课程讲授的内容要达到一定的深度和广度、学生能够熟练使用C语言解决常见问题,为后续专业的学习打下良好基础。非计算机类学生的课程内容难度要适中,不必太深,内容的逻辑性、连贯性要强,能够紧紧抓住学生的思路,让老师带着学生在解决“任务”时能够获得相关的知识。
3.3 教材
教材的内容要完整,结构合理,任务明确,逻辑关系紧密,应用性要强,难易程度要适中,非计类应包括等级考试涉及的知识内容,要有与理论相配套的上机部分的学生实践用书。计算机及其相关专业类在教材选择方面,可参考国外同类高校的优秀教材,如由C语言设计者Brian W. Kernighan和Dennis M. Ritchie编写的《The C Programming Language》(也称《K&R》),中文译名为《C程序设计语言》。也可以跟企业共同探讨选取和使用业界的优秀书籍作为教材使用,既能避免重复的教材编写工作,又能达到跟上业界最新发展的目的。目前各高校在教授C语言这门课程的时候多采用谭浩强编写的《C程序设计》,也有一些使用自己组织编写的教材,目前为止我们还没发现一本任务驱动式且适合“应用型本科院校”的教材,合适的教材选择也是本文研究的重要内容。
3.4 教学模式
在教学环节中学校跟企业积极接触,让企业参与到人才培养和教育的事业中来,学校和企业共同合作实行学校教师+企业导师的“双师制”教学,也可实行一课多师(一门课程多名老师讲授)式教学,让企业的工程师来校定期讲课,让老师到企业定期学习。
教学模式采用“机房授课”+“任务分组”+“组间协作”的模式。
程序设计课程的特点是编写的代码比较多,甚至每一个知识点都可能会用代码来举例,教师讲课比较适合在机房,教师和同学人手一台电脑,教师可以使用专门的授课软件进行授课和管理学生端,学生听完老师的讲解后可以马上进行练习和实验,这样既可以巩固所学知识又能开拓学生的思维。为配合“项目驱动式”教学方法,充分体现学生在学习中的主导地位,在实验中使用分组教学模式,教师承担指导答疑、选择最优学生方案的角色。分组教学均衡学生能力将其分成若干小组,实验时让学生以小组为单位一起对项目任务进行分析、探讨,小组间进行交流和竞争,优胜劣汰,使用做的最好的一组同学的代码方案,然后将整个项目各个模块的最优组方案结合在一起,通过组间协作共同构建完成一个大项目,这种模式也是符合了C语言结构化程序设计的思想:自顶向下逐步细化,模块化设计、结构化编码,将做好的模块再自底向上构建成一个完整的项目。
课下小组成员可以在一起学习,也可以到别的组去学习,共同思考和实践,寻找创新灵感。分组教学体现了以“学生为中心”、“研究性、探索性、协作性学习”等现代教育理念,促进学生创新意识的提高,培养学生创造力和自学的能力。
4 教改意义
通过对C语言课程教学改革的探索,研究一套切实可行的课程教学改革方案,通过对教学模式等一系列改革方案的实施,在提高课堂教学质量的同时,为其他程序设计类课程的改革提供了参考方案,为全面开展培养应用型人才奠定了基础,对学院的长远发展有积极重要的意义。
作者简介:
刘丽娜(1980--),女,籍贯:黑龙江省伊春市,硕士,讲师,研究方向:计算机应用。
注:本文系如下课题的子课题,项目来源:黑龙江省高等教育教学改革项目;项目名称:应用型本科院校《C语言程序设计》课程教学改革与实践;项目编号:JG2013010002。