论文部分内容阅读
摘要:通过对“C语言程序设计”、“数据结构”和“面向对象程序设计”三门课的教学模式现状分析,探讨更适合独立学院培养计算机专业人才的教学改革方法,目标是培养适应未来社会发展需要的计算机应用型人才。
关键词:应用型人才;教学模式;软件开发;课程群
作者简介:刘书红(1978-),女,吉林通榆人,吉林建筑工程学院城建学院,助教;刘清雪(1977-),女,吉林农安人,吉林建筑工程学院城建学院,讲师。(吉林?长春?130111)
基金项目:本文系2010年吉林建筑工程学院城建学院教育教学研究项目(项目编号:院科字2010010)的研究成果。
中图分类号:G647?????文献标识码:A?????文章编号:1007-0079(2012)25-0071-02
20世纪80年代以来,国际高教界逐渐形成了一股新的潮流,那就是普遍重视实践教学、强化应用型人才培养。国内的诸多高校近年也纷纷在教育教学改革的探索中注重实践环境的强化,教育部也批准新升格了一些应用型本科院校。这些院校要以体现时代精神和社会发展要求的人才观、质量观和教育观为先导,培养具有较强社会适应能力和竞争能力的高素质应用型人才。
在计算机专业教学中,“高级语言程序设计”、“数据结构”和“面向对象程序设计”三门课是计算机专业核心课的主要组成部分,构成了一条以“数据结构”为中心的课程链。目前中国信息产业快速发展,需要大量的应用型IT人才,如何通过三门课的理论学习和实践环节使学生获得软件开发的能力,成为社会需要的应用型IT人才,为学生今后的工作打下牢固的基础,是应用型本科院校计算机专业非常重要的课题。
一、三门课程介绍
“C语言程序设计”是计算机软件专业中一门非常重要的专业基础课,目的在于培养学生的程序设计理念、掌握程序设计的基本方法,为“数据结构”、“面向对象程序设计”等后续课程打下坚实的基础。[1]
“数据结构”是计算机程序设计的重要理论技术基础,是计算机专业的必修、主干课程之一,是“C语言程序设计”的后继课、“面向对象程序设计”的前导课,也是其他计算机专业课的基础。它主要研究的是计算机加工对象的逻辑结构及其在计算机中的存储结构以及实现各种基本操作的算法,它为理解、应用和开发程序提供技術和方法支持,是程序设计的基础。[2]
“面向对象程序设计”是计算机类各专业的一门最重要的基础课程,主要介绍C++语言的基本概念和面向对象程序设计方法与思想。目标是培养学生成为用面向对象思想开发出具有可扩展性、可维护性和可复用性的软件系统的计算机专业创新型应用人才。
二、教学中存在的主要问题
1.课程之间的衔接出现矛盾,导致学生前导课基础差,后继课没信心
“C语言程序设计”是“数据结构”的前导课,“数据结构”又是“面向对象程序设计”的前导课,“面向对象程序设计”又是其他计算机专业课的前导课。每门前导课的知识点都是其后继课的基础,课程间出现衔接矛盾是指后继课用到的前导课的知识点前导课并没有讲解或讲解不深入,导致衔接矛盾的原因有以下几点:
(1)教师把教学时间的大部分花费在基本概念及简单程序的编写上,对复杂知识点学习不够,尤其是与后继课程相关的复杂知识点的学习不够,结果导致后继课程的学习难上加难。比如,在学习“C语言程序设计”时,多数老师只重视基本数据类型、基本控制语句。对于稍复杂的知识点指针、函数、结构体等讲解不够细致,而这些稍复杂的知识点又是其后继课“数据结构”中频繁使用的知识点,因为基本知识不扎实,再用心去听效果也不明显,慢慢地就失去了学习数据结构的信心。[3]
(2)每门课程都是各自为政,相互孤立,任课老师只管本门课的知识点,并没有适当地对前导课相关知识进行复习,出现知识点断带时,任课教师直接把责任推给前导课教师。
2.教学模式重理论,轻实践
应用型本科院校的计算机专业培养的软件开发型人才最注重的就是实践,对将要从事软件开发的学生而言,只懂理论而动手能力差意味着无法胜任以后的工作。传统教学中的课程实验和课程设计并没有完全发挥其提高动手能力的作用,主要有以下原因:
第一,实践选题一成不变,其内容虽然能反映大纲要求但缺少实用性,结果导致学生对抽象概念的理解不深入,理论与实践脱轨,无法调动学生学习的积极性。例如,有关栈的实验练习,学生只要实现入栈、出栈,判断栈空等操作的程序就可以了,至于如何联系实际应用于现实生活中却是模糊不懂。
第二,传统的实验教学形式基本上以模拟、验证为主,学生按照一定的要求、一定的形式进行设计,很少有让学生自己发挥的设计题目,这种实践模式能够传授知识但不利学生创新能力的培养,学生的学习主动性也没有得到充分的发挥。
第三,学生遇到问题一般都是老师帮忙调试解决,学生独立思考、独立解决问题的能力没有得到培养。
第四,学生更看重成绩而忽略能力,许多学校并没有把实践环节的评定加入总成绩内,导致大多数教师和学生都不太重视实验,源于实验课的分数并不会影响最后成绩。
3.考试、考核机制不合理
大多数院校计算机专业相关课程的考试形式仍然采用全部试题笔试的考试方式,题型主要包括填空、选择、程序设计等,平时成绩(20%)+期末考试成绩(80%)的形式对学生学习成绩进行评定。由于考试机制的制约,多数学生更加不重视实践环节,理论知识也是到期末才埋头苦学、硬背,虽然有时候也能取得好的成绩,但这样高分低技能的学生走上工作岗位后,计算机的操作技能根本不过关,大学计算机课程的学习真的成了“纸上谈兵”。
4.教学内容抽象、教学方式理论化、学生学习主动性差
计算机专业的课程内容比较抽象,理论性过强,如果教师不能做到理论联系实际,就会导致学生虽然掌握了知识点但跟本不清楚这门课究竟有什么作用,现实中遇到了相关问题也不知道如何运用所学的知识去分析问题,提取、组织和操作数据,最终解决问题。学生的学习始终处于应对考试的被动状态,学习主动性不强。 三、课程教学改进的探讨
1.加强先修课程的学习和联接,使学生把知識点形成知识链
针对学生先修课程学习基础不够扎实的情况,可以采取以下措施:
第一,尽可能安排同一个教师讲授该课程链上的三门课程,这样在讲授前导课时可以有的放矢地把课程之间的内在联系告知学生,让学生对相关知识有一个较深的印象。
第二,安排同一课程组的老师轮流讲授课程链上的课程,他们应定期沟通与交流,对每门课知识点的认同达到统一标准。
第三,后继课的授课中涉及前导课相关知识点时,任课教师应适当地加以复习讲解,使知识融会贯通,以便学生能迅速掌握有关知识点。这样,既强化了前导课,又有助于掌握后继课的内容。
2.精心设计实训项目,加强理论与实践的联系,提高学生动手能力
无论是课程实验还是课程设计的选题都要推陈出新,好的选题有助于教学目标的实现。好的选题既要反映大纲要求,又要反映本学科的新技术发展,还要使学生会运用已学到的理论知识解决实际问题。教师在进行实训时应注意以下几个方面:
第一,精心设计实训内容,把难以理解的抽象概念和算法转化为能够在计算机上正确运行的程序,并应注重联系实际,使学生在掌握基本知识的同时也培养了其运用知识解决实际问题的能力。
第二,实训模式除了应包含传统模式加深学生的知识点外,还要增加一些学生自主创新的设计题目,培养学生的创新能力。
第三,在实验过程中,教师应教会学生如何通过调试自己发现问题、解决问题,而不是一遇到问题就帮忙解决。
3.改变课程考核模式,使学生学习变被动为主动
为鼓励学生积极探索新知识、敢于动手、勤于思考,全面考核学生的真实水平,教师应改变以往只看考试成绩的惯例,采取“平时+笔试+上机”的考核方法,并逐渐加大上机成绩在学业成绩中所占的比例,考核的重点由对编程理论知识的考核变为对学生实际动手编程能力和程序调试能力的考核。这种方式减少了对记忆和计算能力的考核,更加强调对学生的问题分析求解能力和综合实践能力的考核。例如,可以将传统考试模式平时成绩(20%)+期末考试成绩(80%)的形式改为采用平时成绩(20%)+上机成绩(30%)+期末考试成绩(50%)的形式。
4.教学过程中多联系实际,注重培养学生兴趣
在课堂教学中,要注意激发学生的学习兴趣,培养学生的主动学习精神,将枯燥无味的理论应用于实际,通过实际问题的分析将理论与实践结合。例如在讲授图的最小生成树时,介绍Prim算法和Kruskal算法,只讲算法学生会感到乏味,如果将该算法应用于实践,让学生求解在N个城市之间铺设电话线最省钱的方式,学生就会眼前一亮,激发了学生学习兴趣。
四、结束语
将“计算机导论”、“C语言程序设计”、“数据结构”、“面向对象程序设计”和“软件工程”五门课程一起构成软件专业的课程群,同时课程群建设还要有相应配套的教师队伍,该队伍成员之间要定期学习与交流,研究各子课程之间的内在联系,将它们进行合理地整合,大胆尝试教学改革。课程群的建设将会不断地提高教师整体素质和教学水平,也会加强学生综合能力的培养,更为重要的是将应用型院校的计算机专业的教学质量提升到一个新档次。
参考文献:
[1]周方,熊艳.以C语言为主线?整合软件技术课程群[J].陕西教育(高教版),2009,(6).
[2]华蓓,赵明.对“数据结构”课程设计教学的一些体会[J].广西大学学报(自然科学版),2007,(S1).
[3]徐佳,黄海平,等.数据结构课程教学改革探索[J].时代教育(教育教学版),2011,(9).
(责任编辑:宋秀丽)
关键词:应用型人才;教学模式;软件开发;课程群
作者简介:刘书红(1978-),女,吉林通榆人,吉林建筑工程学院城建学院,助教;刘清雪(1977-),女,吉林农安人,吉林建筑工程学院城建学院,讲师。(吉林?长春?130111)
基金项目:本文系2010年吉林建筑工程学院城建学院教育教学研究项目(项目编号:院科字2010010)的研究成果。
中图分类号:G647?????文献标识码:A?????文章编号:1007-0079(2012)25-0071-02
20世纪80年代以来,国际高教界逐渐形成了一股新的潮流,那就是普遍重视实践教学、强化应用型人才培养。国内的诸多高校近年也纷纷在教育教学改革的探索中注重实践环境的强化,教育部也批准新升格了一些应用型本科院校。这些院校要以体现时代精神和社会发展要求的人才观、质量观和教育观为先导,培养具有较强社会适应能力和竞争能力的高素质应用型人才。
在计算机专业教学中,“高级语言程序设计”、“数据结构”和“面向对象程序设计”三门课是计算机专业核心课的主要组成部分,构成了一条以“数据结构”为中心的课程链。目前中国信息产业快速发展,需要大量的应用型IT人才,如何通过三门课的理论学习和实践环节使学生获得软件开发的能力,成为社会需要的应用型IT人才,为学生今后的工作打下牢固的基础,是应用型本科院校计算机专业非常重要的课题。
一、三门课程介绍
“C语言程序设计”是计算机软件专业中一门非常重要的专业基础课,目的在于培养学生的程序设计理念、掌握程序设计的基本方法,为“数据结构”、“面向对象程序设计”等后续课程打下坚实的基础。[1]
“数据结构”是计算机程序设计的重要理论技术基础,是计算机专业的必修、主干课程之一,是“C语言程序设计”的后继课、“面向对象程序设计”的前导课,也是其他计算机专业课的基础。它主要研究的是计算机加工对象的逻辑结构及其在计算机中的存储结构以及实现各种基本操作的算法,它为理解、应用和开发程序提供技術和方法支持,是程序设计的基础。[2]
“面向对象程序设计”是计算机类各专业的一门最重要的基础课程,主要介绍C++语言的基本概念和面向对象程序设计方法与思想。目标是培养学生成为用面向对象思想开发出具有可扩展性、可维护性和可复用性的软件系统的计算机专业创新型应用人才。
二、教学中存在的主要问题
1.课程之间的衔接出现矛盾,导致学生前导课基础差,后继课没信心
“C语言程序设计”是“数据结构”的前导课,“数据结构”又是“面向对象程序设计”的前导课,“面向对象程序设计”又是其他计算机专业课的前导课。每门前导课的知识点都是其后继课的基础,课程间出现衔接矛盾是指后继课用到的前导课的知识点前导课并没有讲解或讲解不深入,导致衔接矛盾的原因有以下几点:
(1)教师把教学时间的大部分花费在基本概念及简单程序的编写上,对复杂知识点学习不够,尤其是与后继课程相关的复杂知识点的学习不够,结果导致后继课程的学习难上加难。比如,在学习“C语言程序设计”时,多数老师只重视基本数据类型、基本控制语句。对于稍复杂的知识点指针、函数、结构体等讲解不够细致,而这些稍复杂的知识点又是其后继课“数据结构”中频繁使用的知识点,因为基本知识不扎实,再用心去听效果也不明显,慢慢地就失去了学习数据结构的信心。[3]
(2)每门课程都是各自为政,相互孤立,任课老师只管本门课的知识点,并没有适当地对前导课相关知识进行复习,出现知识点断带时,任课教师直接把责任推给前导课教师。
2.教学模式重理论,轻实践
应用型本科院校的计算机专业培养的软件开发型人才最注重的就是实践,对将要从事软件开发的学生而言,只懂理论而动手能力差意味着无法胜任以后的工作。传统教学中的课程实验和课程设计并没有完全发挥其提高动手能力的作用,主要有以下原因:
第一,实践选题一成不变,其内容虽然能反映大纲要求但缺少实用性,结果导致学生对抽象概念的理解不深入,理论与实践脱轨,无法调动学生学习的积极性。例如,有关栈的实验练习,学生只要实现入栈、出栈,判断栈空等操作的程序就可以了,至于如何联系实际应用于现实生活中却是模糊不懂。
第二,传统的实验教学形式基本上以模拟、验证为主,学生按照一定的要求、一定的形式进行设计,很少有让学生自己发挥的设计题目,这种实践模式能够传授知识但不利学生创新能力的培养,学生的学习主动性也没有得到充分的发挥。
第三,学生遇到问题一般都是老师帮忙调试解决,学生独立思考、独立解决问题的能力没有得到培养。
第四,学生更看重成绩而忽略能力,许多学校并没有把实践环节的评定加入总成绩内,导致大多数教师和学生都不太重视实验,源于实验课的分数并不会影响最后成绩。
3.考试、考核机制不合理
大多数院校计算机专业相关课程的考试形式仍然采用全部试题笔试的考试方式,题型主要包括填空、选择、程序设计等,平时成绩(20%)+期末考试成绩(80%)的形式对学生学习成绩进行评定。由于考试机制的制约,多数学生更加不重视实践环节,理论知识也是到期末才埋头苦学、硬背,虽然有时候也能取得好的成绩,但这样高分低技能的学生走上工作岗位后,计算机的操作技能根本不过关,大学计算机课程的学习真的成了“纸上谈兵”。
4.教学内容抽象、教学方式理论化、学生学习主动性差
计算机专业的课程内容比较抽象,理论性过强,如果教师不能做到理论联系实际,就会导致学生虽然掌握了知识点但跟本不清楚这门课究竟有什么作用,现实中遇到了相关问题也不知道如何运用所学的知识去分析问题,提取、组织和操作数据,最终解决问题。学生的学习始终处于应对考试的被动状态,学习主动性不强。 三、课程教学改进的探讨
1.加强先修课程的学习和联接,使学生把知識点形成知识链
针对学生先修课程学习基础不够扎实的情况,可以采取以下措施:
第一,尽可能安排同一个教师讲授该课程链上的三门课程,这样在讲授前导课时可以有的放矢地把课程之间的内在联系告知学生,让学生对相关知识有一个较深的印象。
第二,安排同一课程组的老师轮流讲授课程链上的课程,他们应定期沟通与交流,对每门课知识点的认同达到统一标准。
第三,后继课的授课中涉及前导课相关知识点时,任课教师应适当地加以复习讲解,使知识融会贯通,以便学生能迅速掌握有关知识点。这样,既强化了前导课,又有助于掌握后继课的内容。
2.精心设计实训项目,加强理论与实践的联系,提高学生动手能力
无论是课程实验还是课程设计的选题都要推陈出新,好的选题有助于教学目标的实现。好的选题既要反映大纲要求,又要反映本学科的新技术发展,还要使学生会运用已学到的理论知识解决实际问题。教师在进行实训时应注意以下几个方面:
第一,精心设计实训内容,把难以理解的抽象概念和算法转化为能够在计算机上正确运行的程序,并应注重联系实际,使学生在掌握基本知识的同时也培养了其运用知识解决实际问题的能力。
第二,实训模式除了应包含传统模式加深学生的知识点外,还要增加一些学生自主创新的设计题目,培养学生的创新能力。
第三,在实验过程中,教师应教会学生如何通过调试自己发现问题、解决问题,而不是一遇到问题就帮忙解决。
3.改变课程考核模式,使学生学习变被动为主动
为鼓励学生积极探索新知识、敢于动手、勤于思考,全面考核学生的真实水平,教师应改变以往只看考试成绩的惯例,采取“平时+笔试+上机”的考核方法,并逐渐加大上机成绩在学业成绩中所占的比例,考核的重点由对编程理论知识的考核变为对学生实际动手编程能力和程序调试能力的考核。这种方式减少了对记忆和计算能力的考核,更加强调对学生的问题分析求解能力和综合实践能力的考核。例如,可以将传统考试模式平时成绩(20%)+期末考试成绩(80%)的形式改为采用平时成绩(20%)+上机成绩(30%)+期末考试成绩(50%)的形式。
4.教学过程中多联系实际,注重培养学生兴趣
在课堂教学中,要注意激发学生的学习兴趣,培养学生的主动学习精神,将枯燥无味的理论应用于实际,通过实际问题的分析将理论与实践结合。例如在讲授图的最小生成树时,介绍Prim算法和Kruskal算法,只讲算法学生会感到乏味,如果将该算法应用于实践,让学生求解在N个城市之间铺设电话线最省钱的方式,学生就会眼前一亮,激发了学生学习兴趣。
四、结束语
将“计算机导论”、“C语言程序设计”、“数据结构”、“面向对象程序设计”和“软件工程”五门课程一起构成软件专业的课程群,同时课程群建设还要有相应配套的教师队伍,该队伍成员之间要定期学习与交流,研究各子课程之间的内在联系,将它们进行合理地整合,大胆尝试教学改革。课程群的建设将会不断地提高教师整体素质和教学水平,也会加强学生综合能力的培养,更为重要的是将应用型院校的计算机专业的教学质量提升到一个新档次。
参考文献:
[1]周方,熊艳.以C语言为主线?整合软件技术课程群[J].陕西教育(高教版),2009,(6).
[2]华蓓,赵明.对“数据结构”课程设计教学的一些体会[J].广西大学学报(自然科学版),2007,(S1).
[3]徐佳,黄海平,等.数据结构课程教学改革探索[J].时代教育(教育教学版),2011,(9).
(责任编辑:宋秀丽)