程序设计C++课程教学探讨

来源 :中外教育研究 | 被引量 : 0次 | 上传用户:btlovers
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】目前各院校在程序设计课程C++教学上采用不同地教学方式,本文以现代教育理论为指导,结合本校实际教学经验,提出一套教学方案。其宗旨是程序设计课程教学的重点应该放在学生的能力培养上,从课程设置、教学内容与教材建设、教学方法、教学手段等方面提出了一些措施,以提高学生的实际动手能力和创新能力,并将提出的方案应用于实际教学,取得了一定的效果。
  【关键词】程序设计课程 教学方案 能力培养
  【中图分类号】G642 【文献标识码】A 【文章编号】1006-9682(2012)06-0010-03
  程序设计类课程是计算机科学与技术及相关专业的基础课程,在计算机专业课程体系建设中占有十分重要的地位。目前大部分高校在程序设计教学中多采用传统的讲授法和系统的学习,同时结合一些上机实践操作来巩固和熟悉课堂上所讲的一些知识点,但对于计算机程序设计课程而言,其特点是更新更快、内容多、课时少。所以,在授课内容处理上既要讲授大量的基础知识、基本概念,而且还要讲授具体的应用甚至操作,要让学生掌握计算机的应用能力;既不能抛弃传统的、经典的内容,又要介绍当前最新的成果。传统的系统学习和讲授有许多缺点,它偏重知识的灌输,重理论轻实践,以教师为中心,以单项讲授为主,是代理式的学习方法,培养出的学生实践能力不强,不能满足当前社会对人才的需要。[2~4]教育的目标是培养、提高学生的科学素质,科学素质教育的核心是培养学生的实际动手能力与创新精神。[5]所以,我们提倡把程序设计课程的重点放在学生的能力培养上,即如何从计算机解决实际问题的角度,以解决实际问题的程序设计思想作为切入点进行教学,培养学生具有利用软件开发环境解决实际问题的能力。
  在上述教学理念的指导之下,为了使程序设计课程达到上述的目标,提出以下教学方案,包括课程设置、教学内容与教材建设、教学方法、教学手段等。
  一、课程设置
  在课程设置上,我们应采用《程序设计基础C++》+可视化开发环境介绍的方式,并配备集中课程实践的方式。通过《程序设计基础C++》的学习,学生可以掌握基本的编程技能,但不能具备利用软件开发工具进行高级编程的能力,不能满足社会对计算机专业学生的编程要求,甚至出现大四毕业生连一门开发工具都不掌握的情况。通过这两门课程的学习,学生能较深入全面地掌握程序设计的思想和技能,并可以使用软件开发工具进行高级编程。
  学习程序设计的目标是利用计算机这个智力工具来分析和解决问题,对现实问题进行建模并编程解决的能力的培养是程序设计类课程的首要任务。知识、能力和素养三者具有辩证关系,一个具有较强能力和良好素养的人,必须掌握丰富的知识。程序设计基础领域的知识是由程序设计的基本概念和程序设计艺术(技巧)组成的,要掌握这些基本概念和设计艺术,必须立足于理性化的学习和理性化的实践。能力是技能化的知识,是知识的综合体现,程序设计能力的培养必须通过动手实践来培养,同时程序设计需要以扎实的理论基础、学科方法以及思维方法来指导实践。为此,程序设计的课程应在加强课堂教学的同时,更注重上机实践环节,学生通过上课掌握了丰富的知识,通过实践锻炼了个人能力,与此同时个人素养也得到提高。[1] 程序设计基础C++的语法和语义介绍以及开发工具的介绍,可以帮助学生掌握基本的程序设计概念,只有通过两门课程大量的上機实践才能帮助学生把所学的理论知识用于解决实际问题,促进学生程序设计能力的提高。以我校为例,程序设计基础共96学时(60学时课堂教学+36学时上机实验),在大一开设,课程结束后紧接着是两周的程序设计课程设计。目前该课程实践教学环节由两部分组成:与课堂教学同步安排的实验上机和集中安排的课程设计。实验上机注重学生理解和消化课堂讲授的知识,偏重于如何编写功能单一的“小”算法,局限于一个或两个知识点,运用这些知识解决一些具体的算法设计问题,培养学生的动手能力,并培养良好的程序设计风格。课程设计是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养,对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的、必不可少的一个教学环节。但是,课程设计的效果不尽人意,绝大部分同学只是在DOS环境下实现了一个算法,演示效果缺乏美观,尽管我们一再要求学生自学可视化开发工具如Visual C++,但是只有极少数同学进行这项工作,很多同学反映,看不懂,太难了。所以,根据实际教学经验,应该开设可视化开发环境介绍这门课,帮助学生掌握一门实际的开发工具。学习完这门课以后,开设课程设计,这样,在课程设计阶段综合运用所学知识,提高学生用软件开发环境解决实际问题的能力。
  二、教学内容与教材建设
  教学内容的组织与实施是程序设计课程改革的重要内容。教学内容在组织上应该与时俱进,不与实际的程序设计发展脱节,比如,STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。应该作为程序设计课程的必不可少的组成部分,程序设计内容体系结构应分为三个部分:第一部分简述程序设计的基本概念和思想,以C++语言面向语法和语义为背景,讲述一般程序设计语言所具有的基本内容:数据(类型)、操作、程序控制结构、数据控制,这部分内容重点介绍如何进行结构化程序设计及计算机解题的思路和方法,使学生理解算法结构与解题过程,同时掌握程序调试与测试的初步技术。第二部分以C++面向对象机制为背景,介绍面向对象的基本概念:类、对象、消息、方法、封装、继承、多态,使学生初步掌握面向对象程序设计开发技术的基本方法,为后继课程打下基础。第二部分以标准模板库和Visual C++开发工具为背景,介绍容器、算法、迭代子、开发环境、MFC、视图等知识,使学生进一步掌握面向对象的程序设计方法,以及用高效的工具进行软件开发的能力。   教材的质量直接影响教学的质量,以注重学生的程序设计思想和能力的培养为指导,组织编写具有特色的、高水平的教材。此外,随着教育信息化进程的推进,仅提供一本平面纸质教材,已无法满足高校的教学需求。为了教学的需要,我们给学生提供了立体化的教材,主要包括:主教材、学习指导书(实验和课程设计指导书)、主要参考书目、电子教案、多媒体课件、习题库和试题库等。这些资料,学生都可以通过网站获得。
  三、教学方法
  教学方法是程序设计教学的核心,有了合理的课程设置和教学内容,把程序设计的知识传授给学生,这是决定教学成功与否的关键因素。
  在目前普遍采用的教育模式中,学生处于一种较单纯的接受式学习方式中,学生所学知识,基本上是由教师以定论的形式传授给学生的,学生不需要进行独立发现,而只需接受或理解。教师则更多注重知识的传授,重视教学内容的选择和讲授的技巧和方法的研究,而往往不重视对学生的自主学习能力和创新思维的培养。因此,在对传统教学方法分析的基础上,继续保持传教法研究的优势,改变以教师为中心的状况,注重学生多方面的能力和素质的培养,特别要重视学生思维能力、思维方法和创新能力的培养,应采用探究式教学方法。
  1.采用探究式教学培养学生的创新能力
  “探究式教学”,是指教学过程在教师的启发诱导下,以学生自主学习和合作讨论为基础,为学生提供充分自由表达、质疑、探究、讨论问题的机会,让学生通过个人、小组、集体等多种解难释疑尝试活动,将所学知识应用于解决实际问题的一种教学形式,[6]探究式教学方法通过“探究—创新”的过程,在培养创新型人才上起了明显的作用,强调通过在教师引导下的学生自主或合作进行探索而获得知识,特别适宜于思维能力的锻炼和自主学习能力和团队合作精神的培养,它在启发和培养学生创新能力方面呈现着明显的优点,受到教育学界的重视并得到了逐步推广。
  2.采用案例教学法提高学生的兴趣
  案例教学法(Case Method),在1870年由哈佛法学院院长蓝德尔(C.C.Langdell)首倡,案例教学法已被大学很多专业及中小学教学广泛应用。它是培养和提高学习者知识能力的一种教学方法,即将已经发生或将来可能发生的问题作为个案形式让学习者去分析和研究,并提出各种解决问题的方案,从而提高学习者解决实际问题能力的一种教学方法。案例教学法是一种启发学生研究实际问题,注重学生智力开发及能力培养的现代教学方法,它有着传统教学方法所不具备的特殊功能。和传统的“满堂灌”、“注入式”教学法相比,案例教学侧重实践和案例的讲解分析,启迪学生积极思维,强调在教学过程中学生主动参与,引导学生动用科学的理论知识,去分析、归纳、演绎、推理、总结,从而达到巩固知识的目的。案例教学的实施一般包括三个步骤,案例的选择,作为教师可以选择一些经典案例课题,如程序设计课程中的“学生管理系统”案例,接下来是案例教学的开展。案例教学的一般流程是教师介绍案例背景给出任务目标,学生开展现场讨论提出初步意见,之后就是在教师的指导下不断讨论与实践直至最终完成任务目标。案例教学的最后一步是评价,对学生提交的案例实施报告和案例解决方案根据案例任务目标进行评价,这里案例的评价通常由教师与学生共同完成,让学生介入评价更有利于加强学生对案例的认识提高案例教学效果。古语云:“授人以鱼,三餐之需;授人以渔,终生之用。”在案例选择及实施阶段强调学生的自学能力是非常有必要的。那么如何做到这点呢?首先逐步削弱学生对老师的依赖,即老师不再是学生学习知识的唯一途径,告知学生如何提高各种途径获得解决问题的方法是一种很有效的手段。在课堂中经常告知学生获取知识的三种途径:互联网、书籍或者编程软件的帮助文档、他人。其次是对学生独立解决的任何问题给予鼓励及肯定,这必将进一步促进其独立解决问题的兴趣。最后是在案例中刻意制造一些未学习过的问题,促使学生必须通过各种途径找到解决方法。[7~8]
  3.采用任务驱动式教学法增强学生的综合能力
  任务驱动教学法是一种建立在建构主义教学理论基础上的教学法。所谓任务驱动教学法,就是让学生在一个典型的信息处理“任务”的驱动下,展开教学活动,引导学生由简到繁、由易到难、循序渐进地完成一系列“任务”,从而得到清晰的思路、方法和知识的脉络,在完成“任务”的过程中,培养分析问题、解决问题以及用计算机处理信息的能力,为学生创造良好的学习环境,让学生通过努力,能顺利完成每个具体的任务,掌握学习内容,获得成功的体验。任务驱动式教学在形式上是:提出任务→师生共同分析完成任务的方法和步骤→适当讲解或自学或协作学习→完成任务实践→归纳和研討。比如我们在上运算符重载时,在没进入主题以前,先给学生布置一个任务,实现两个复数的运算,可能学生会用以前的知识完成任务,也有的学生可能会有比较超前的想法,然后通过研讨的方式对问题进行分析并提出解决方案,最终完成任务,学生在完成任务的同时既学会了运用以前的知识点分析解决问题,又学会了运算符重载这一知识点。采用任务驱动教学法进行教学,教师的教和学生的学都是围绕如何完成一个具体的任务进行。教师教学思路清晰,学生学习目的明确,学习变成了学生的主动行为,可以充分调动学生的主观能动性,在用的需求下学,学以致用,更容易掌握学习内容,增强学生的综合能力。[1、7]
  四、教学手段
  在教学手段上,采用多媒体(黑板辅助)+实验室环境+网络课堂的方式。多媒体教学已经是一种非常重要的教学手段,但单纯使用多媒体进行教学,老师的即兴发挥以及与学生的交互将受到限制,所以,我们采用黑板进行辅助的方式。对于识记性的内容可以通过多媒体展示,对于理解性的内容,为了理清学生的思路则通过黑板给学生讲解。此外,对于一些例题,我们采用在集成开发环境下进行现场调试和制作例题的多媒体动态演示课件等方法来加深学生的理解。当前,程序设计的课堂教学一般在教室里采用“计算机+大屏幕投影”的方式,实验课在实验室环境下人手一机练习。该模式缺点是理论与实践相脱节、以教师为中心、束缚学生的思维,最终直接影响到教学效果。[9]在实验室环境下,老师讲课时,锁住所有的机器,使学生机和教师机保持同步,在学生练习时,再给机器解锁,让学生自由练习,通过这种方式,边讲边练,可以通过实际动手编程加深对新知识的理解。为了使所有的教学资源能被有效地利用,要建立一个网络辅助教学环境,即建立程序设计网络课堂,将现实教学中的课堂教授、作业、答疑、测试、课程设计、讨论等全部在网络课堂中予以实现,提供课程的教学大纲、教学日历、参考资料等。这样,为学生提供了一个很好的学习氛围。学生可以进入程序设计网络课堂进行在线学习、在线讨论和答疑、在线测试等。
  五、结束语
  总之,程序设计是计算机专业的核心课程,合理的课程内容设置配以科学的教学方法,充分利用科技发展带来的教学方式的革新,定能促进学生能力的提高,但是,还有很多方面有待进一步摸索。
  参考文献
  1 杨静、王浩、胡学钢、方宝富、张晶.程序设计课程教学改革探讨[J].吉林大学学报(信息科学版),2005(S2)
  2詹自胜.案例教学法在计算机程序设计教学中探索与实践. http://www.govyi.com/lunwen/2008/200811/270935.shtml
  3 方宝富、王浩、胡学钢.机器人足球赛程序设计教学研究——大学生创新能力培养实践第七届全国计算机系主任论坛论文集[C].北京:清华大学出版社,2004
  4 何炎祥、伍春香.现代教学理论指导下的“编译原理”教学综合改革[J].计算机教育,2005(3)
  5 刘传平.《C++语言程序设计》课程教学改革的探讨[J].中国科技信息,2005(11)
  6 戴挺、童蔚苹.探究式教学法在计算机程序设计教学中的应用[J].电气电子教学学报,2005(4)
  7 崔艳莉、张敏、王重英.浅谈“案例+任务”驱动教学法在VB程序设计语言教学中的应用[J].中国农业银行武汉培训学院学报,2009(1)
  8 吴昌雨.案例教学方法在程序设计类课程中的应用[J].安徽科技学院学报,2006(3):49~51
  9 梁建坤、于净、毕占举、郑小松.“实验室环境+ 案例教学法”和传统教学模式的对比研究[J].计算机教育,2006(1)
其他文献
【摘要】加强学生“免疫工程”建设,既是一项长期的战略任务,又是当前预防未成年人违法犯罪的迫切需要。实施过程重在“三同步”:伦理、法理、情理同时灌输;家庭、社会、学校同步跟进;组织、制度、基地同步建设。  【关键词】“免疫工程”建设途径  【中图分类号】G631【文献标识码】A【文章编号】1006-9682(2012)05-0142-01     加强对青少年学生的思想道德教育,是建设和谐社会的重点
期刊
众所周知,党中央在提出要把教育放到优先发展的战略地位的同时又提出:“中小学要从‘应试教育’转向全面提高国民素质的轨道,面向全体学生,全面提高学生的思想道德、文化科学、劳动技能和身体心理素质,促进学生生动活泼的发展,办出各自的特色。”然而,至今为止,为什么“应试教育”的阴影始终不散呢?那是因为我们对教育功能的认识不全面。教育被教书代替,育人被简化为知识的传递。因此,“考、考、考,教师的法宝,分、分、
期刊
【摘要】随着信息技术的飞速发展,现代信息技术对中学教学的影响也是多方面的,涉及到教师的教与学生的学习与生活的各个层面,包括教育规律、教学方法、教学手段、课程开发、教学设计、教学管理、教学评价、学习方式等等。本文在介绍了现代信息技术的特征、在教学中的应用特点及存在的问题后,对存在的不足进行了分析并提出了一些建议。  【关键词】现代信息技术学科教学思考  【中图分类号】G632【文献标识码】A【文章编
期刊
教师职业道德是教师在其职业工作和生活中所应遵循的基本行为规范和准则,以及在此基础上所表现出来的观念意识和行为品质。它是在人类教育发展长河中不断丰富完善而构建出来的,代表了社会对教师职业的理想要求,既体现了国家和阶级的意志,又是教育的本质、功能、规律、原则等对教师职业要求的最高体现形式,具有极为重要的功能。  一、师德建设是提高教师队伍整体素质的重要途径  教师和教师劳动的特殊性,决定了对一个合格教
期刊
青春期是人生中一个最特殊的阶段,是身体和心理都急速发育的一个阶段,做好学生的青春期教育,尤其是做好初中女学生的青春期教育,是初中教育工作的一个重心。这次青春期教育的主题为正在成长发育中的7年级女生提前做好思想准备,使她们以积极乐观的心态迎接青春期的到来。本次主题班会的内容分五部分:  一、正确面对自己的身体变化  青春期的生理特征:性别的差异、青春期的变化、女性生殖系统、月经是如何形成的、月经期卫
期刊
【摘要】语音是语言最基本的要素,是所有语言学习的基础;而英语语音对英语这一重要交际工具而言,至关重要,否则使用时“音不达意”。但目前我国学生的英语语音现状并不理想,特别是中职学生的英语语音相对薄弱,错误较多,导致部分学生听不懂英语,不敢说英语。本文分析了中职英语语音教学的现状、产生原因和应对策略,并结合教学实际提出一些改善对策。  【关键词】英语语音现状成因应对策略  【中图分类号】G632【文献
期刊
〖6月12日讯〗6月12日,中国共产党北京大学第十二次代表大会开幕。中共中央政治局委员、北京市委书记刘淇出席大会并发表重要讲话。中共中央政治局委员、国务委员刘延东致电祝贺。教育部党组书记、部长袁贵仁出席并讲话。  刘淇代表中共北京市委对大会召开表示祝贺。他说,北京大学党委深入贯彻落实科学发展观,坚持党的教育方针和社会主义办学方向,在人才培养、科学研究、社会服务和文化传承创新等方面都取得了显著成绩;
期刊
一、问题的提出  目前的高中数学教学有一个非常突出的问题,那就是:教师教的很辛苦,学生学的很痛苦,然而学生却没有得到预期的发展,而且现在的社会又是一个知识爆炸的时代,社会对人的素质的要求也越来越高,取而代之的是学生要学习的东西也会愈来愈多.所以如何提高学生数学学习的效度就变成了当今数学老师急切需要解决的问题,而且新课程的实施很大程度上也力求通过教学改革来变革教师的教学理念和改进现有的教学方法和学生
期刊
【摘 要】工程实践经验是土木工程专业非常重要的一个分支,受成人教育的学生具有丰富的工程经验,基于此,针对我国成人高等教育存在的不足,在土木工程教学中,提出从培养目标、培养制度、教学考核方式等方面进行改革,提升成人高等教育学生的创新能力,积极促使我国高等成人教育的健康发展。  【关键词】成人高等教育 創新能力 教学改革 土木工程  【中图分类号】G642 【文献标识码】
期刊
【摘 要】运用问卷调查法、文献资料法、数理统计法、逻辑分析法、专家访谈法等科研方法,对湖北省7所省属高校开展的“阳光体育运动”的现状进行调查分析,旨在为湖北省相关政府部门制定相关阳光体育运动的政策措施提供帮助,为其他学校开展阳光体育运动工作提供借鉴。  【关键词】阳光体育运动 现状 对策 研究  【中图分类号】G807.4 【文献标识码】A 【文
期刊