资源描述
“计算机程序设计语言”教学刍议
摘要:“计算机程序设计语言”课程是计算机科学与技术学科核心的课程之一,极大地影响着学生对计算机领域的理解和兴趣。本文针对教学过程中存在的问题,提出了层次化教学目标思想。以面向对象语言C++为例,介绍基于层次化教学目标体系的具体思想和内容,并提出与之相适用的课程及实验设计,达到优化教学方法,提高教学质量的目的。<br> 关键词:计算机程序设计语言;层次化教学;C++<br> <br> 1“计算机程序设计语言”教学现状<br> <br> “计算机程序设计语言”是普通高校计算机教育的基本专业课程,在计算机领域的各个专业的课程体系中都处于核心的地位。这门课程不仅可使学生获得基本的程序设计能力及锻炼学生的逻辑思维能力,它还极大地影响着学生对计算机领域的兴趣和理解,对引导和培养学生在计算机工程及理论方面的研究兴趣起着先导性和基础性的作用。因此,“计算机程序设计语言”的教学质量成为影响大学本科计算机教学质量和效果的一个关键的因素。<br> 影响课程教学质量的主要三个因素为教学内容、教学方法和实验设计。当前,大部分教师受传统教学模式的影响,教学的重点都放在程序语言的基本语法的讲授,课堂所设计的程序实例大部分围绕语法规则的演示和说明,这种模式同样也影响到实验环节的设计。这种就事论事,形而上学的教学模式具有许多明显的弊端,主要体现在以下几方面:<br> (1) 不利于培养学生的学习兴趣<br> 许多从事程序设计语言教学的教师(包括笔者)都有这样的感受:每讲授一门新的程序设计语言课,初期学生都抱着积极,对获取知识的极大热情投入课程的学习,但随着教学过程的深入,这种热情往往不能持久。导致这种局面的原因固然有教师本身的教学方法和教学手段的缺陷,但根本原因还是教学内容的设置不科学。在单纯以讲授语法规则这种教学模式下,学生难以保持长久的学习兴趣和动力。<br> (2) 不利于学生建立综合化,系统化的知识体系<br> 程序设计语言是表达设计者思想和计算机计算逻辑的符号系统,具有多层面、多视角的内涵。要把学生培养为具有高素质的程序设计人员,仅仅熟悉没有精神的符号及符号规则远远不够,这需要学生具备设计高质量程序的综合化的知识体系,而当前的程序设计语言的教学现状并不能满足这种需求。<br> (3) 不利于培养学生解决实际问题的综合能力及创新意识和思想<br> 当前,素质教育成为各级教育系统,包括高等院校所关注的热点,知识高等院校所关注的“素质”内涵不同。笔者认为高校大学毕业生应具备的素质包括:综合化、系统化的专业知识体系;应有已有的知识体系解决实际问题的能力;具有创新的意识和思想。总体而言,大部分教师对程序设计语言课程所采取的教学不利于这种素质的培养。<br> 针对这种现状,结合我国高等教育发展的现状,本文提出程序设计语言的层次化教学目标的思想,并以面向对象程序语言为例,论述在层次化教学目标驱动下的课程设计。<br> <br> 2层次化的教学目标<br> <br> 各项教学活动有效展开的基本条件是合理的教学目标的确定,但单一的教学目标并不能适用当前中国复杂的高等教育现状。社会经济的快速发展产生了明显的多类型、层次化的人才需求,这种趋势在各类软件公司里表现得尤其明显。为了适用这种人才需求的转变,高等教育领域在这些年相应地发生了巨大的变化,各种类型、各种不同层次的教育机构大量出现,改变了过去高等教育机构单纯负责培养具有从事复杂脑力劳动的高级专业人才的状况。这些变化最终体现为教师的工作,体现为教师针对不同的教学对象所制定的教学目标体系。<br> 当前,由于社会信息化的发展,各类计算机类课程已经渗透到各个学科,例如笔者所在的苏州大学,几乎所有的院系都设置了信息技术类的有关课程,大约超过一半的院系设置了“计算机程序设计语言”的课程,因此“计算机语言设计课程”的教学质量是总体教学质量评估的重要组成部分。笔者多年来一直在苏州大学承担程序设计语言的课程,包括一类本科计算机专业基础课程、二类本科专业基础课和公共基础课程。大量的教学实践表明单一的教学目标不能适用多样化的教学对象、多样化的人才需求和程序设计语言知识逻辑在广度和深度方面所具有的层次化的特点。下面将论述程序设计语言课程的层次化的教学目标体系及各层的具体内涵。<br> 2.1低级目标<br> 该目标要求掌握标准化的程序语言语法体系,以学生掌握基本的标准语法体系为基本要求,并能初步应用语言开发较小型的简单应用程序,具备初步的程序设计能力。低级目标要使得学生对所学知识“知其然”,课程教学内容主要围绕标准的语法规则,课堂和实验环节所选定的程序实例大多围绕着验证和演示语法规则及语法规则之间的联系进行设计。在以低级目标驱动的教学中,因为重在基本知识的传授,因此核心教学内容的选择是第一位的要素。当然每门程序设计语言课程都有其固有的核心内容,例如,在C++语言中,核心的教学内容为:面向对象的概念、继承、多态、模板及异常等,即使如此,还需要根据教学对象,对教学内容和授课方式进行选择和取舍。总的原则是围绕重点概念和知识采取“精讲多练”和“突出重点”的方式进行教学。<br> 2.2中级目标<br> 中级目标则要要求学生围绕目标程序设计语言,具备系统化的程序设计方法和技巧,逐渐使学生“知其所以然”。该层目标不仅要让学生掌握“语法”,还要让学生掌握“语义”;不仅让学生掌握语言本身,还要让学生扩展思维,了解、理解更多的外延的知识;不仅要让学生掌握基本的程序设计方法,要让学生初步掌握系统化的程序设计方法和建立起程序质量的观点。程序设计语言的外延知识涉及计算机专业许多重要的核心课程,包括编译原理、算法分析与设计、计算机组成与结构、离散数学、数据结构和软件工程等。当然,不可能指望通过一门课程的学习,使学生有效地、完整地掌握所有这些知识,只能使与实现中级目标有紧密联系的知识能渗入到重点的知识讲授和实验的安排中。<br> 2.3高级目标<br> 不管是初级目标的“知其然”,还是中级目标的“知其所以然”,都是知识学习,而高级目标阶段的重点是运用知识,体验知识,要求学生具备利用目标程序设计语言解决一定复杂度和规模的实际问题的能力,建立抽象的程序设计思想、方法和质量的观点。高级目标的教学内容的重点在如何在所讲授的语言框架里解决一定规模的应用问题,并从具体的实现里提炼出抽象的设计思想,分析实现的质量,总结好的实现方法和设计思想。<br> 确立了教学目标,下一步的焦点为围绕实现具体的教学目标,制定各教学环节的具体的教学内容和教学手段,主要包括课堂教学环节和上机实践环节。结合笔者的教学实践,下一节将围绕这方面的内容展开论述。<br> <br> 3层次化的目标引导的课程设计<br> <br> C++语言因其强大的功能及广泛的实用性而日益成为当前高校理工类专业程序设计的主流教学语言,因此本节将以C++为例,讨论层次化教学目标思想如何在教学实践中得到贯彻。C++程序设计语言的教学涉及课堂教学和实践教学两个环节,下面将就这两方面展开论述。<br> 3.1课堂教学 <br> 确定目标课程的教学内容是开展有效的课堂教学,取得既定的教学目标的前提和基本要求。针对本文所提出的层次化的教学目标体系的基本内涵,C++程序语言的课堂教学内容在深度和广度上也应该展现出层次化,递进性的特点。<br> 在低级目标中,掌握本程序语言的基本语法体系是最重要的目标,在教学内容的设计上,应确定语言的最核心最重要的语法现象。过程化程序设计向对象化程序设计是C++语言的最重要的特征,因此“对象”和“类”,以及由此产生的“继承”,“封装”,“多态”和“异常” 成为最核心的教学内容。在教学时应集中注意力于这些类对象的关键个性技术,围绕关键技术“精讲多练”,使学生深刻理解面向对象C++的这些关键技术;要有重点,不能面面俱到,有所失,才能有所得。<br> </p> <p> <p>低级目标是为了使学生掌握知识,使其“知其然”,那么中级目标则要逐渐使受教育者“知其所以然”,教学的重点从对语法的训练转向对语义的理解,包括静态结构语义和程序执行语义。在C++的教学中,以C++对象模型作为教学内容的重点,通过从静态的程序代码结构和运行的程序状态两方面展开课堂教学,这样在知识语言的“所以然”的基础上,学生不仅知道什么是“多态”,并且知识“多态”是怎么实现的;什么是运行时类型检查(RTTI),运行时类型检查能提供什么程序设计策略等;许多的外延知识能沿课堂展开,例如编译原理、算法分析与设计等。由Stanley B. Lippman所著的《Inside The C++ Object Model》为我们设计课程材料提供了方向性的指导。<br> 低级目标和中级目标都是针对知识的学习,而高级目标则针对知识运用,提高运用知识进行设计的能力。此层次涉及知识的学习、理解和综合运用,要在有限的时间内,实现教学目标,在课程教学内容的选取和设计及课时的安排上,具有一定的难度,对教者和学者都具有一定的挑战性。“设计模式”可以成为本层次的基本或延展性的教学内容。设计模式虽然不与具体的设计语言有着必然的、密切的联系,但事实上各种技术性、或纯教学性的书籍中,都把面向对象语言作为实现各种设计思想的不二选择。通过设计模式内容的讲授,可以使得学生对面向对象的基础知识有更深刻的理解,同时增强灵活运用所学知识的能力,体验面向对象程序设计方法学所带来的设计上的“美”,激发学生的创造力。<br> 当然,上面针对课堂教学内容的论述仅仅进行了基本的界定和论述,需要通过下面几方面来贯彻实施,以达到各个层次的教学目标:<br> (1) 通过教者的努力,设计出丰富的、具体的课程素材;<br> (2) 针对不同的教学内容,设计多样化的教学手段和方法;<br> (3) 针对不同的教学内容布置
《90后女儿帮人偷菜父亲管教被打掉门牙》、《妻子半夜上网偷菜被老公轰出家门》这些新闻是否已经成为你的八卦谈资?开始只是在白领间流行的“××农场”,如今已经成为全民娱乐。我们的身边也总是出现种种跟偷菜有关的话题,甚至连央视都不能免俗,报道了有台湾网友将电影《大腕》中的经典桥段改编成开心农场的版本,还有网友谱写了《偷菜歌》,抒发自己辛辛苦苦种下的菜被人偷走的悲凉。正因为这样火爆,也就日益成为一个社会问题。前不久陶老师也发话了,说这种没有血腥暴力的“种菜”也是误导人去犯罪。争论中,你的看法是什么呢? <BR> <BR> 消遣而已,何必认真 <BR> 博主:开心的陶爸爸 <BR> (大学生读者) <BR> <BR> “开心农场大坏蛋,培养网上盗窃犯。不睡觉、不吃饭,睡到半夜到处串。他攀墙、我跳院,月黑风高好作案。人手一张麻袋片,这拔葱、那拽蒜,茄子土豆偷成片。谁家菜地都不管,偷完马上往家窜,一到家里傻了眼,自家蔬菜全不见。”这是在网上广为流传的“偷菜”顺口溜,因其脍炙人口而受到“偷菜者”的热捧。据我了解,玩这个游戏的人大多生活在大都市,北京、上海、香港等地都很流行,已成为一种新的生活方式。这种流行,体现的是现代都市人生活节奏快、压力大、工作单调的现实。这种情况下,充满田园气息的偷菜游戏,类似返璞归真的生活,便充当了这类人群的释压阀。此外,在这种紧张、压力较大的生活环境中,偷菜也成了一种新的人际交往形式,通过这种热门游戏,可以宣泄心理的压力。在游戏中种菜、收获、积累金币,享受收获的兴奋,让人们在虚拟社会中学会治理财富。所以,我认为不用把这种行为上纲上线到道德水准上。 <BR> <BR> 偷菜也要防沉迷 <BR> 博主:车库里的龙 <BR> (网游评论人) <BR> <BR> 虽然我也反对人们把时间一味地投入在偷菜上,但我的理由和陶宏开的正好相反。他认为沉迷偷菜的人,在现实生活中也可能会沿袭偷的行为,而我认为这种转化的概率很小,偷菜真正让人沉迷的原因,恰恰是因为这种虚拟的社交活动与现实太脱节了。因为不管是交往的乐趣还是偷菜的奖励,都是对人们进入虚拟世界的隐性鼓励,人们一旦面对虚拟的东西久了,就会降低对现实中的情况的应变能力,也就更容易在现实中受到挫折,同时也就更愿意投入到虚拟世界中,这本就是一个逃避困难的恶性循环。而且因为困难并没有得到解决,所以更是一条走向自我封闭的道路。必须提醒的是,应该保持一种健康的社会观,明确区分虚拟世界和现实世界的差别,学会自我控制。毕竟,偷菜游戏只是一种游戏,也是一种新的生活方式。如果能很好地驾驭它,就可以摆脱对虚拟世界的过分沉迷。 <BR> <BR> “昕”闻乱播 <BR> CFan小编们接触开心网的时间,可以追溯到2008年年中,那时候还没有偷菜呢。在最初的1个月中,小编们以最大的热情投入到买卖奴隶和争抢车位的战斗中,乐此不疲,也有不少人趁加班,大半夜地上去鼓捣。然而好景不长,个把月过后,小编们着迷的劲头就不像当初了,有的长时间不更新,有的干脆就不再登录了。当时,杂志上也顺势展开了对SNS网站用户黏性模式的探讨。开心网还是很强的,在熬过了那段每天有N多人加入,也有N多人离开的难堪日子后,凭借开心农场这个游戏,达到了引领业界风潮的高度。推出之后,几乎是个SNS网站,就必会推出一款跟农场有关的游戏。 <BR> 虽然人们本身对一款游戏会有一个“迷恋期”,过去之后就会觉得无聊,但我认为,开心网作为一家企业,有责任思考并推出一些预防性举措。在这方面,腾讯就走在了它的前面。最近,QQ开心农场针对许多网友“半夜偷菜”的现象,特别推出了一项名为“健康模式”的新功能。在“健康模式”生效的时间段内,系统可对农场进行保护,好友在这段时间里将无法偷走你的菜。 <BR> <BR> 网友留言: <BR> HopBoy:中央有令:从即日起,选拔任用干部将主要从开心农场中选拔。依据是:种菜种得好,说明有头脑;种菜种得精,说明思路清;半夜偷菜忙,定是工作狂;种菜算得细,说明懂经济;偷菜偷不怕,胆子肯定大;偷了不吱声,说明城府深;被偷还种菜,提拔要加快;狗咬不投降,竞争意识强;被抓不撞墙,一定是栋梁。 <BR> Rainny宝:喜欢上偷菜游戏,完全出于好玩,在偷菜时可以放松心情,享受收获的喜悦和偷菜的快感。哪怕别人偷了我的菜也一样高兴,因为别人在同自己分享收获的喜悦。我们平时工作很紧张,压力又大,只有在玩这些游戏时,才是完全没有戒备和压力的。 <BR>
</p>
<P>亲历加拿大高校任教有感</P>
<P>摘要:西门菲沙大学(SFU)是加拿大著名的综合类大学,学科门类齐全,办学理念先进。本文通过作者在SFU的教学和科研工作经历,对比了加拿大高校和我国高校在教学、科研、校园文化建设等方面的差别,以期对我国高校教育改革有所启示。 <BR> 关键词:加拿大;高等教育;教育体制 <BR> <BR> 2007年8月~12月,作为交流教师,笔者有幸参与浙江大学和加拿大西门菲沙大学(Simon Fraser University,SFU)的双学位计划(DDP Program),在西门菲沙大学进行了为期4个月的教学和合作研究,对该大学及加拿大的教学和科研体制都有了一些了解,感触颇深。 <BR> 西门菲沙大学位于加拿大温哥华市,1965年建校。在40多年的历史中,该校发展迅速,目前已成为拥有3个校区,在校生达25 000人的综合性大学,在2006年加拿大大学排名中名列综合类大学第4名。该校专业设置齐全,包括艺术、应用科学、自然科学、商业、教育等。每年的教育预算高达5.2亿加元,其中教师人均科研经费达4.3万加元,在加拿大各大学中排名第一。学校实行三学期制,即春、夏、秋三个学期。笔者通过2007年秋季学期在SFU4个月的教学和科研工作经历,对比该校和我国高校在教学、科研及校园文化建设等方面的差别,作以下总结。 <BR> <BR> 1教学特色 <BR> <BR> 加拿大是一个典型的移民国家,社会文化充分体现了多民族、多文化特色。西门菲沙大学的学生来自世界各地,不同的文化、民族、语言背景导致学生间的差异性很大,个性特征非常明显。因此,学校要求教师充分尊重学生个性,重视发挥每个学生的潜能,因材施教。一般采用小班教学模式,每班人数在十几人到三十人不等,其他加拿大大学也是类似情况[1]。 <BR> 1.1师生交流充分,学习个性化强 <BR> 笔者在SFU的计算机系开设了Information Systems Management (信息系统管理)课程,这是一门涉及计算机科学和管理科学的交叉性课程,面向计算机专业和管理专业学生,主要探讨现代企业的信息技术策略及信息技术在企业中的应用。在教学中,我注意到国外大学课堂的一个显著特点是学生参与非常积极主动,师生交互效果好,而非教师单方面授课。学生上课时经常举手提问,发表个人见解;有些学生喜欢结合本国国情进行探讨,课堂气氛十分活跃。在课堂上,老师和学生对信息技术在现代企业的应用进行深入探讨,问题大大超过教材范围,且具有个性化特征,学生在企业信息技术策略规划和实施方面获得宽阔视野,增长知识,提高洞察力。对比国内类似的课程教学,一般都采用大班教学模式,每班学生多达数十人甚至上百人,难以有效地组织课堂问答和交流。学生和老师都不习惯在课堂上进行太多的提问与讨论,久而久之,学生就容易对新事物产生畏缩心理,缺乏创新意识和创新思维[2]。 <BR> 2.2注重实际能力,培养团队精神 <BR> 在课程设计上,SFU更看重对学生沟通、交流、实际动手能力的培养,强调学生的团队意识。因此,基本上每门课程都要求有作业(assignments)、项目(projects)、演讲(presentation)等环节,使学生有更多的动手操作与团队参与机会,提高综合能力。在期末评分时,期末考试成绩一般不超过总评成绩的40%。比如我的课程评分比例是两次写作作业20%、期中考试20%、团队项目25%(项目报告20%+演讲5%)、期末考试35%。学生的每次作业和考试成绩都显示在学校的教学管理系统中,只有学生本人可见。学生可以清楚地了解自己在该课程中的位置和进步的空间,同时不会泄露隐私。对教学和评估的合理安排可以让学生有更多的主动参与机会,激发学生主动学习的热情,促使他们制定实际而全面的学习计划,循序渐进地吸纳知识。与之相比,国内教学更看重的是考试成绩,有些课程只通过一次期末考试进行综合评分。这种课程设计和评价方式使学生只会对付考试,学不到多少有用的东西,更无法形成良好的团队协作精神,提高专业水平。 <BR> <BR> 2科研特色 <BR> <BR> 搞好高校科研的一个关键问题是让教师和学生专心于研究工作。SFU通过教师职责划分、研究经费资助及博士生培养等环节的制度保障,使科研工作能够有效开展。 <BR> 2.1教师职责划分明确 <BR> 加拿大大学对教师的职责划分是比较明确的。在SFU,学校把教师明确划分为两类:研究教师(research faculty)和教学教师(lecturer)。研究教师承担的教学任务相对较少(但是每年还是必须开2~3门课程),从而能更加专注于科研,而教学教师每年要开5~6门课。两类教师有不同的考评标准和升职路线。研究教师分为助理教授、副教授和教授3级,而教学教师则分为讲师和资深讲师两级。西方高校对教师职责的划分比较明确,使每个教师都能专心履行自己的职责[3],做到了教学和科研的平衡发展。这对我国不少高校只有教学没有科研,或者只重科研不重教学的失衡情况,具有很好的启示意义。 <BR> 2.2多方研究经费资助 <BR> 与我国国情不同,加拿大联邦政府对各高校的教育和科研参与较少。各高校的教育经费主要由各省负责,科研经费也主要来自各省政府。一般获得省政府或联邦政府资助的研究项目,学校还会给予相应的配套经费;有了来自于政府和学校的研究经费支持,学校的基本研究工作都能得到较好保障。此外,不少教师还能够争取到来自工业界的支持。SFU在数据挖掘领域的研究处于世界领先水平,因此各大IT巨头,包括微软、Google等,都大力资助该校从事该领域研究的教师,笔者所在的SFU合作研究实验室就有不少来自微软的资助项目。另外,在博士生导师资格认定上,SFU同很多国外高校一样,对职称没有限制,拥有博士学位的助理教授或讲师都可以成为博导,指导博士研究生并获得经费资助。这就使很多年轻力强、在学术领域活跃的年轻教师能充分参与博士生的培养,保证发展迅速的学科具有较高的科研水平和博士生培养质量。 <BR> 2.3博士研究生培养严格 <BR> 国外对研究生,尤其是博士研究生的培养都非常严格,SFU也不例外。每个博士研究生毕业前,都必须在导师指定的相关领域顶级会议或杂志上发表多篇高水平论文,在所从事的研究领域做出深厚积累并获得认可,才能够申请毕业答辩。相应的,每个导师对博士生的培养和指导都亲历亲为。笔者所在实验室的教师曾对博士生的培养过程作过详细介绍。导师一般会为学生确定研究基础和必读书目,分派相应的阅读和研究任务,帮助学生在学术上更好地进阶。开始时,导师会给学生指定一个研究课题,并指导学生去作实验,实现自己的想法,然后和学生一起撰写论文。当学生有了相应的研究积累并熟悉了研究套路后,导师会进一步指导学生阅读相关会议或杂志的新近文章,与学生深入探讨相关研究工作。学生有了新想法后,也会先和导师讨论,取得导师的指导和协助,慢慢积累知识,提高个人的研究能力。在培养过程中,导师在不同阶段都深入参与,确保博士生的培养质量。 <BR> <BR> 3校园文化特色 <BR> <BR> 加拿大的高校往往由不同国家、不同民族、不同肤色的学生组成。因此,加拿大高校在校园文化建设、学生培养和教育等多个方面做了更多的努力,以让来自不同文化和语言背景的学生获得良好的教育。 <BR> 3.1以人为本,融合多元文化 <BR> 在SFU的几个月间,我经常能感受到学校以人为本的教育理念和融合了多种文化的教育特色,学校经常组织的各种活动增进了学生的集体归属感,促进多种文化的融合。新学期开始时,学校会准备一系列的指导课程(Orientation)活动,在高年级学生的帮助下,新生通过参加各种类型的参观、讲座和游戏等,尽快熟悉校园文化和环境特色,为将来的社交活动打下基础。而宿舍文化更是充满了多文化特色,不同国家、不同民族的学生都居住在同一个宿舍楼中,每个人都是宿舍小集体中的一部分,由学生(志愿者需向学校递交申请)维护和组织大部分的日常管理和文娱活动,有效促进了各种文化的交流和融合,学生间也建立起深厚的友谊。同时,学校更是为留学生提供了学长组项目,使国际学生能够更多地接触具有不同文化背景和专业兴趣的同学和学长,增强了学生间的联系,值得国内高校借鉴和学习。 <BR>3.2创造实习机会,提高实践能力 <BR> 为了帮助学生更好地适应社会和工作环境,SFU通过与企业合作,给学生安排了大量的企业实习机会。北美的教育文化强调学生理论学习和实践能力并重,重视学生应用能力的培养,通常通过安排实习环节培养学生的实践和应用能力,而学校的主要工作是联系实习企业,为学生提供实习指导。在SFU,学校提供了名为Co-op的项目,为需要的学生提供系统的实习指导(http://www.sfu. ca/coop/)。Co-op项目包括举办一系列的Workshop,指导学生写作个人简历和参加面试等;安排专业的指导教师与学生单独约见,面对面地指导学生选择实习单位,进行某一次实习。另一方面,学校与很多知名企业建立起较为完善的合作网络平台,企业可以在平台发布招聘实习生广告,学生也可以在线提交简历,申请安排面试。大部分本科生从大二开始就投入实习实践中,利用一年三个学期中的一个学期来实习,既贴补了学费,又丰富了实践经验,有效提高了实践应用能力。 <BR> <BR> 4结语 <BR> <BR> 通过上述比较,笔者认为国外一些高水平高校在教学、科研等方面的先进经验是非常值得借鉴的。在符合我国国情的前提下,我们应引进国外高校的先进理念,更好地加强高校学生的素质培养,提高科研质量,避免学术腐败。中国的也势必能够更快地迈入世界一流大学之列。 <BR> <BR> 参考文献: <BR> [1] 姚子昂. 对加拿大Brandon大学教育考察及其启示[J]. 大连大学学报,2005,26(6):106-108. <BR> [2] 崔家善. 我国高等教育体制存在的问题及改革思路[J]. 学术交流,2007,162(9):177-179. <BR> [3] 徐岩. 中美高等教育体制比较:访明尼苏达大学有感[J]. 会计之友,2008(3):94-95. <BR></P>
</p>
<P>基于项目开发教学法的Visual Basic程序设计教学模式的研究</P>
<P> 关键词:项目开发教学法;问题引导;实训为主;设计型实验 <BR>摘要:本文针对Visual Basic程序设计课程的教学,首先介绍采用项目开发教学法进行教学设计,调整教学顺序,贯彻“</P>
<P>问题引导、项目驱动、实训为主、讲练结合、(理论)够用为度”的原则。其次,再探讨强化实战训练,淡化验证型实验,</P>
<P>加强设计型实验,以使学生在实践项目训练中掌握程序设计的基本方法,熟悉软件开发的基本流程,增强分析问题解决问</P>
<P>题能力,培养创新实践能力,教学效果良好。 </P>
<P> <BR> 2007年启动的“质量工程”中,关于“实践教学与人才培养模式改革创新”部分特别强调要“促进学生自主创新兴</P>
<P>趣和能力的培养”,“倡导启发式教学和研究性学习”,教高[2007]2号文第4条也特别强调“深入实施素质教育,努力提</P>
<P>高大学生的学习能力、创新能力、实践能力、交流能力和社会适应能力”[1]。作为一门程序设计类课程,Visual </P>
<P>Basic程序设计是实践性非常强的一门课程,很多单位和企业利用该语言开发实用软件,同时,它也是一门简单易学、面</P>
<P>向对象的程序设计语言,可视化强,学生学习兴趣比较高。但是,很多高校开设该课程多年,学生学习的效果却不理想,经</P>
<P>过调查和分析,我们发现如下一些问题。 <BR> (1) 受学时的限制,很多教师讲完程序设计基本知识后,很少再给学生讲解必要的软件开发技术和技巧,因此,学生</P>
<P>就失去深入学习的机会和条件; <BR> (2) 在以往的程序设计类课程教学中,教学设计只是按部就班地学习程序设计的知识点,没有依托完整的实际项目,</P>
<P>学生对知识点的学习感到支离破碎、不成整体,也容易遗忘,学生没有工程项目开发实际技能的历练和体验,无法直接感</P>
<P>受所学知识在实际工作中的地位和作用,从而影响学生的学习效果。 <BR> (3) 多年来,计算机基础教育都是围绕着全国计算机等级考试这个指挥棒转。教育部考试中心举办的全国计算机等</P>
<P>级考试(NCRE),自1994年开考以来已举行了25次,它对高校的计算机教学理念、课程设置、培养模式等具有导向作用,以</P>
<P>至发展到大学生毕业要拿着NCRE等级证书去找工作,而实际上高校毕业生除此之外也确实没有能证明自己计算机应用能</P>
<P>力的凭证。然而,毕业生反馈调查表明,即使有NCRE等级证书,90%以上的大学生在实际工作岗位上仍然不会进行最基本</P>
<P>的计算机操作(如表格制作、编辑排版),一些手里拿着NCRE程序设计二级证书的大学生们对一些最简单的应用问题仍不</P>
<P>会编程求解[1]。 <BR> 经过以上的分析,针对质量工程中对实践能力和创新能力培养的要求,我们分析了Visual Basic程序设计课程的特</P>
<P>点,并进行课程改革,其重点是培养学生的计算机程序设计能力和软件开发能力,从而进一步开发挖掘学生的创新能力,</P>
<P>我们提出项目开发教学法,并在教学中进行实践,取得了一定的效果。 <BR> <BR> 1项目开发教学法的教学设计与具体实施 <BR> <BR> 为了改进程序设计类课程以往教学设计存在的问题,我们对教学目标做出新的定位,引入项目开发教学法进行新的</P>
<P>教学设计。 <BR> 1.1教学设计思路 <BR> 1.1.1教学目标的重新定位 <BR> 在掌握编程基本方法和思路的基础上,我们重点掌握以数据库、多媒体、网络为开发目标的软件项目的编写,让学</P>
<P>生形成良好的编程习惯,提高其学习能力及分析问题和解决问题的能力。把以教师为中心的“灌注式”教学改变为以学</P>
<P>生为中心的“主动探索式”学习。 <BR> 1.1.2采用项目开发教学法进行教学设计 <BR> 项目开发教学法是指在教学中引入若干个项目案例,按照实际软件开发中的方法与步骤展开教学。项目开发教学法</P>
<P>选择传统的生命周期开发方法作为教学设计的主线,再穿插介绍面向对象和可视化软件开发方法。 <BR> 软件开发周期划分为若干个阶段,每个阶段有相对独立的任务,然后逐步完成每个阶段的任务。项目开发教学法根</P>
<P>据项目开发的若干阶段,在教学设计上也形成几个教学步骤:计划分析、需求分析、整体设计、程序实现、程序调试[2]</P>
<P>。 <BR> 1.2具体实施方案 <BR> 1.2.1项目驱动,以项目群覆盖知识面 <BR> 项目开发教学法通过若干个实际项目案例为载体,引导学生通过项目设计开发的实际训练,掌握计算机程序设计的</P>
<P>方法和技巧。教学中所有项目案例的总和要尽量覆盖预定教学目标的各个知识点,形成一个循序渐进、种类多样的项目</P>
<P>群,构建一个完整的教学设计布局。 <BR> 1.2.2问题引导,以问题为线索组织教学 <BR> 在项目设计训练过程中,教师以软件开发步骤为顺序,设置该项目程序设计所遇到的各种问题,并以这些问题为线索</P>
<P>展开教学。问题引导包括三个层次:技术引导指完成某一功能要采用哪些技术;知识引导指实现这些技术需要哪些知识;</P>
<P>应用引导指这些知识如何解决具体问题。 <BR> 1.2.3实训为主,以学生为主体,突出技能训练 <BR> 对于逻辑性、实践性很强的程序设计方法,学生不是听会的,也不是看会的,而要通过实际项目的反复训练才能掌握</P>
<P>其技巧的。在教材编写过程中,要体现以学生为主体,以项目的实际训练为主导,把学生推到项目活动中去。教材要提供</P>
<P>一个经过精心设计的教学情境,引导学生在对问题的探讨中寻求项目的解决方案、思路和最终的解决办法。 <BR> 1.2.4知识服务于项目,理论以够用为度 <BR> 无论是数据基础知识,还是逻辑性强的程序结构与设计方法,都围绕项目为服务对象,并且以够用为度,用到什么讲</P>
<P>什么。 <BR> <BR> 2课堂教学和实践教学模式 <BR> <BR> 针对项目开发教学法的教学模式的实施方案,程序设计类课程的课堂教学和实践教学改革方案如下。 <BR> 2.1学时安排 <BR> 项目开发教学法更加注重实践教学,所以在学时安排上应加强学生自身上机实践,特别是学生自主学习的上机时间</P>
<P>。 <BR> (1) 理论引导学时:30学时。 <BR> (2) 上机指导学时:30学时。 <BR> (3) 学生自主上机:30学时。 <BR> (4) 课程设计学时:1.5周。 <BR> 2.2课堂教学改革 <BR> 2.2.1调整教学顺序 <BR> 按照学生的认知规律,重新调整教学顺序,将窗体、控件、菜单等直观、形象、设计有趣的知识内容提到前面讲解,</P>
<P>而将枯燥的语言基础、程序设计基础等贯穿到实际项目之中,让学生在设计中自己发现问题、解决问题并进行归纳总结</P>
<P>。 <BR> 2.2.2项目选取突出趣味、实用和完整 <BR> 为了最大范围地让学生涉足各种各样的实际工程项目,所选项目必须具备趣味性、实用性、完整性等特征。每个项</P>
<P>目的规模不要很大,知识点不要面面俱到,而是应该有明显的主题或突出的重点。 <BR> 2.2.3贯彻“问题引导、项目驱动、实训为主、讲练结合、(理论)够用为度”的原则 <BR> 在授课过程中,始终贯彻“问题引导、项目驱动、实训为主、讲练结合、(理论)够用为度”的原则,采用一个完整</P>
<P>的、实际的、具体的、有形的项目作为知识的联想和应用载体将相关章节的知识点串接起来,避免停留在抽象枯燥的理</P>
<P>论层面上。 <BR> 2.3实践教学改革 <BR> 2.3.1强化实战训练 <BR> 教师在每个章节后面安排实战训练,并与课堂上讲解的项目相结合,同时,围绕本章知识点,综合前面章节内容,设计</P>
<P>实战训练题目,要求学生利用课下时间完成,并在指定时间内提交到服务器上。 <BR> 2.3.2淡化验证型实验 <BR> 在以往的实践教学中,大多数同学更多的时间是在按照实验指导书上的步骤去按部就班地完成实验,验证程序的正</P>
<P>确性,观察运行结果,而自己真正设计程序时却无从下手。所以,教师要让学生了解验证型实验的设计目的、设计思路和</P>
<P>算法思想,强调问题分析,而不是仅仅去验证。 <BR>2.3.3加强设计型实验 <BR> 在实际实验课程中,验证型实验要求学生在自主上机时间完成。而对设计型实验,教师在实验课程中要为学生提示基本思路,引导学生有所创新,要学生提出自己的设计思想,并独立完成,教师进行必要的指导实践。 <BR> 所有设计型的实验,都要求教师进行点评,特别是好的设计思路,教师一定要让所有学生都了解。 <BR> 2.3.4增加课程设计环节 <BR> 经过多年的教学实践,我们发现一个问题,即学生们学完、考完,拿到等级证书,但由于没有机会应用,没多长时间就将所学知识忘光了,更无法运用到工作中。学生普遍反映,学过程序设计,但不会设计程序,就像学习外语,记了一大堆的词汇和语法却不能张口表达。导致这种问题的原因是多方面的,但最重要的原因是程序设计课的学时少,学生缺少综合性的归纳和练习;学生上机实习时间短,实际操作不多,缺乏完整的项目训练。针对这一问题,有效的解决办法是增加课程设计环节,使学生在程序设计课之后,用规定的时间相对独立地完成一个实用程序开发的过程,这对学生深化理解程序设计语言、提高综合运用所学知识解决实际问题的能力有非常显著的作用。 <BR> 为此,我们提出程序设计课程的课程设计环节实施方案。 <BR> (1) 在每学期学完程序设计类课程之后,在学期末或下学期初增加课程设计。 <BR> (2) 设计课程设计题目库,对每个题目给出基本要求和创新要求。在设计开始之前公布题目。 <BR> (3) 要求学生在给定的题目中选择一个,但一个班级的学生不能选择重复题目。 <BR> (4) 要求学生在规定的时间内(10天)完成,并写出设计报告。 <BR> (5) 组织学生进行课程设计答辩,要求学生讲解设计思路、介绍项目功能,并演示所设计项目。答辩教师现场提问。 <BR> (6) 根据学生设计情况、提交的设计报告和答辩情况给出课程设计成绩。 <B
展开阅读全文