《面向对象程序设计》课程教学模式改革方案
理工导学中心 陈郑军
一、教学目的和要求
“面向对象程序设计”是计算机科学与技术专业本科生的一门必修课程。总学时72学时,修完经考试合格可得4学分。
面向对象软件开发方法是吸收了软件工程领域有益的概念和有效的方法而发展起来的一种软件开发方法。它集抽象性、封装性、继承性和多态性于一体,可以帮助人们开发出模块化、数据抽象程度高的,体现信息隐蔽、可复用、易修改、易扩充等特性的程序。
本课程主要介绍面向对象程序设计的方法和C++语言的基本概念。以C++语言中的面向对象机制为主。学习者在学习过程中可以通过大量的程序实例和相关练习,逐步掌握C++的面向过程和面向对象的功能,从而掌握面向对象程序设计的基本知识和基本技能。
要求学生在学习“面向对象程序设计”课程前有一门程序设计语言基础。整个课程结束后,学生
应该了解面向对象的基本概念和使用面向对象技术进行程序设计的基本思想。能比较熟练地用c++语言进行一般面向对象的程序设计。初步掌握面向对象编程环境visual c++的使用。
二、教学模式运行背景
1.课程特点
“面向对象程序设计”课程教材是采用清华大学出版的《C++程序设计教程》,该书内容丰富,几乎经典C++的所有内容都涉及了,并且配有大量的案例。但是也由于信息量太大,知识点太多,以及专业术语过多妨碍了学生自学。同时内容多必然导致教学难度大,“面向对象程序设计”课程多数教师反映难教,主要有2个方面表现:首先教学知识点过多,课程教学容易出现拉完情况;其次知识点多了,学生难把握重难点,易产生畏难情绪;还有面向对象技术和其他过程化语言比较起来,需要转换思维,有一定的理解难度。
2.学生情况
计算机科学与技术专业的部分学生以前并不是读计算机专业专科的,“面向对象程序设计”可能还是他们接触的第一门程序设计语言课程。多数学生还存在着不可避免的工学矛盾。教材
内容多,考试面广,所有这些都导致学生觉得“面向对象程序设计”课程难学。
因此如果“面向对象程序设计”还是采用传统教育模式,学生也只依赖课堂学习,不采用新的教学模式,那么上面提到的问题就不会得到较好解决,从而成为相关课程教学乃至整个专业的瓶颈。
三、模式基本框架
1.课程特点和资源情况什么编程课比较好
“面向对象程序设计”课程是一门理论与实践并重的课程,通过这门课程学习学生应该掌握程序设计的基本技巧和方法。所以教学点除了组织面授辅导课外,还应该提供较充裕的上机条件。
重庆电大在2002年就制作了“面向对象程序设计”完整的课程直播课堂录像,录像时使用的教材虽然和现用教材有一些不现同,但是知识点和教学要求基本上是一致的,这样就可以很大程度上解决学生自主学习的辅助问题。同时在本科平台上课程责任教师已经将课程电子教案、课程重难点分析、自检自测题等资源发布,并且资源还会逐渐丰富。除了使用重庆电大
提供的教学资源外,现在的Internet本来就是一个资源非常丰富的网络平台,学生可以借助搜索引擎(如Yahoo、Google等)获得其感兴趣的资料。或者还可以通过、BBS论坛、教学答疑聊天室获得针对性帮助。
2.教学模式基本框架
根据“面向对象程序设计”的教学现状、课程特点和资源特点,我觉得可以建立一种“以学生自主学习为主体、重难点面授等形式为补充、以网络平台为依托、市校/分校多级服务为支持、师生(学生与学生、学生与教师、教师与教师)多向联系”的教学模式。具体流程如下图(图中斜线表示支持,线条粗细程度表示支持力度):
上图中“主要学习形式”以学生自主学习为主体,面授辅导为补充。而面授辅导也要采用新的教学形式,需要根据这个模式要求,在教学内容和教学方式上作出大调整,也就是要采用新
的教学方式、方法、手段。在边远地区的教学点可能要请到较好的老师比较困难,则需要加强其他几个环节来弥补。由于成人学生业余学习的特点,面授辅导后很少见到授课教师,在自主学习中肯定会遇到各种各样的问题,所有需要得到帮助。模式采用三种方式来解决这个问题。首先最主要的就是网络教学平台上的教学资源,学生可以通过看教学视频,电子教案等资源来直接解决问题,也可以通过平台上责任教师留的到责任教师获得帮助。其次是通过教学点提供的教学支持服务来获得帮助,如果是知识问题教学点可以联系任课教师或市校责任教师来获得帮助,同时任课教师和责任教师之间也可以相互联系。再次教学点应该将班上同学按一定方式分成学习小组,让他们定期交流,由于他们每个人学习的进度不同,问题的理解也不同。定期交流能给他们相互间带来很大的好处,很多相对简单的问题都可以解决。
四、模式运行设计
上述模式具体实现细节和建议包括下几个方面:
1.教学内容改革
“面向对象程序设计”课程整个教学量是非常大的,全书实际上由三个部分组成:C++过程化语言基本概念和方法(第1章到第6章);基本数据结构(第7章、第8章);面向对象的概念、方法和技巧(第9章到第14章)。因此对于教师来说进行教学内容改革首先必须仔细分析这门课程各章节的特点、全书重点章节、考试考点范围、平台已有资源情况等等内容,从而能在不影响专业计划培养要求及考试前提下,对全书教学内容进行分解,部分内容弱化,部分内容重点讲,需要说明的是弱化不等于不讲,重点讲也不是拉通讲,都是取重难点内容进行讲解,只是一个讲解点密度问题。对于C++过程化语言的基本概念和方法部分,由于其本身难度小,并且有完整的直播课堂资源,所以这个部分的内容就可以弱化介绍,将第一章C++编程基础、第二章基本C++程序结构、第三章数据类型、第四章程序流程控制、第六章简单程序设计的内容的主要学习任务留给学生自主学习。这个部分教师需要做:
(1)告诉学生每章节的重点是什么,难点是什么。
(2)准备几个简单实用的经典案例,通过VC++环境实际运行给同学看。让他们觉得C++程序用有实用价值,并且也不复杂。然后详细介绍VC++的开发环境使用的几个关键步骤,包括项目建立、关闭、打开,程序调试(错误定位及常见的错误提示信息)。这个环节应该走
在课程教学的前面,这样学生在边看教材边看直播录像的自主学习中遇到的很多感兴趣或困惑的的内容,他们都可以放到VC++下去测试,这既能有效地帮助他们克服自学中的问题,又帮助他们锻炼动手能力。
(3)给出每一章要解决的习题,这些习题可以是教材上,更建议教师自己准备的一些更具有章节综合性的问题。
对第一部分的第5章函数需要教师重点讲解,函数编写及函数调用也是考试的主要考点之一,但同时也要给学生准备一些编程习题。教材的第二部分内容是所涉及的两个章节:数组与结构、指针与引用都是重点章节,建议教师重点讲解,并补充链表的建立和遍历。第三部分是全书的重难点部分,整个面向对象部分内容包括6个章节,由于面向对象表示方法的特殊性,建议学生自主学习第9章,教师重点讲解第10~14章。通过这种讲解,一方面贯彻了教育部和中央电大成人教育的精神,培养他们自主学习能力。另一方面,这种形式又可以较好地解决学生工学矛盾问题。一个学生即使缺了某次课或者遇到问题,也可以通过模式设计的支持服务得到解决。
2.教学方式改革
为了保证课程的教学质量,面向对象程序设计课程的教学形式也需要进行改革。首先课程授课教师应该放弃传统的板书教学,转而使用多种媒体资源组合教学。这样做好处很明显,教案采用电子教案具有比板书更大的信息量,并且也更规范和美观,更吸引学生;并且学生还能利用教师的电子教案自学。电子教案上可以为准备更多的案例或是为一个案例提供更多的解决方案。多媒体教室则既能将教师精心设计的很多案例当场运行出来,给学生直接印象,又能更好展示一些案例,让学生去联想。网络平台则可以演示遇到问题如何获得帮助或如何查询资料,这对于学生来说实际上是非常有价值的,在他们自主学习遇到问题时他们就可以有更多的途径获得支持。比如教材上关于循环、数组排序、链表的案例,就可以通过提供更多的方法,让学生明白“条条道路通罗马”,程序设计不需要固定的方法,促进他们养成举一反三的习惯。同时精选的案例既能更容易、更清晰地解决问题,又能培养学生学习兴趣,消除学生的畏难情绪,从而给学生更深印象。
其次,教师在教学中应该适当的转换角,不能再一味将自己看成专家教授,而更应该看成学生学习的伙伴。教师在教学设计和教学的时候都要尽可能地站在学生学习的角度来进行,比如教学过程中减少专业术语使用,转而使用更形象通俗易懂的描述。教师不应该死板地遵照预先制定的课堂教学计划,在“面向对象程序设计”教学中应该鼓励学生交互,交互对师生
双方都是收获,并且适当的交互对于活跃教室气氛、提高学生注意力大有好处。同时对于参加交互的同学应该及时进行表扬,以增加其兴趣和信心。
再次,教师应该激励和支持学生自主学习(包括小组学习)。教学过程中教师应该明确给出学生应该自主学习和小组学习的内容范围,由他们自己制定学习进度、方式。当然教师要给出一些指导,引导他们知道如何寻求帮助、查询资料、现有案例等等。比如在“面向对象程序设计”课程中从第9、10、12章的内容都可以纳入学生自主学习和小组学习,教师只需要对这些章节内容简单讲解,学生就可以根据网上视频资源和电子教案自主学习。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论