论文部分内容阅读
摘要: 面向语言程序设计是计算机专业的专业基础课, 在课程教学中, 许多教师和学生都认为, 计算机语言教学死板, 不利于将知识转化为能力,学生见不到实实在在的用途。本文结合作者的教学实践, 对如何有效讲解面向对象程序设计这门课程进行了探索, 希望能提高教学效率和效果。
关键词: 面向对象程序;设计;教学方法
中图分类号:TP3文献标识码:ADOI:10.3969/j.issn.1672-0407.2010.08.009
文章编号:1672-0407(2010)08-019-02收稿日期:2010-07-16
面向对象程序设计是计算机专业的专业必修课程, 开设此课程的目的是使学生掌握程序设计的基本方法并形成面向对象的程序设计思想, 能够熟练地使用C++语言进行程序设计并具备独立调试程序的能力, 为后续课程的学习和应用打下坚实的基础。作者结合国内外优秀编程语言的教学方法和模式, 不断地总结和积累经验并运用于教学实践之中, 取得了较好的教学效果, 有助于学生在有限的教学时间内, 以最快、最简单、易懂的方式, 扎实地掌握C++语言的内容。下面是作者在面向对象程序设计教学中的一些体会。
一、培养学习兴趣
为了使初学者能尽快地掌握计算机知识, 进入计算机的应用领域, 在课程讲授过程中, 要特别注意培养学生的学习兴趣。最初接触计算机时, 很多学生感到新奇、好玩, 这不能说是兴趣, 这只是一种好奇。随着课程的不断深入, 大量的概念、规则、定义、要求和机械的格式出现, 很容易使部分学生产生枯燥乏味的感觉。为了把学生的好奇转化为学习兴趣, 授课时作者应从具体问题入手, 让学生先从感性上认识新知识, 继而再讲授理论要点。在首次的导学课上, 给学生找一些《计算机数学》《线性代数》等已学课程的问题, 用算法语言来求解, 使学生体会程序设计的用途和一种全新的解决问题的方法。在课程的进行中, 引导学生学一种算法, 就尝试在同行课程中应用。作者还经常介绍一些趣味性算例, 如: “迷宫问题”[1],“狼-羊-草过河问题”等, 来培养学生的学习兴趣, 让大家积极主动地获取知识, 打好程序设计基础。整个教学过程中应该把解题思路、方法和步骤当做授课的重点, 从而让学生明白如何分析并解决实际问题, 逐渐培养学生进行程序设计的正确思维模式。
二、完善实践教学的内容体系
以理论、实践和育人相结合的改革方针[2],重新审视《面向对象程序设计》的课程实验教学内容,改进原有的以基础实验为主的实验内容, 构建新的多维度的实践教学内容体系。该体系由五个方面组成,如图1 所示,分别是基础性实验、设计性实验、综合性实验、课程设计和实习实践。基本性实验多为验证性实验,设计性实验和综合性实验是以基础性实验为基础展开的,课程设计贯穿前三种实验,注重设计内容的整体性、完整性、独立性、功能性,实习实践更强调应用的背景,一般结合到实际的项目中, 应用面向对象程序设计技术解决实际问题。这是个体系完整的科学,能引导学生由浅到深、由简单到复杂地完成实验内容,激发学生对实验教学的兴趣,培养学生的实际动手能力、独立思考能力、综合应用能力和发明创新能力。同时,强调向学生提供实习实践的机会,让他们能参与到实际软件项目,体会软件行业相关的工作, 让他们对自己所学专业在毕业后的就业形势有一定的了解,减少择业的盲目性。
基础性实验是指学生按照实验指导书的实验目的、实验要求、实验内容和实验步骤,在实验指导教师或实验人员的指导下,完成以验证课程相关知识点为主的实验。以加强基本知识、基本方法和基本技能的掌握,例如熟悉主流开发平台,编写简单的面向对象程序,声明和使用类、对象等实验。《面向对象程序设计》的实验一般是24学时,基础性实验占用6 个学时为宜,如果时间不够,也可以把一些实验安排成课外实验,让学生自己去掌握。设计性实验是学生根据已经掌握的基本知识、基本理论、基本技能,按照实验教师给出的实验题目和要求,自己选择实验的方法、环境和工具,设计出实验的步骤,完成实验的过程,分析实验的结果,总结实验的结论,撰写实验报告,以使学生对科学实验的完整过程有初步的认识, 同时培养学生独立动手能力、思考能力和解决问题的能力,如运用面向对象的类的继承、类的组合、类的封装、类的多态性等核心机制来解决特定问题的程序设计实验。设计性实验可以多安排一些,例如12 学时,也要给出实验要点,用到的知识和理论,以及参考的解决方法。
三、结合实验系统学习《面向对象程序设计》的理论知识,提高综合能力
综合实验是指实验内容涉及本课程的综合知识,以及与本课程相关的课程知识的实验,它要求学生能以某种编程方法为主线,结合多种技能,综合运用相关的知识点,针对某一具体实例,为了解决若干问题,综合设计出一套比较独立的程序。通过这类实验,学生可以初步了解到软件程序设计的完整流程, 软件技术的应用背景,同时也能培养学生查阅资料、设计开发、程序调试等多方面的能力,以及综合分析问题、解决问题的能力。如完成一个简单的学生成绩管理系统,要求综合运用类和对象、封装、继承以及多态性的思想来设计和实现,可以安排6~9 学时,也要给出实验要点和参考设计。课程设计是正常课堂实验的补充,一般安排两周的时间,它要求组建小组团队,完成具有一定规模、功能相对完整且具有一定实际使用价值的软件系统的设计与实现,主要培养团队合作精神、软件开发能力和项目管理能力。课程设计的团队人数以2~3 人为宜, 必须有明确的团队分工,以防止出现部分成员不独立完成的情况,这包括每个成员的主要职责,要完成的功能点、程序代码,以及上交的课程设计报告重复率不能超过15%,重点阐述自己完成的设计和实现。在选择题目时,学生可以自选感兴趣的题目,教师也要给出部分题目,但题目的大小和广度要合适,例如学生成绩管理、图书管理系统、人事档案管理系统和网络聊天软件等,给出具体功能点,使用的面向对象技术,以及课程设计报告的模版。模版要体现软件工程的方法,包括需求分析、总体设计、界面设计、详细设计等部分,最好能要求学生使用UML 工具进行系统建模, 作为课程设计报告的一部分。完成后要演示程序,上交软件程序,课程设计报告和UML 系统模型。
四、总结
通过实习实践教学,学生有机会走出学校这个象牙塔,参加实习公司的软件项目,学以致用、边学边用。实习实践对学生的帮助很大,能让他们有实际的项目经验,学习到软件公司现在所用的技术,了解到软件行业的发展现状,例如工作性质、职业素养、薪资水平、岗位分布、晋升方式、应用前景等,有效地培养学生从事软件行业相关工作的兴趣。实习实践是学生从毕业走到社会的桥梁,但由于各种原因,学校只向小部分学生提供这样的机会,庆幸的是国内不少著名的企业渐渐地向在校学生提供实习生计划,让他们有机会参加项目,体验实际工作。这些体验为学生完成毕业论文及设计打下了基础,同时让他们了解这个行业,以及对将来所从事的职业有了更为清楚地认识。
参考文献:
[1]刘璟, 周玉龙.高级语言C++ 程序设计( 第二版) [M].北京: 高等教育出版社, 2006.
[2]刘向军, 刘春颖, 李月乔. 电子技术课程实践教学改革的思路及措施[J]. 中国电力教育, 2007,(03).
[3]Grady Booch 著, 冯博琴,冯岚,薛涛等译.面向对象分析与设计[M].北京: 机械工业出版社, 2003.
(责任编辑:王贵)
关键词: 面向对象程序;设计;教学方法
中图分类号:TP3文献标识码:ADOI:10.3969/j.issn.1672-0407.2010.08.009
文章编号:1672-0407(2010)08-019-02收稿日期:2010-07-16
面向对象程序设计是计算机专业的专业必修课程, 开设此课程的目的是使学生掌握程序设计的基本方法并形成面向对象的程序设计思想, 能够熟练地使用C++语言进行程序设计并具备独立调试程序的能力, 为后续课程的学习和应用打下坚实的基础。作者结合国内外优秀编程语言的教学方法和模式, 不断地总结和积累经验并运用于教学实践之中, 取得了较好的教学效果, 有助于学生在有限的教学时间内, 以最快、最简单、易懂的方式, 扎实地掌握C++语言的内容。下面是作者在面向对象程序设计教学中的一些体会。
一、培养学习兴趣
为了使初学者能尽快地掌握计算机知识, 进入计算机的应用领域, 在课程讲授过程中, 要特别注意培养学生的学习兴趣。最初接触计算机时, 很多学生感到新奇、好玩, 这不能说是兴趣, 这只是一种好奇。随着课程的不断深入, 大量的概念、规则、定义、要求和机械的格式出现, 很容易使部分学生产生枯燥乏味的感觉。为了把学生的好奇转化为学习兴趣, 授课时作者应从具体问题入手, 让学生先从感性上认识新知识, 继而再讲授理论要点。在首次的导学课上, 给学生找一些《计算机数学》《线性代数》等已学课程的问题, 用算法语言来求解, 使学生体会程序设计的用途和一种全新的解决问题的方法。在课程的进行中, 引导学生学一种算法, 就尝试在同行课程中应用。作者还经常介绍一些趣味性算例, 如: “迷宫问题”[1],“狼-羊-草过河问题”等, 来培养学生的学习兴趣, 让大家积极主动地获取知识, 打好程序设计基础。整个教学过程中应该把解题思路、方法和步骤当做授课的重点, 从而让学生明白如何分析并解决实际问题, 逐渐培养学生进行程序设计的正确思维模式。
二、完善实践教学的内容体系
以理论、实践和育人相结合的改革方针[2],重新审视《面向对象程序设计》的课程实验教学内容,改进原有的以基础实验为主的实验内容, 构建新的多维度的实践教学内容体系。该体系由五个方面组成,如图1 所示,分别是基础性实验、设计性实验、综合性实验、课程设计和实习实践。基本性实验多为验证性实验,设计性实验和综合性实验是以基础性实验为基础展开的,课程设计贯穿前三种实验,注重设计内容的整体性、完整性、独立性、功能性,实习实践更强调应用的背景,一般结合到实际的项目中, 应用面向对象程序设计技术解决实际问题。这是个体系完整的科学,能引导学生由浅到深、由简单到复杂地完成实验内容,激发学生对实验教学的兴趣,培养学生的实际动手能力、独立思考能力、综合应用能力和发明创新能力。同时,强调向学生提供实习实践的机会,让他们能参与到实际软件项目,体会软件行业相关的工作, 让他们对自己所学专业在毕业后的就业形势有一定的了解,减少择业的盲目性。
基础性实验是指学生按照实验指导书的实验目的、实验要求、实验内容和实验步骤,在实验指导教师或实验人员的指导下,完成以验证课程相关知识点为主的实验。以加强基本知识、基本方法和基本技能的掌握,例如熟悉主流开发平台,编写简单的面向对象程序,声明和使用类、对象等实验。《面向对象程序设计》的实验一般是24学时,基础性实验占用6 个学时为宜,如果时间不够,也可以把一些实验安排成课外实验,让学生自己去掌握。设计性实验是学生根据已经掌握的基本知识、基本理论、基本技能,按照实验教师给出的实验题目和要求,自己选择实验的方法、环境和工具,设计出实验的步骤,完成实验的过程,分析实验的结果,总结实验的结论,撰写实验报告,以使学生对科学实验的完整过程有初步的认识, 同时培养学生独立动手能力、思考能力和解决问题的能力,如运用面向对象的类的继承、类的组合、类的封装、类的多态性等核心机制来解决特定问题的程序设计实验。设计性实验可以多安排一些,例如12 学时,也要给出实验要点,用到的知识和理论,以及参考的解决方法。
三、结合实验系统学习《面向对象程序设计》的理论知识,提高综合能力
综合实验是指实验内容涉及本课程的综合知识,以及与本课程相关的课程知识的实验,它要求学生能以某种编程方法为主线,结合多种技能,综合运用相关的知识点,针对某一具体实例,为了解决若干问题,综合设计出一套比较独立的程序。通过这类实验,学生可以初步了解到软件程序设计的完整流程, 软件技术的应用背景,同时也能培养学生查阅资料、设计开发、程序调试等多方面的能力,以及综合分析问题、解决问题的能力。如完成一个简单的学生成绩管理系统,要求综合运用类和对象、封装、继承以及多态性的思想来设计和实现,可以安排6~9 学时,也要给出实验要点和参考设计。课程设计是正常课堂实验的补充,一般安排两周的时间,它要求组建小组团队,完成具有一定规模、功能相对完整且具有一定实际使用价值的软件系统的设计与实现,主要培养团队合作精神、软件开发能力和项目管理能力。课程设计的团队人数以2~3 人为宜, 必须有明确的团队分工,以防止出现部分成员不独立完成的情况,这包括每个成员的主要职责,要完成的功能点、程序代码,以及上交的课程设计报告重复率不能超过15%,重点阐述自己完成的设计和实现。在选择题目时,学生可以自选感兴趣的题目,教师也要给出部分题目,但题目的大小和广度要合适,例如学生成绩管理、图书管理系统、人事档案管理系统和网络聊天软件等,给出具体功能点,使用的面向对象技术,以及课程设计报告的模版。模版要体现软件工程的方法,包括需求分析、总体设计、界面设计、详细设计等部分,最好能要求学生使用UML 工具进行系统建模, 作为课程设计报告的一部分。完成后要演示程序,上交软件程序,课程设计报告和UML 系统模型。
四、总结
通过实习实践教学,学生有机会走出学校这个象牙塔,参加实习公司的软件项目,学以致用、边学边用。实习实践对学生的帮助很大,能让他们有实际的项目经验,学习到软件公司现在所用的技术,了解到软件行业的发展现状,例如工作性质、职业素养、薪资水平、岗位分布、晋升方式、应用前景等,有效地培养学生从事软件行业相关工作的兴趣。实习实践是学生从毕业走到社会的桥梁,但由于各种原因,学校只向小部分学生提供这样的机会,庆幸的是国内不少著名的企业渐渐地向在校学生提供实习生计划,让他们有机会参加项目,体验实际工作。这些体验为学生完成毕业论文及设计打下了基础,同时让他们了解这个行业,以及对将来所从事的职业有了更为清楚地认识。
参考文献:
[1]刘璟, 周玉龙.高级语言C++ 程序设计( 第二版) [M].北京: 高等教育出版社, 2006.
[2]刘向军, 刘春颖, 李月乔. 电子技术课程实践教学改革的思路及措施[J]. 中国电力教育, 2007,(03).
[3]Grady Booch 著, 冯博琴,冯岚,薛涛等译.面向对象分析与设计[M].北京: 机械工业出版社, 2003.
(责任编辑:王贵)