案例-任务驱动模式在程序设计课程教学中的实践应用(最终版)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

案例-任务驱动模式在程序设计课程教学中的实践应用赵霞(甘肃农业大学信息与科学技术学院,甘肃兰州730000)摘要:程序设计课程是计算机科学及相关专业的重要基础课程,因为课程基本概念和基本原理非常抽象,所以教学方法的选择非常重要。本文通过比较传统的课堂讲授方式和案例-驱动模式的教学方法和教学特点,详细阐述了传统课堂讲授方式的不适用性和案例-驱动教学模式在程序设计课程中的应用优势及方法,实现由教师为主体向以学生为主体的教学模式的改革。关键词:程序设计;案例;任务驱动;教学方法Case-taskdrivingmodeapplicationinprogramdesigncourseteachingandpracticeZHAOXia(CollegeofInformationScienceandTechnology,GansuAgriculturalUniversity,Lanzhou730070,China)Abstract:Program-designcoursesisanimportantbasiccourseincomputerscienceorrelatedmajors.Duetothebasicconceptsandbasicprinciplesareveryabstractwhichthecoursebasedon,thechoiceofteachingmethodsofthiscourseisveryimportant.Bycomparingteachingmethodsandteachingcharacteristicsofthetraditionalteachingmodeandcase-taskdrivingmode,itelaboratedinapplicabilityofthetraditionalteachingmodeandadvantagesofcase-taskdrivingmode’sapplicationinprogramdesigncourse.Itwillrealizethereformoftheteachingmethodsfromtheteachersasthemainbodytotakethestudentsasthemainbodybytheapplicationofcase-taskdrivingmodeintheclass.Keyword:program-design;case;taskdriving;teachingmode1社会对软件人才的需求中国信息产业发展迅猛,教育部等有关部委报告显示:计算机专业人才的需求每年将增加百万人。在日本,软件行业所需从业人员是180万人,日本目前只有20万人从事软件业,存在百万人才缺口;在美国,新型IT人才的需求量为160万人,其中84万个岗位无法找到合适的人选。未来5年内,合格软件人才的需求将远大于供给。2高等学校对计算机程序设计课程的教学定位计算机科学的研究分为两个层次:较高层次的研究着重于对计算机科学本身的研究和探索;较低层次的研究则侧重于计算机应用,包括在社会发展、生产生活以及其他专业领域辅助性的应用研究。本科院校的计算机程序设计课程目标是计算机应用,在计算机专业的课程体系里占有非常重要的地位[1]。《中国高等院校计算机基础教育课程体系2008》对计算机程序设计课程的学习目标定位是:(1)学习问题求解的思路和方法,即算法。(2)理解计算机是如何具体实现算法的,即如何才能有效地利用计算机编程。因此,教学研究的重点应放在对程序设计方法的研究和编程实现方面。3传统课堂讲授教学模式目前高校计算机程序设计课程的教学依然遵循着以课堂讲授为主,实验为辅的教学模式。主要表现为以下特点:(1)教师课堂讲授内容一般为基础知识,有基本类型、基本语句和基本结构等;(2)安排部分的实验课程作为学生实践训练。由教师先示范,学生再完成一定数量的实验项目。实验项目通常为课本教材或实验教材的例题或习题;(3)某些程序设计课程会安排若干课时的课程设计,让学生进行一些小的程序设计项目开发;(4)课程的考核方式通常为传统笔试答卷方式,考试内容大部分是对于程序语言的基本语句和语法知识点的记忆性考核。传统的教学模式有其自身优势:如课堂教学的过程比较符合我国学生由小学到中学学习知识的方式,学生易接受,概念容易记忆;理论课程与实验课程的教学相辅相成、互为依托,学生在理论教学中对基本概念、语法、规则的掌握程度直接影响实验课堂中的实验效果;并且,闭卷笔试考试方式是我国学校教育的传统模式,学生们已经非常适应这种考核方式。但是,高校教育的根本目的不只是为了考试合格,学生学习的根本目的也并不是只为获得一张毕业证。所有的教与学,都是为了使学生真正的获得知识,并更好的服务于社会,获得自身价值和社会价值的体现。传统教学模式的缺陷显而易见:(1)传统模式下,理论课程所讲述的基础知识,实际上大部分都是一些抽象概念和程序语句结构,容易拘泥于语法细节而忽略程序设计算法;大部分高级程序语言的语法结构与人类自然语言非常相似,接受起来并不困难,真正难以理解的其实是软件设计的方法和思想,仅仅靠学习基本概念和语法结构是很难掌握的。结果是,学生课堂上听懂了,自己一编程就无从下手,实际编写程序的能力非常弱;(2)实验课的安排也有很多缺陷,一是实验课时太少且与理论课分离,理论课获得的知识没有及时通过实验验证;二是实验内容与真实的项目开发及维护完全脱节,通常为课本教材或实验教材的例题或习题,三是实验过程与相关的其他课程内容没有知识衔接,(程序项目开发不仅需要具备至少一门程序设计语言编程的能力,还包括数据库,软件工程,Web设计,需求沟通等等方面的综合知识运用),不能够使学生充分的体验一个完整的软件项目开发过程。(3)传统的笔试答卷考试时,考试内容局限于对基本语句语法的记忆性考核,善于记忆的学生自然能考到好的成绩,可惜并不能检验出是否已经具备足够的软件设计能力。本科教育虽然不是单纯的技能教育,但只有在技能教育的基础上才能更好的验证理论,才能为将来可能的更深层次软件研究打好坚实的基础。最终的结果是,教师教学费时费力,收效甚微,学生抱怨程序设计课程太过枯燥,难以理解。因此,传统的教学方式不可能达到预期的目标和要求。4改革目标“实践是检验真理的唯一标准”,“纸上得来终觉浅,绝知此事要躬行”,对于面向应用的知识,最好的学习方式就是在实践中获得。将学习的重点过多的放在抽象理论和概念的理解,是计算机程序课程学习方向的错误。既然课程的目标是写出有实际意义的程序,是获得一种广义的解决问题的技能,那么在课堂上就应该使用与现实生活相关的,学生有所了解并很可能因此感兴趣的专业案例,通过案例的开发设计过程,一方面可以使难以理解的抽象概念通过编程具体化,另一方面通过程序代码的运行、调试和测试,展现给学生一个完整的软件开发过程,真正与社会生产联系在一起,学生在学习的过程中“有的放矢”,随着整个软件开发过程各个阶段的逐步完成,不仅带给学生成就感,而且更好地激发了学生学习程序设计课程的兴趣,最终彻底掌握这门知识,使学生感到所学课程的内容,是他们将来可能从事并将为之奋斗的事业的重要基础。5案例-任务驱动教学模式的应用案例教学模式源自哈佛商学院的“案例式教学”。案例是由一个或几个问题组成的,内容完整、情节具体详细、具有一定代表性的典型事例,代表着某一类事物或现象的本质属性[2]。所谓案例教学,就是在教师的指导下,根据教学目的和要求,组织学生通过对案例的调查、阅读、思考、分析、讨论和交流等活动,教给他们分析问题和解决问题的方式或方法,进而提高他们分析问题和解决问题的能力,加深他们对基本概念和基本原理的理解[3]。任务驱动是指教师根据教学内容和教学目标,结合教学环境和学生的基础与特点设计任务,在教学中引入、分析任务,组织学生讨论、解决任务,培养学生思维能力、创新能力和解决问题能力。[4]1.案例在课程中的应用在程序设计课程中应用案例-任务驱动教学模式。教师和学生在教与学的互动过程中,共同完成一个案例的算法思路的构建,编制和完善项目程序,通过案例的实现过程,引领学生了解什么是算法思想,什么是数据结构,什么是编程。案例的选择非常重要,并非越多越好。案例应代表一类典型问题,使学生能够触类旁通,通过学习对一个问题的处理,进而能够解决这一类问题的案例才是好案例。精选案例是使学生对案例开发保持兴趣,并坚持后续开发过程的一个很重要的环节。(1)知识的学习和接收是一个动态连续的过程,案例的选择要建立在学生已有知识的基础上。(2)案例的选择要结合生产生活的实际,最好是学生感兴趣的内容。比如:在JAVA语言程序设计课程的案例中,设计了个实体类“ROLE”(角色),在实例化对象时,可以创建具体的角色,比如:“周瑜”、“黄盖”等“三国游戏”中可能出现的角色,角色可以执行的方法(即行为)也仿照真实游戏设计,比如角色可以完成“进攻”,“失血”,“恢复体力”,“应用技能”等等功能,通过方法设计来实现这些功能,随着学习的深入逐步完善这些功能实现的程度。一定要以学生的原有知识为基础,结合学生心理特点来选择和设计,突出应用性,兼顾趣味性。案例的来源包括学生已经具备的学科知识、日常生活常识和社会知识。又如,在理解面向对象程序设计的继承时,设计父类animal(动物),再设计若干子类如dog(狗),cat(猫),fish(鱼),子类继承了父类“动物”的属性和方法,又实现了各自的方法,如:所有的“动物”都具备吃饭、睡觉的功能,但是“猫”会抓老鼠,“狗”爱啃骨头,而“鱼”会在水中吐泡泡,每个子类同时也具备自己特有的功能(方法)。从这些熟悉的知识中提取案例,学生更容易理解和接受,容易产生认同感。(3)案例的选择要涵盖所有的知识点。通过案例的学习,慢慢总结出所有的知识点,学生通过实际应用进而理解抽象概念。(4)选择案例的规模不宜太大,要简洁明了。过于庞大的案例结构容易给学生的学习过程带来疲劳感和畏难情绪,对后续的学习带来不利影响。教学案例的内容应结构简单、清晰,容易理解和掌握。当然,这也需要教师根据知识点将综合案例清晰的分解。师生互动非常重要。授课时,教师要把握课堂节奏,并在讲解案例的过程中适时暂停,让学生运用所学知识自己动手实现一些简单设计,师生共同完成案例实现。2.任务驱动在课程中的应用程序设计课程的首要目的是让学生学会编写算法和程序。所以,激发学生主动学习的热情是非常重要的。教师可以通过任务驱动的方式,讲解案例的同时,同步安排相应的任务,由学生自己完成。选择的任务难度标准不应过低,否则起不到激发学生主动学习的目的;但也不能过难,使学生对完成任务失去信心。可模仿现实中一些简单软件开发项目的过程,选择具有一定挑战性但可以解决的任务,同时内容能够激发学生的兴趣。任务的功能可以扩充,每个学生对知识的理解及掌握的程度不同,对任务的开发程度也不同。这样做的好处是:一方面,保证每个学生都能够完成任务的一部分简单功能,容易获得成就感,从而激发其继续钻研的兴趣;同时,学习优秀的同学可以对任务进行更深程度的开发;另一方面,教师可对任务完成情况进行阶段性检查,及时把握学生对知识的掌握及运用程度,哪些知识点学生掌握的不太好,哪些部分学生理解的有偏差,定期组织讨论,对于学生普遍难理解的部分重点分析讲解;同时,任务的开发过程,不仅需要运用到程序设计的知识,还包括数据库、软件工程、Web设计、需求沟通等多种知识的综合运用,这有利于学生将所学知识融会贯通,逐渐完善自己的软件知识体系;最后,完成任务的过程也是学生由理论向实践转换的过程。任何事物的发展都有其内在的逻辑规律,任务实施的过程也是一样。学生通过亲自体验实际项目的开发,总结出一些软件开发的规律,从而上升到对一般事物发展规律的认识和把握,这将是他人生中的一大宝贵财富。6总结教学相长,教与学是一个互相促进,互为依托的动态过程。过多的抽象概念和理论只会使学生觉得晦涩和难以理解,使学习过程变得更加艰难、枯燥。案例-任务驱动模式从实际应用出发,以直观的方式帮助学生理解抽象的概念,

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功