




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C+程序设计教学改革C+教学怎样进行才不太难,C+程序设计,c+课程的现状与改革的思路如何组织C+教学c+程序设计关键技术教学指导思想教学方法的思路简介教学与考试教学效果,一、c+课程的现状与改革的思路,C/C+语言本身相当复杂,作为第一教学语言有其天生的困难,全国的教学现状由2003年9月白皮书给出的C和C+两份教学大纲可以看出:C语言内容比较全面,对算法的要求也比较高,这表明C的教学已经比较成熟。建议学时:讲授(3)+实验(4)。C+中算法大大削减,语法大大增加,并以一般程序设计内容为主、面向对象内容为辅。建议学时:讲授(4)+实验(4)。表明C+教学还不成熟。学生的反应也是“这次地,怎一个难字了得!”。,一、c+课程的现状与改革的思路,经典的C+教学存在以下问题:C+是从面向过程的C语言发展而来的,并非是纯面向对象的语言,面向过程和面向对象教学分离,不利学生掌握先进的面向对象程序设计方法。面向对象的C+语法较复杂,教学往往陷入语法,面向对象成了语法现象。只能削弱更为重要的面向对象程序设计应用和算法的教学。工作平台相对陈旧,未能使用主流的图形化的面向对象的操作系统平台。教学内容相对陈旧,新的C+98标准的重要发展没有体现。,一、c+课程的现状与改革的思路,学生与教学整体环境的现实情况:一年级大学生更重视数理化和外语,计算机课的精力分配仅排第五、六位。本科生总学时数下降,尽管计算机课程重要性上升,但总学时不可能增加。学生认为应试教育天经地义,大学应延续中学的应试教育,不懂得主动学习。尽管中学教学大纲对计算机要求提高,但学生水平未提高。大学生上机实践环境大大改善。大学生对计算机学习的期望值很高,但对学习将遇到困难的心理准备不足。,一、c+课程的现状与改革的思路,本课程改革的出发点是:与时俱进和实事求是。与时俱进是指教学内容要跟上计算机技术的最新发展;实事求是是指教学要切合当今大学生的实际情况,切合本课程在大一同时开设的课程中的地位。,一、c+课程的现状与改革的思路,课程体系改革的具体思路:培养面向对象与参数化程序设计的能力。突出C+关键技术的教学。要有重点,不要贪多嚼不烂。选择最新的C+体系(98标准)作为教学内容。突出程序设计,强调算法而不是语法。立足于白皮书指出的让学生学到实实在在的应用技能。基础教学与实践教学相结合。突出编程能力的培养。解决面向对象与面向过程分离的问题,直接讲授面向对象程序设计方法。培养大学生的自学与研究能力。,二、如何组织c+教学,C+教学内容的组织:白皮书给出了C+的基本教学要求。但同样的内容,怎样组织教学却有大学问。教学目的不同,教学内容的组织方式也不同:如果要讲的是程序设计语言本身,当然是以语法为主;如果学习的是程序设计,则应该以程序设计的方法和技术(算法)为主,而语法只是作为工具。不能语法与方法并重,否则C+的教学无论对老师还是学生都是太难了。,二、如何组织c+教学,怎样组织,C+教学才不太难的:深刻了解教学内容的内在联系和学生现状是基础。C+教学最简单也是最直接的组织方法是:按语法现象,先讲面向过程,再讲面向对象。因学时有限,结果学生学到的是前者,后者仅仅是一个语法现象,一个模模糊糊的印象。影响到下一届学生就是面向对象有什么用?第二种组织方法是直接讲面向对象,重点放在程序设计的方法和技术(算法)。结果学生的反应是:我们的专业基础课是不是都这么难?那怎么得了?,二、如何组织c+教学,怎样组织,C+教学才不太难的:白皮书(03年11月)指出:过程性程序设计与面向对象程序设计不是两个相互独立的程序设计范型,后者包括前者,是前者的发展。把两者分开并列是不妥的。我们理解:面向对象是勾画了程序的整体框架,程序个部分和各层次的内在联系,使可再利用性大大提高;而具体描述算法的程序段则是过程性的。所以后一种组织方式是比较好的,但降低其难度是关键。,二、如何组织c+教学,怎样组织,C+教学才不太难的:实际现有的两种组织方法,教学都是从面向过程和面向对象两方面着手,仅仅是教学次序和侧重点不同。考虑到既然我们的目的是培养学生的编程能力,同时按照ISO14882C+语言标准的要求,我们的教学组织从两个方面着手:面向对象和参数化程序设计给参数化程序设计以前所未有的重视。,三、c+程序设计关键技术,要具体降低难度,首先要深刻理解C+的关键技术,要有重点,不能面面俱到,有所失,才能有所得。围绕关键技术“精讲多练”,可以花较少的学时取得更好的效果。突出关键技术多态的教学强调类对象个性实现的关键技术多态。包括重载(编译时的多态,包括函数与运算符重载)、层次结构中的同名覆盖与超载(运行时的多态)。在介绍函数时就引入函数重载,在教学刚涉及类对象时就引入运算符的重载。引入的越早应用的机会越多。普遍使用这些技术是面向对象的C+的标志。,三、c+程序设计关键技术,突出关键技术参数化程序设计的教学C+中参数化是由模板技术实现的。突出模板相关内容的教学。不是将模板作为一种语法现象,而是作为一个有力的工具用于本教材所涉及的全部数据结构基本知识,包括顺序表、链表、栈、队、二叉树以及查找排序算法。同时介绍标准模板库的简单使用方法。最新发展的ISO14882C+语言标准一个较大的改变是把模板引入标准库,使用模板类来代替传统的C+中定义的类,实现通用的与数据类型无关的算法(参数化程序设计)。,三、c+程序设计关键技术,强调关键技术聚合的教学:提倡完善的类对象封装,不仅封装数据和对数据的操作,而且封装资源(尤其是内存)的动态分配与释放,形成一个完备的子系统。在一个有层次结构的类体系中资源的动态分配与释放应封装在成员对象中,如同使用标准的string字符串类那样。成员对象往往不被重视,教学中往往重视派生而轻视聚合,聚合是一种完善的封装。采用成员对象将大大简化层次结构的类体系中资源的动态分配与释放的处理方法,不再出现难度极大的多层次的深复制。,三、c+程序设计关键技术,介绍关键技术异常处理:介绍怎样在面向对象的程序设计中使用异常处理技术来处理一些很难查找甚至是无法避免的运行时错误和异常。这里要求从一开始学习资源的动态分配就习惯于在构造函数中动态分配资源、在析构函数中释放资源。,三、c+程序设计关键技术,总之,不是泛泛介绍面向对象的C+的语法和框架,而是突出实用技术,包括完善的封装、派生、多态和模板,在构造函数中动态分配资源、在析构函数中释放资源和异常处理,这是面向对象的C+程序设计的精髓。这里没有强调一般的封装与派生,并非不重要,而是它们是最基础的,不会被忽视。,三、c+程序设计关键技术,教学上有重点与没有重点是大不相同的,平均使用学生的精力和学时是不可取的。“伤其十指,不如断其一指”。教学与打仗是一个道理。教学目的不同,所取的重点也是不同的。这种以关键技术为重点的方法是突出程序设计的方法和技术。这样培养的学生所编的程序给人的第一印象应该是:这是规范的面向对象的程序。,四、教学指导思想,首先应淡化语法、强调算法:注意介绍有关独立于任何特定编程语言的算法概念和结构,即突出程序设计而不是语法。强调算法,不是忽视语法,而是不要繁琐的钻牛角尖的语法,我们要的是基本的常用的语法,但更多的是模仿。不是知道的语法越多,程序编得越好,而是自己动手编程越多,程序编得越好。重点攻算法,带动基本语法的学习,也可以大大节约学时,降低教学难度。,四、教学指导思想,第二,力图把面向对象与面向过程有机地结合起来。面向过程突出了算法,学生易接受,C+不应该不讲面向过程的部分。但必须尽早引入面向对象的概念。学生刚进入编程能力培养的实质阶段,学习的就是面向对象的程序设计。这样,大学生才能顺利接受面向对象思想。形象地说面向对象是编程的大框架,面向过程是编写处理具体问题程序段的工具。,四、教学指导思想,第三,基础教学与实践教学相结合:程序设计是一门实践性很强的课程,仅在基础教学中“精讲多练”还是不够的,通常有课程设计作为实践教学。实践教学与基础教学应各有侧重,互为补充。这样基础教学可以专攻一项,教学难度也可以下降。在基础教学中采用Windows平台下的控制台方式,以突出编程基础能力的培养。在实践部分比较全面地学习标准的Windows图形界面编程。Windows与MFC编程相关原理在课堂教学中讲授。操作性内容安排学生提前自学,教师进行重点内容的演示。,四、教学指导思想,通常MFC教学内容庞杂,学生易迷失在令人眼花缭乱的操作中,而看不清程序的基本组成。我们要求的内容,简洁而不失完整性:由应用程序向导建立程序框架,由资源编辑器建立用户界面,由类向导建立成员变量、消息映射和处理函数,加上文档序列化和注册;使学生对MFC编程的关键步骤一目了然。,四、教学指导思想,课程设计采用研究型学习方法学生自选课题,自定解决方案,在掌握了基本方法和解决问题的途径后,对自己感兴趣的内容,自然愿意努力去寻找答案,这比从老师那里得到答案要强得多。再难他也认为不难。如果小组成员搭配合理,基础较差的同学也可以跟上进度,至少有一次全过程的学习机会。教师在此阶段只需提醒学生合理分配工作时间,注意小组成员之间的沟通,帮助把握进度。,五、教学方法思路简介,有了适当的教学内容组织,加上好的教学方法,可以使教学难度大大下降。C+教学方法大体有两类:一类是细细地讲,所有的难点、问题和细节都举了大量的例子一一交待清楚。把知识嚼烂了再反哺给学生。这样学生学习的难度是下来了,但学生的能力很难提高。另一类是粗犷地讲,讲重点、讲关键技术,其他留给学生自学,留给学生通过实验来掌握。教师主要起引导的作用,让学生不走或少走弯路。我们提倡后一种。,五、教学方法思路简介,首先围绕关键技术精讲多练:强调掌握面向对象C+的关键技术。与之有关的精讲,无关的泛读。要求学生能熟练应用多态(重载和超载),熟练应用模板,熟练应用派生。习惯在构造函数中动态分配资源、在析构函数中释放资源和异常处理的方式。围绕关键技术教学是精简学时的关键。C+的内容很丰富,只要达到以上三个熟练应用和一个习惯的目的即可。为了达到精讲多练,应安排大量同步实验,每个实验包括多个范例和练习,当然可以选做一部分。,五、教学方法思路简介,其次,提倡庖丁解牛的方法:面向对象程序设计的原代码通常比较庞大,原因是数据与数据的操作封装在一起,原则上包含的操作要全面,正是众多的成员函数使学生认为自己面对的是一个庞然大物,吓也吓蒙了。教师应该指出成员函数是一个个独立的操作,每一个成员函数都是简单的。可以给学生讲讲庖丁解牛的故事,要求学生做到目无全牛,也就是面向对象的程序要一个一个函数来编。,五、教学方法思路简介,第三,正确处理编程细节与大局观:建议本课程一学年完成,在第一学期的教学中对算法的描述,侧重于采用C+语言编程的细节的讲解。要求学生学会先分析算法,再画流程图,最后进行编程。特别是在“基本控制结构程序设计”和“函数”的教学中要严格贯彻这一要求。之后是过渡阶段,对编程的细节的讲授随教学推进而逐渐淡化,对程序的整体掌握的要求逐渐加强,使学生的编程能力上一个台阶。建议在第二学期的教学中,算法表述的细节基本留给学生自己看,教师重点讲解脱离具体C+语言的算法本身的描述和程序整体的构造。一方面提高学生的自学能力,另一方面引导学生的编程的大局观。,五、教学方法思路简介,第四,强调入门时对编程细节的指导,提倡学生互相帮助:学生尚未入门时具体指导尤其重要,最好是在实验室里配大屏幕显示,教师为学生同步演示具体操作。在辅导实验时只可能解决少数学生的少数问题,提倡上机时学生互相讨论互相帮助。提倡较难的题可以同学之间先讨论再独立完成,规范化编程主要是灵活应用通用算法,不是创造别人看不懂的算法,初级阶段主要是模仿。要有讲评,这是一个总结提高的过程。,五、教学方法思路简介,第五,培养学生调试程序的能力:教师在教学初期的课堂教学中应多做控制台应用程序设计全过程演示。学生调试程序的能力主要在这时培养,不仅是C+,而且以后“微机系统”等后续课程用Debug调试各种程序的基本功都是在这里打下的。辅导上机,主要指导学生怎样跟踪程序的运行,怎样设置被监视的变量,怎样设置断点,怎样单步运行,怎样使用Debug工具。授之以鱼,不如授之以渔。帮同学调通一个程序,不如教会同学怎样去调程序。,五、教学方法思路简介,第六,尽早引入面向对象的思想:例如当介绍基本数据类型时,传统的教学方法是说同一种算法用于不同的数据类型时结果是不同的,意思是算法是通用的。而实际情况是算法是与数据捆绑在一起的,不同数据有自己的独立的算法集,即数据是与其操作封装在一起的,本质上是面向对象的。让学生刚开始学习就接触面向对象的思想,是非常重要的。,五、教学方法思路简介,第七,广泛使用图解法:人获得的信息90%是来自视觉。图可以表现事物之间的联系和转换,文字说不清的事,用图就可以表述的明明白白。查找、排序、特别是链表的各种算法,用图解不仅可以帮助理解,而且帮助记忆算法。递归很难讲授,但用图解就简单多了。阅读理解程序是协同工作的基本功,用图解法使理解程序也变得忒简单。,五、教学方法思路简介,第八,淡化指针:指针是C+的难点。但C+有各种技术取代了指针的许多功能,如引用取代指针的间接访问、成员函数取代函数指针。建议只保留指针作为地址这一基本功能(访问动态建立的无名对象)和指针与一维数组访问的关系(指针的运算)。其他都可以不讲。淡化了指针,C+的难度就明显下降。,五、教学方法思路简介,第九,随时更新的教学资料:教材是死的,总是滞后与实际教学的。而教学是活的,是随时在发展的。为此所有任课教师都应准备大量的不断更新的教学资料,并互相交流。,六、教学与考试,总学时安排:本教程建议授课时数48学时,习题课8学时,上机实验56学时(含课外上机),综合考虑一年级大学生课程安排,以及与本课程的相关性,建议安排在两个学期中完成。另有小型软件设计的实践环节(课程设计,短学期),16学时加上机实验32学时(含课外上机)。,六、教学与考试,整个教学强调过程,知识积累的过程,能力培养的过程,使学生能快乐地学习。一定要避免应试教
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 标准模板配色方案(3篇)
- 山体施工防火措施方案(3篇)
- 报酬税务筹划方案(3篇)
- DB23-T2954-2021-直播电商人才培训服务规范-黑龙江省
- DB23-T3058-2021-早春大棚番茄行下内置式秸秆反应堆栽培技术规程-黑龙江省
- 公司对外活动管理制度
- 公共客运公司管理制度
- 包饭公司行政管理制度
- 节约水电措施方案(3篇)
- 工程甲方单位管理制度
- 2025年继续教育公需课必修课考试题库附含参考答案
- 渐进多焦点镜片设计特点
- 公共知识法律试题及答案
- 2025中国广电山东网络有限公司市县公司招聘145人笔试参考题库附带答案详解
- 天津市公安局为留置看护总队招聘警务辅助人员笔试真题2024
- 2025-2030中国光稳定剂行业市场现状供需分析及投资评估规划分析研究报告
- 浙江省强基联盟2024-2025学年高一下学期5月月考地理试题(含答案)
- 职业技术学校2025年国际交流计划
- 2025年土木工程专业知识测试试卷及答案
- (高清版)DG∕TJ 08-15-2020 绿地设计标准 附条文说明
- 2025年商业模式与创新管理考试卷及答案
评论
0/150
提交评论