软件设计课程改革探索与实践

来源 :教师教育科研 | 被引量 : 0次 | 上传用户:ruhua529
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要] 如何在有限的学时内,将面向对象程序设计和数据结构有机结合,让学生既能掌握面向对象程序设计和数据结构的核心知识,又能较快地提高软件编程实践水平,是摆在非计算机信息类专业教学面前的一个重要课题,本文进行了一些有益的尝试。
  [关键词] 面向对象;数据结构;程序设计
  
  1 引言
  
  面向对象程序设计和数据结构是学习软件设计的两门基础课程。面向对象程序设计解决了编程方法和编程思想问题;数据结构解决了数据的组织和处理方法,直接影响着软件的效率。
  “数据结构”中抽象数据类型(ADT)的概念与面向对象中类(class)的概念十分接近,在“数据结构”中使用c++比使用c更贴切,使用c++语言实现数据结构是一种发展趋势,在美国等发达国家高校和国内重点大学已经成为主流。
  在计算机专业教学中,面向对象程序设计和数据结构通常各需要60学时。对于非计算机信息类专业来说,通常没有足够的学时数来全面系统地学习这两门课程,如何在有限的时间内,将面向对象程序设计和数据结构有机结合,既掌握面向对象程序设计和数据结构的核心知识,又能较快地提高编程实践水平,是摆在非计算机信息类专业教学面前的一个重要课题。针对这个问题,我们在网络工程专业的实践教学中,经过不断探索,积累了一定的经验,希望能与同行切磋商讨。
  
  2 抓好教学第一关——教材建设
  
  面向对象程序设计与数据结构本身存在着密切的联系,其目的都是为了更好地进行程序设计。针对这种情况,我们首先从教材建设入手,通过新教材体现我们的教学指导思想。
  本课程的教学目标不是教会学生一些关于程序设计语言的语法规范,而是以这些语法知识为载体,培养学生学会用计算机分析问题解决问题的能力。为此,新教材主要体现了如下一些特点:
  ①适当淡化语法,加强基本理论和技能的分析训练,这有利于在学时紧张的情况下学生通过自学提高分析问题的能力。
  ②通过实例具体而分散地介绍语法难点,将复杂枯燥的语法知识分解到每个生动、有趣、实用的程序实例中,以这些语法知识为载体,培养学生学会用计算机分析问题解决问题的能力。
  ③在教学内容安排上,以介绍面向对象程序设计为主线,以面向对象程序设计与数据结构的有机结合为突破口,以面向对象的观点来讨论数据结构,以解决数据结构实际问题为途径,使学生在解决数据结构实际问题的过程中融会贯通面向对象的程序设计思想。
  
  3 灵活运用多种教学方法和教学手段,优化课堂教学质量
  
  面向对象程序设计与数据结构是一门既有难度又有深度的课程,教师好的教学方法和教学手段就显得尤为重要。
  3.1 以生动形象的比喻阐释抽象的概念。C++语言中的许多概念对于初学者而言,显得抽象而深奥。作为任课教师如果能在讲课中适当地运用形象、生动的比喻,常常会使许多看似深奥的概念变得浅显而易于理解。比如我们可以将拷贝构造函数的作用与生活中的“复印机”作类比,将队列的插入和删除操作与“排队买票”作类比,将栈的插入和删除操作与“子弹出入子弹夹”作类比等。通过与日常生活中的例子进行类比,在课堂上采用“大白话”的讲授方式,可以促进学生对抽象概念的理解,大大提高学生的学习兴趣与学习动力。
  3.2采用“问题启发”式教学。
  3.2.1 问题的驱动。问题驱动是指学生在教师设计的情境下发现问题、思考问题、解决问题的过程。在讲课过程中引入“What+How+why”的教学理念,采用发现学习模式,应用启发式教学。What是让学生明确学什么,拓宽学生的视野掌握更多的知识。How就是怎样做的意思。这是思考问题的过程。教师在对问题进行分析时要做到简洁、透彻。解决问题要切实准确,引导学生积极思考。Why就是为什么要这样做。注意教给学生提出问题、分析问题和解决问题的方法,最终达到学生自行探究问题的目的。
  3.2.2 问题的多解性。算法设计过程本身是一种创造性的思维过程,通过算法设计可以有效提高学生的创新能力,对于同一个问题要求学生尽量从不同角度去思考,找出不同的解决方法而不是满足于一种方法,通过对同一问题寻找不同的方案来实现可以有效发散学生思维、拓展学生的思维。比如在讲解“顺序队列”的“假溢出”问题时,通过提问进行启发,层层深入,最终给出三种不同的解决方案,培养学生的发散思维能力,让学生带着疑问去学习。
  3.2.3问题的特殊性。一般的方法适合于解决普通的问题,但往往不适合一些特殊的问题。为了更有效地解决问题,对于特殊的问题往往需要寻找特殊的方法。例如:有一数组中保存了个人信息的数据,其中含有性别,设计一个排序算法使记录按女在前男在后的顺序排列。解决这个问题可以选择多种排序算法,常用的排序算法都能实现,但是效率不高。而采用快速排序可使排序时间效率为O(n)而不是O(n2),这比其它的排序算法都要好。通过该问题的启发可以使学生更好地理解快速排序算法的思想。
  3.3 采用多样化教学手段,强化教学效果。为了让学生在有限的时间内更好地学习知识,课堂教学安排了部分内容采用CAI课件,制作了动态演示过程,如出入栈、出入队列、二叉树遍历、图遍历、各种排序和查找等等。通过动态演示,学生对各种操作过程很容易理解,达到了事半功倍的教学效果。另外,课后通过网络平台加强教学的互动性。由于“数据结构”课程的教学内容具有较强的抽象性和技术性,教学内容难以通过课堂讲授完全被学生理解和掌握,为此,我们开发了“面向对象程序设计与数据结构”多媒体网络化教学系统,该系统提供了五个板块:多媒体课件、知识讨论、教师答疑、习题与在线测试、视频在线教学。课外学生可以随时上网浏览、学习、下载、讨论、习题自测、与教师联系,实现互动式教学。
  
  4 强化实践技术技能的训练,提高实际编程能力
  
  4.1 重视面向对象思想的熏陶,培养分析和解决问题能力。面向对象程序设计的教学,关键是对学生进行面向对象思想的培养。教学过程中结合具体的实例引导学生采用面向对象的思想进行分析、设计,最后编程解决问题。通常采用“小题目大任务”的方法,即每个实验学生编写的“小题目”并不是孤立的,而是相互联系的,实际上它们都是一个较大型较复杂程序的各个有效的组成部分。最后当进行课程设计时,要求学生把平时完成的程序段编写成独立的成员函数,并把这些成员函数进行封装,构成一个比较完整复杂的程序。这样学生自然而然地就理解、吸收了面向对象的程序设计思想。
  
  4.2 加强理论联系实际,提高实际编程能力和创新能力。
  对于培养学生的动手能力,教师可从以下几个方面进行考虑:
  ①精心准备上机操作的内容。上机内容要有针对性。题目新颖并具有趣味性,另外,要能满足不同层次学生的需求。尽量选择与实际结合紧密的例子,让学生体会到学有所用,才能激发其学习兴趣和动力。提高学生解决实际问题的能力。
  ②对于一些和算法相关的实验题目,可要求学生在上机之前画出程序的流程图或者写出伪代码,这种方法可帮助学生了解程序设计的思路和方法,既能把握问题的全局。也使每个阶段的问题更加明确和容易处理,从而避免了很多学生编程时一筹莫展的局面。
  ③强调程序调试能力的培养。重视提高学生调试程序、检查排错的能力。可通过现场演示等手段,向学生介绍注释法、中间结果分析法等多种调试程序的方法。尤其要使其掌握最重要的单步跟踪调试法。
  
  5 总结
  
  在面向对象程序设计与数据结构的教学过程中,我们以面向对象程序设计为主线,以c++语言语法规则、数据结构知识和面向对象思想为基础,以面向对象程序设计与数据结构的有机结合为突破口,以面向对象的观点来讨论数据结构,以解决数据结构实际问题为途径,将数据结构的知识融合到面向对象的程序设计中,使学生在解决数据结构实际问题的过程中融会贯通面向对象的程序设计思想。教学过程中我们灵活地运用多种教学方法和教学手段,重视实践环节,注重学生能力和素质的培养。解决了以往学生单独学习面向对象程序设计和数据结构时所遇到的抽象、枯燥等问题,学生学习兴趣浓厚,软件编程能力有了明显的提高。
  
  参考文献
  [1] (美)Michael Main,Walter Savitch著,刘东、张丽译
  [2] (美)Robert L.Kruse,Alexander J.Ryba著,钱丽萍译
  [3] 刘萍等,面向对象程序设计与数据结构
  [4] 马长英,教学方法改革的制约因素及基本立足点
  [5]高飞等,c++与数据结构
其他文献
在新的时代,学生学习需要创新,教师教学更需要创新。在现行新教材的教与学的过程中,无论教师还是学生,了解教材特点,掌握教材内容,是学习英语的关键。  新教材从内容安排到结构编排以及采用的教学方法等方面都着眼于努力实现新大纲规定的教学目的:激发和培养学生的学习兴趣,使学生掌握一定的语言基本知识和基本技能,建立初步的语感,获得初步运用英语的能力,为真实交际打下基础;开发智力,培养观察、记忆、思维、想象和
期刊
2020年注定是不平凡的一年。一场突如其来的新冠肺炎疫情在全球蔓延,全民动员,全民抗疫!当延期开学、停课不停学、线上教学等关键词集中于教育时,也注定2020年的教育将载入史冊。  随着新冠肺炎疫情在我国得到遏制,人们复学复工复产,恢复了以往的生活。只是扫健康码、量体温、戴口罩似乎成了每个人生活的新的一部分。  对疫情可控的时期我们称之为后疫情时期。那么后疫情时期,教育有何新的变化?我们又该如何应对
期刊
企业是社会的组成部分,是社会的重要“细胞”,企业特别是国有大型企业,不仅是物质财富的创造者,也是构建和谐社会的重要力量。企业经营发展需要和谐社会所创造的良好环境,构建和谐社会需要每个和谐发展的企业提供强有力的支撑,二者相辅相成。因此,思想政治工作要坚持把“以人为本,科学发展”,构建“和谐企业”作为落脚点。    1 坚持科学发展。以发展促进和谐    从本质上讲,和谐社会是不断发展和全面进步的社
期刊
躬耕教学园地已八载,蕴育莘莘学子千余人,深感责任在肩。陶行知有语云;捧出一颗心来,不带半根草去。可谓道破教师师德真谛。拥有爱心,是人民教师的基本素质;拥有爱心,是教师道德的核心。何为爱心,个人认为,即拥有关切之心,真诚之心,严父之心,宽容之心。关心与真诚是师生沟通的桥梁,严父与宽容相辅相成。互不矛盾。这些尤其适合于那些被遗忘在角落的人一一后进生。因为他们是一个特殊的群体。转化的好,将会锦上添花;转
期刊
[摘要]本文从和谐教育的基本理念与实践意义出发,针对体操教学中的教材、教法、教师、学生等几个主要教学因素,按照和谐教育的理念提出了在体操教学过程中应注意的一些方法与要求。  [关键词]和谐教育;体操教学    当前,体育师范院校的体操教学是以传授知识为主的注入式教学占统治地位,使体操教学失去了应有的宽松、和谐、愉快的本体色彩,导致部分学生“害怕体操”而厌学体操。要改变这种状况,必须在体操教学中运用
期刊
“爱学生”是教师人格的灵魂。那么,作为一名教师,尤其是一名幼儿园的教师,如何以“爱满天下”的精神,去爱每一位孩子呢?  从教育实践中,我归纳总结认为,一是以平等的爱,才能“打到心灵深处”;二是以真挚的爱,才能化解顽童之愚顽;三是以真情的爱,才能抚平受伤的心灵;四是以崇高而无价的奉献精神,才能真正的爱每一个幼儿。    1 爱是平等、接受、认可    什么是爱的平等?就是用幼儿的眼光来看问题。记得美
期刊
[摘要]“不管黑猫、白猫,抓住老鼠就是好猫”的“猫论”,是邓小平理论体系的一个重要内容。中国改革开放的成功与“猫论”有着内在的联系。“猫论”的哲学基础是实事求是的实践唯物主义。而不是“实用主义”。对待“实用主义”应该采用分析的态度。而不应采用一概否定的态度。  [关键词]“猫论”;实用主义;实践唯物主义    1 一种悖论性现象    不管“黑猫、白猫,抓住老鼠就是好猫”是我国改革开放的总设计师邓
期刊
[摘要] 多媒体技术能为学生提供生动逼真的教学情境,丰富多彩的教学资源,让学生在学习中始终保持兴奋、愉悦、渴求上进的心理状态。为学生营造一个色彩缤纷、声像同步、能动能静的教学情景,使学生眼、耳、口、手、脑等多种感官同时接受刺激,促进学生听、说、读、写等综合能力的运用和提高。从而全面提高学生各方面的素质。  [关键词] 多媒体;阅读教学;运用    人类社会已经进入信息化时代,现代教育技术给教学
期刊
教育的宗旨是为了促进每一位学生的发展。学生既是课堂学习活动的主体,更是备课环节的出发点和归属点。本文试图探索在信息科技学科的备课环节中,如何在“备教材”、“备教法”的基础上,“以学生为本”,通过“备学生”、“备学法”,依循学生兴趣、已有基础和能力所及,切实提高备课针对性和课堂教学效果。促进学生综合信息素养的形成和提高。    1 依据学科特点,了解学生信息技术水平差异    信息科技学科非中考、高
期刊
[摘要] 当前全国上下正在深入学习实践科学发展观。笔者结合自己的实际思考了如何用科学发展观指导《士兵心理教育与疏导)课教学,以充分发挥本课程在学员实践科学发展观活动中的主渠道作用。  [关键词] 科学发展观;心理;教学    “加强和改进思想政治工作,注重人文关怀和心理疏导,用正确方式处理人际关系……”党的十七大报告中首次出现了“人文关怀”和“心理疏导”这两个新名词,昭示着思想政治工作已开始关
期刊