课程设计方法范文

时间:2023-10-08 11:18:58

课程设计方法

课程设计方法篇1

关键词:《VB程序设计》;学生学习兴趣;教学方法;考核方式

中图分类号:G43文献标识码:A文章编号:1672-3198(2008)08-0357-02

1 培养学生编程的学习兴趣,调动学习积极性

兴趣是最好的老师,要想学生能够学好VB编程,培养学生的兴趣就是关键。在《VB程序设计》课程教学中,如何找到一条比较新颖、有效的解决程序设计枯燥、难懂的教学方式,一直是从事计算机教学的教师不断探索和研究的方向。当学生对所学的课程知识产生兴趣和爱好时,就会从内心发出向往和求知的强烈欲望,产生积极、主动的学习动机,那么学习过程也就不再是一种负担,而是一种愉快的体验,学习效果也会事半功倍。也就是说不管老师讲得多好,如果学生对你所讲的内容不感兴趣、感觉没用,他就不会努力学习这门课程,你的教学肯定是不成功的。为了避免学生出现对VB这门课的误解,对它失去兴趣。起初上课时,我们不要讲授太多太深的理论知识,但可结合学生所学专业,演示几个用VB开发的相关程序,让学生领悟到《VB程序设计》在今后专业岗位上的作用,多讲一些VB在现实生活中的应用。例如让学生玩一些由VB开发设计的五子棋、俄罗斯方块等游戏,或用各种计算器按要求计算求值,通过实例的有效引入,可以让学生了解VB的实用性,培养学生的学习积极性。然后让学生亲自上机操作,验证运行程序, 逐渐培养他们的兴趣,树立学生学习VB的信心,激起学生学习的兴趣。学生学习的积极性调动起来了,这对教师来说,就已经成功了一半。另外,还可利用网络通讯工具和学生交流,巩固学生已经树立起来的学习积极性,如在网上论坛上设立留言板和讨论板,学生可以向老师提出问题,老师在网上解答学生的问题,同时老师也可以在网上相关材料,让同学展开讨论,这样就极大地激发了学生的学习兴趣,使得以往老师的满堂灌输的填鸭式教学变成学生自主学习。

2 采用启发、引导的教学方法,培养学生的实际应用能力

2.1 设计教学的主要环节,因“材”施教与因“需”施教相结合

《VB程序设计》课程的内涵十分丰富, 涉及的知识单元和知识点很多。因此在教学过程中,不仅要培养学生程序设计的技能,还要培养学生系统分析和系统开发的技能。实施VB的教学,首先要选择合适的教材,这样既有利于教师设计教学过程,又有助于学生的学习。这里所讲的“材”是指以教材为纲,按照教材的章节按部就班地讲授,课堂教学中往往以教师讲课为主,要求学生紧跟教师的思路,但是教学方法极易造成教与学的脱节,限制学生创造力的正常发挥。而“需”是紧扣教学大纲所确定的培养目标,以应用为目的,以必需够用为尺度,打破课程界限,将相关课程的知识点加以整合,按照“实际、实用、实践”的原则重新组织教学内容,这是VB教学方法的重要方面,也为教师在讲课过程中提出了更高要求。另外,程序设计是设计与实践并用的工作,只听、看、读是学不会的,只有让学生多动脑、多动手、多实践,通过编写调试大量的程序,才能使学生从中理解程序设计的思想方法、积累程序调试的经验,体会成功的喜悦。因此,在实验环节,除了验证型实验外,增加了设计型实验和综合型实验。为了解学生学习的具体情况,提高教学效果,授课教师要督促学生独立完成上机实验,以提高学生的动手能力,为学生创造性发展提供良好的条件。

2.2 实例教学

《VB程序设计》是一门实用性很强的课程,它既有理论又有实践,既讲方法又讲动手能力。讲授《VB程序设计》,像任何其他语言的程序设计一样,教材中前几章多数都是先介绍对象、对象的属性、方法和事件及VB语言基础等等一系列的在程序设计中比较抽象难懂的概念,然后才介绍程序的建立和运行。因此在教学中,可适当打破课本原有以知识的逻辑结构体系为顺序组织课堂教学的方式,改用从简单有趣的实例入手,通过让学生观看、模仿,在实际操作中去探究和领悟这些概念,例如,在一开始学习VB对象及对象的方法和事件的有关概念时,我设计了一个求外语、教育学平均成绩的并打印平均成绩的程序实例,让学生和教师一起做,在当前打开的窗体内添加了三个命令按钮、三个文本框和两个标签,设置好各对象的属性;并分别在三个命令按钮的单击事件过程中添加相应代码,按功能键F5运行程序。在操作的过程当中,教师开始只简单提示学生完成程序,等学生完成任务后,教师通过设问,让学生思考:什么是对象的方法和事件?并让学生找出本实例中各对象的名称、不同对象的方法和事件过程名称,教师再适当加以归纳和小结:窗体以及添加到窗体中的控件,统称为对象;而方法却是VB提供的内置于对象的特殊子程序,它可以直接调用,如Print方法;而事件则是对象能够响应和识别的动作,如单击鼠标触发Click事件等,同时提醒学生注意观察在VB中方法与事件的区别。在此基础上,再适当引导学生归纳总结出创建VB应用程序的基本步骤,及如何在界面内添加对象、设置事件等等,一切问题都迎刃而解。在讲解实例时,教师当以精选出的具有代表性的程序实例,把重点放在具体实例的分析和讲解上,把要学习的语法和概念融入到具体实例中来讲解。

2.3 重视算法,抓住核心

在教学中经常存在这样一种现象:很多学生对语法、结构等知识掌握得很好,但一旦碰到实际问题就束手无策,不知道如何用学到的知识解决实际问题,其实这是算法能力欠缺的一种表现。教师经常注重于分析每条语句的含义,却忽略了算法描述过程的展现,造成学生知其然不知其所以然。其实,在VB中,算法设计是它的核心。如果学生掌握了良好的算法设计能力,也就掌握了钓鱼的本领,无论遇到什么问题都可以很好的解决。那么在教学中可以通过多种方法培养学生的算法设计能力:(1)详细讲授常用的算法。算法有很多种,学生一般只要掌握常用的就可以满足编写模块的需要。而与数据结构、软件工程相关联的算法则不做要求。(2)教师带领学生多阅读程序,分析过程,吸取他人的经验和成熟的算法,使学生少走弯路或不走弯路。(3)开展实践性学习,引导学生积极参与编程实践,促进思维的飞跃,比如让学生练习编辑班级学生档案管理软件等等。在这个过程中,学生亲自动手解决具有一定难度的实际问题,为之设计合适的算法, 经过实践去培养学生的创新意思、应用意识和探究能力。这些意识和能力一旦形成,就会使学生利用VB解决实际问题能力得到很快的提高。

2.4 培养学生综合运用知识及自己动手的能力

程序设计课程的实践性很强,“精讲多练”是程序设计课程教学的一大特点,实验教学在程序设计教学中起着重要的作用,学生只有通过自己编写程序、上机调试程序,才能从中理解程序设计的思想方法、积累程序调试的经验,体会成功的乐趣,从而激发学生的学习兴趣,学生只听不练根本达不到学习的目的。学生在完成课后习题时积极性不高,兴趣不大,甚至想抄作业应付老师。只有让学生动手编制他们感兴趣的程序,学生才会有成就感,才会对课程产生兴趣,学起来才会从容自如。如在学生学会编写求1+2+…+N!=?的程序后,即引导学生设计求N!的程序,待学生设计出N!的程序后,接着又让学生进一步设计求1!+2!+…+N!=?的程序。这种一环紧扣一环的探究式的动手实践练习, 以发展学生探索能力为主线来组织实践, 以培养探究性思维的方法为目标,以基本的教材为内容,使学生通过再发现的步骤进行主动实践的过程,产生一种探索和发现的心理。因此如何让学生综合应用所学知识解决实际问题,提高综合应用能力和动手操作能力,激发学习兴趣也是我们需要加入课程设计的内容。课程设计时,老师要重点设计选题, 使得选题既贴近实际需要,又能够让学生感兴趣,并且能够运用所学知识解决问题,课程设计题目分为基本题和综合题。基本题按教学顺序设计,尽量避免涉及后续章节的知识,后续的课程设计题目尽量引用前面的课程设计内容,以便加深对前面所学知识的理解;综合性题目是对一学期所学知识的总结和巩固,应与实际生活或工作相关且具有一定规模,可将其分成几个子项目,由更多的学生参与,分工合作,以期进一步锻炼学生的动手能力,从而进一步培养学生分析问题、解决问题、研究和探索问题的能力和团队协作精神。

3 以学生学习内容为中心,完善考核形式

考试是测试学生的知识与能力、评价教学质量的基本手段。是教学过程中的重要一环,也是对一阶段教学工作的总结与检查,也是检验学生学习效果、评价学生学习业绩的重要环节,考试的形式对教学目标、教学过程有着相当大的影响。由于VB课程是一门实践性很强的编程基础课,它不仅要求学生牢固掌握基础知识、基本概念,而且更重视培养学生的实际编程能力。考试分理论考试与上机考试两种,理论考试采用闭卷形式,主要考查学生对基本知识的掌握程度以及阅读和编写程序的能力,题目涉及选择、判断、简单概念填空、读程序写结果、根据给定的功能编写程序等,可以比较全面地考查学生的理论水平。上机考试则更加侧重学生的实际应用能力,重点考查学生阅读程序、编写程序、调试程序的综合能力。另外再加上该课程的平时成绩,就可以对学生程序设计的综合能力进行评价。通过几年经验积累表明考核形式实施后,学生的VB基础知识和基本技能比改革前有了明显的提高,为计算机后续课程的学习打下了基础,为学生通过VB等级考试积累了经验,也为今后用计算机解决专业问题奠定了基础。

总之,VB作为一门重要的编程语言,在高校的计算机基础教学中仍然占据重要位置,教学方法在程序设计教学中的举足轻重制约着程序设计教学的效率。科学的教学方法一定会为学生提供良好的帮助。我们在教学过程中应以学生为主体,教师为主导,采用符合学生认知规律的、科学的教学方法,充分调动学生学习的主动性,同时,采用综合评价学生的方式,努力培养学生自主学习的兴趣,提高学生实际应用能力,从而使得VB课程的教学质量得到不断地提高。

参考文献

[1]张萍,陆根书,程文文.教学情景对大学生学习方式的影响[J].教学研究.2006,(4).

课程设计方法篇2

(一)传统教学模式、教学方法与程序设计

的学科特点不相适应多媒体课件以其生动性和方便性在高校计算机教学过程中被广泛应用。然而程序设计是逻辑性和实践性很强的一门课程,仅仅依靠投影大屏幕和多媒体课件的教学思路无法适应程序设计灵活多变的学科特点,不能对学生创造性思维和自学能力的培养起到积极的作用。还有一些教师过分依赖电子课件,教师变“照本宣科”为“照课件宣科”,容易挫伤学生的学习积极性。另外由于播放电子课件信息量大、速度快,学生没有得到思考的空间,学习效果并不理想,而且学生无法做到边听课边做笔记,印象较浅,容易遗忘。

(二)学生的动手实践能力较弱

很多高校在教学过程中更多地注重程序设计语言理论知识的学习而忽视了工程技能的培养。这样就会导致教师和学生偏重于编程语言语法的教学而对计算思维的培养和工程实践重视不够,导致重语法轻算法,实际工程开发能力薄弱。这就要求教师需要布置大量既包含基本知识点又有一定创新性和拓展性的上机实验,才能帮助学生实现从知识到技能的转换,巩固所学的理论知识。

二、程序设计教学方法改革的意义

不断探讨研究和推广新的教学方式,将更有效的新教学方式应用于计算机教学,是不断提高教学水平的好方法。程序设计课程的特点是理论与实践相辅相成,理论是基础,实践是手段,应用是目的。很多学生上课能听懂,但是自己动手编程时感到无所适从。传统的“在学中用”的教学方法,其重点往往局限于讲解基本概念、语句格式、语法等内容,学生往往会考试但解决实际问题的能力较差。若采用“在做中学”的教学方法,以一个应用实例为前导,例如讲授讲解程序设计时以找最大(小)值、素数、排序、求阶乘、求一元二次方程的根等案例形式导入知识点,这样学生就比较容易接受和掌握所学的知识和内容,实践技能也在做中得到了锻炼和培养。教学方法是在教学过程中教师和学生为了实现共同的教学目标,完成共同的教学任务,运用的行为方式与手段的总称。教学方法既是一门科学又是一门艺术,良好的教学教学方法对于学习兴趣的激发和学习效果有着明显的作用,尤其是程序设计教学方法对于培养工程实践能力和计算思维起着重要的作用。具体体现在:一是教师的教法不仅关系到教学效果,同时也影响着学生的学习方法,采用什么样的教学方法对于培养学生的思维模式和知识结构也具有重要的影响。二是程序设计教学法的研究与探索能够促进本学科教师的教学水平与教学能力,提高教学质量。三是程序设计教学方法的改进能够引发学生的学习兴趣和学习成就感,促进多种教学资源的合理使用,取得最佳教学效果。

三、程序设计常用教学方法

程序设计课程包括讲授法、翻转教学法、案例教学法、任务驱动教学法、演示教学法、情景模拟教学、基于问题的教学法、游戏教学法等。下面主要介绍3种常用程序设计教学方法。

(一)案例教学法

案例教学是根据教学目的和教学内容的要求,通过引入并分析各种案例来开展教学活动的教学方法。案例教学法教学过程是:案例设计—案例分析与讨论—案例实现—归纳总结知识点。案例教学法与传统的举例说明有着本质区别。传统的举例说明一般是用来验证教师讲授理论知识的正确性,举例是为理论服务的。而案例教学法最突出的特点是讲课开始于实例,从实例中提出问题,通过分析问题、发现规律、提炼理论,再从理论回到实践,应用理论去指导实践。在程序设计中首先引入案例,例如在选择结构这一章,设计一个猜数游戏,产生一个随机数,输入一个整数,与之比较,提示是大了、小了还是猜中了,这个案例涉及三个分支处理;基于同一个猜数案例,加深难度,引入循环,产生一个随机数,循环输入一个整数与之比较,提示大了、小了还是猜中了,直到猜中为止,涉及的if多分支语句、while循环语句、随机数函数rand在案例中也一并掌握了。另外,一般计算机理论课程教学采用的方式是先理论,后实际;先抽象,后具体;先一般,后个别。其实,对程序设计课程可以适当采用这样的方式:从实际到理论,从具体到抽象,从个别到一般,从零碎到系统。这样的教学方式更加符合人们对客观事物的认知发展规律。

(二)任务驱动教学法

任务驱动法适合实施探究式教学,与简单的案例教学不同,它是采用项目化教学方式,即教师不是围绕知识点去设计每个单独的案例,而是针对课程教学内容设计一个项目,这个项目由若干模块组成,并能够覆盖课程的不同理论知识。任务驱动教学法有助于培养学生分析、解决问题的能力以及动手能力。任务驱动法的教学过程主要有(1)创设情景、提出任务;(2)分析任务、发现问题;(3)明确思路、把握重点;(4)自主探究、解决任务;(5)检查结果、总结经验。任务驱动教学法对教师的业务水平提出了更高要求,教师不仅要转变教学观念,而且对课程需要有很深的理解[8],不能单纯按学科体系安排教学内容,而是根据解决问题的思路,跳跃式地结合多种知识。软件开发是多种技术的综合体现,仅仅通过案例教学局部讲清楚每个知识点,学生的综合应用能力仍然不强。此时,教师通过创设、分析与解决任务必然能激发学习兴趣,取得满意的教学效果。在C语言程序设计课程中以计算学生成绩平均分为例,首先用一维数组和循环结构计算全班50人某一门课程的平均分,继续增加问题的复杂度,计算50个学生8门课程的平均分,这时需要采用50行8列的二维数组,再引出新问题和新任务,编写函数计算出每个学生的平均分,并把每位学生的平均分带回主函数输出,此时就要采用数组名或指针变量作函数参数,传递整个实参数组给函数进行处理,并引出函数如何带回多个返回值的问题。任务驱动法循序渐进、由浅入深地引入新知识点,在解决问题的过程中旧知识在此过程中也得到了巩固。

(三)演示教学法

演示教学法就是借助投影仪或网络教学管理软件等,直观地通过教师的示范性操作进行学习。这种教学方法是学习计算机软件使用方法和操作步骤的一种重要且而行之有效的教学方法,在程序设计教学中同样非常有用。教学中光是依靠PPT课件来分析和讲解程序和算法是远远不够的,而是要当堂编程并演示程序运行结果,让学生直观地看到程序运行的过程和效果。实践证明这种方法非常生动,能够有效地激发学生的学习兴趣,并且在现场编程过程中,高级语言程序设计的知识点、语法、算法也在这一过程中一并得到掌握,另外通过编译,分析和查找语法错误和逻辑错误,可以提高学生的分析能力,实现计算思维的培养。以C语言指针变量作函数参数为例,演示教学法可以分4步实施:(1)分析指针变量作函数参数的4种一般形式。(2)设计一个案例,例如编制一个函数fun,实现将一个数组的数组元素逆序交换,在主函数中输入数组元素,调用函数,最后在主函数中输出逆序交换后的数组元素。(3)现场编程分别演示实参、形参同为数组名;实参为数组名,形参为指针变量;实参为指针变量,形参为数组名;实参形式同为指针变量这4种情况。(4)归纳总结知识点,让学生举一反三编程实现其他功能的函数。

四、新型程序设计教学方法简介

从全球来看,在线教育已呈席卷之势。在线课程模式无疑将引发“学习的革命”,给高等教育人才培养和教学方式带来深刻变化。

(一)慕课教学法

“慕课”这一大规模在线课程始于2011年,有勇敢之城(Udacity)、课程时代(Coursera)与教育在线(edX)三大供应商。2013年7月上海交通大学加盟MOOCs三大平台之一的课程时代Coursera,成为加入Coursera的第一所中国内地高校,和耶鲁、MIT、斯坦福等世界一流大学共建、共享全球最大在线课程网络。“慕课”(MOOCs),顾名思义,“M”代表Massive(大规模),与传统课程只有几十个或几百个学生不同,一门MOOCs课程多达上万人;第二个字母“O”代表Open(开放),以兴趣导向,凡是想学习的,都可以进来学,不分国籍,只需一个邮箱,就可注册参与;第三个字母“O”代表Online(在线),学习在网上完成,不受时空限制,第四个字母“C”代表Course,即课程的意思[7]。MOOC以连通主义理论和网络化学习的开放教育学为基础。课程的范围不仅覆盖了广泛的科技学科,例如数学、统计、计算机科学、自然科学和工程学,也包括了社会科学和人文学科。在“慕课”的世界里,视频课程被切割成10min甚至更小的“微课程”,由许多个小问题穿插其中连贯而成,就像游戏里的通关设置,只有答对才能继续听课。利用“慕课”的平台,可以获取全球的优质课程,实现更大范围的资源共享。除了传统课堂上人们所惯常使用的录像资料、阅读材料和练习题外,“慕课”还会为网友提供互动的论坛,在师生之间搭建一个交流的平台。“慕课”不同于网络公开课,互动性更强,“慕课”的出现,为教学设计提供了一种改革的可能———教师可以将在线视频作为教学的线上环节,要求学生在课堂外先“听课”,课堂内侧重深入的分享、探讨和问题解决,真正实现“翻转课堂”。这一模式将促进教师对教学的反思,以及对教学模式的探索、研究,有助于推动教师角色转变,从一个讲授者、讲解者真正变为学习的激励者、启发者,学习也将变得更加有效。“慕课”课程所带来的是挑战、思考和实践,而不仅是课程的变化。在程序设计课程中将来也可以引入“慕课”模式,利用现代网络技术,开发针对不同知识点的程序设计教学视频,提供在线测试题、上机练习题,程序阅读题、在线提交与批改实验报告等,通过论坛实现师生之间、学生之间的与交流与互动,通过全方位的教学方式改变教学方法,共同提高教学质量。

(二)翻转教学法

利用视频来实施教学在多年以前人们就进行过探索,当今网络技术发达,计算机教学也可以通过网络向外扩展,如开展网络教学和将教学视频上传网络等,供学生在校外学习。如2006年创立的可汗学院、2009年创立的点对点大学、2010年创立的人人学院等。他们都是与慕课相类似的组织。美国的耶鲁等大学已经开始进行这样的尝试,并且已经获得很好的效果。所谓翻转课堂,就是教师创建视频,学生在家中或课外观看视频中教师的讲解,回到课堂上师生面对面交流和完成作业的这样一种教学形态。“翻转课堂”特点有:第一,教学视频短小精悍,通过网络的视频,具有暂停、回放等多种功能,可以自我控制,有利于学生的自主学习。第二,教学信息清晰明确,把内容集中在屏幕上,配合讲解的画外音。每一个视频都针对一个特定的问题,有较强的针对性,查找起来也比较方便;视频的长度控制在在学生注意力能比较集中的时间范围内,符合学生身心发展特征。第三,重新建构学习流程。老师提供了视频,在课前对学生进行“信息传递”,在课堂上通过互动来完成“吸收内化”,教师在课堂上给予有效的辅导,教师更多的责任是去理解学生的问题和引导学生去运用知识,同学之间的相互交流更有助于促进学生知识的吸收内化过程。第四,复习检测方便快捷,学生观看了教学视频之后,是否理解了学习的内容,视频后面紧跟着的四到五个小问题,可以帮助学生及时进行检测,并对自己的学习情况作出判断。由于程序设计知识点繁杂,概念抽象,视频教学和翻转教学也特别适合程序设计的教学。有效实施翻转教学法的前提是根据教学内容和教学大纲,划分出各个章节的知识点,如if语句、switch语句、for循环语句、while循环语句、数组、函数、指针等,将每个知识及其典型案例用屏幕录像软件录制成10min左右的微视频,上课前提前给学生在课外观看,上课时通过师生互动辅导学生完成上机编程作业,解答学生在编程中遇到的问题。先看录像后讲课,这是“翻转课堂”的教学视频与传统的教学录像最大的不同之处。一个最显著的变化将是,翻转课堂,从以教师为中心真正转变为以学生为中心,这实际上是一种传统与现代的结合体,但其效果远好于传统教学。

五、程序设计教学方法的合理选择与思考

课堂教学中并非独立地应用一种教学方法,而是在不同的教学阶段,根据教学内容,教学对象的不同,选用适合的教学方法进行教学,让学生在“做中学”,使每一位学生收到最好的学习效果。采用讲授法讲解时,还要布置一些课堂或课后练习,避免光听不练,理论与实践脱节。例如介绍完递归函数的思想后,再布置编程题用递归函数实现将十进制整数转换成八、十六进制,这样既使用了编程技术又掌握了数制转换的方法,可谓一举两得。三种基本的程序结构、数组、函数等概念通常是通过案例教学法来讲解,在采用“案例教学”法教学时还要注重知识的脉络,讲清楚知识的结构和教学主线。期末应当布置课程大作业,例如编写学生信息管理系统,让学生将各章的知识融合在一起,体现链表、结构体、文件等章节知识的综合应用。指针是C语言的重点和难点。数组、指针、函数三者又是密切联系的。多种“分散跳跃式”的知识特别适合采用“任务驱动法”,设计一个任务,在解决任务的过程中综合运用数组、指针、函数等,使学生抓住用指针作函数参数,传递数组元素这一教学主线,就可以突破指针这一教学难点。慕课、微课程、翻转课程等在线课程模式,以及线上、线下结合的课程模式无疑将引发“学习的革命”,给高等教育人才培养和教学方式带来深刻变化。程序设计课程如何运用这一模式,改变教学方法,提高教学质量,需要更多的思考和实践。以“慕课”冲击为契机,加快大学教学、管理的根本变革,实现两者的融合才是更好的姿态。计算机技术更新极快,学生的自学能力才是最重要的能力,在程序设计的教学中不能只满足于教会学生编程技能,还要注重创新能力的培养,创新能力本质是提高学生创造性地分析、解决问题的能力。因此教师还要教给学生归纳总结、触类旁通的学习方法。例如,编程语言都有顺序、选择、循环三种基本程序结构,都有数据类型、运算符与表达式、数组、函数等概念;教会学生归纳和总结,在多门编程课程中触类旁通,将会使学生在将来的工作中立于不败之地。

六、结束语

在教学过程中教师要根据教学内容的实际需要采用灵活多样的教学方法,并与企业的实际应用结合,这样才能收到更好的教学效果。同时,教师还可以采用多元化立体教学方式,使得学生在理论、实践、课堂、课外和社会上得到全面体验。教师要注重从知识到技能的转换,加强实践环节的练习,多布置个性化、有创作性的上机作业,启发学生创新性思维,鼓励学生用不同方法解决实际问题,从而达到创新能力和编程实践能力的培养。

课程设计方法篇3

C++具有强大的功能,是目前最流行的面向对象的编程语言,为广大编程者和学习者所青睐。《C++程序设计》课程也已经成为计算机软件技术专业的核心基础课程。

通过《C++程序设计》课程的学习,学生可以掌握C++的基本概念、语法规则,掌握用C++进行程序设计的方法,理解和领会面向对象程序设计的特点和风格,并能使用C++进行编程,初步掌握面向对象编程环境VC++/MFC的使用。

2 教学注意事项

为了实现上述的课程教学目标,一定要结合本课程教学和学生学习的特点,确定合适可行的教学模式,采用多种教学方法,灵活地组织教学,从而完成教学目标的要求。

推行“以学生为主体,教师为主导”的教学理念,在理论教学中注意对学生的启发和引导;采取“项目式教学“的教学模式,以一个个项目作为主线来展开,把相关的知识点溶入到项目的各个环节中去,层层推进项目。在“项目式教学”模式中,授课教师应该掌握一些教学注意事项:

(1) 教师要确定授课内容的难点和重点,并采取不同的讲授方式

在C++的教材中,一般都会有三部分组成:第一部分是C++结构化程序设计语言基本概念和方法(如发展历史、数据类型、流程控制语句、函数等);第二部分是基本数据结构(如数组、链表等);第三部分是面向对象程序设计的概念、方法和技巧(如类和对象、模板、多态性、异常等)。教师要对全书教学内容进行分解,确定出“重点”和“难点”内容,基本的语法知识部分内容弱化,通过案例引导学生自学;对课程的重点内容要重点讲;而难点内容要设计具体项目重点讲。

(2) 在教学中要淡化语法、强调算法

突出面向对象的程序设计思想和方法而不是语法。要尽早引入面向对象的思想,如在第一部分应用到“cin”时,就可以告诉学生“cin”和“cout”就是流对象,而“”就是类的多态性――运算符重载,让学生在不知不觉中学习面向对象的设计方法。

(3) 坚持“授人以渔”,要注意培养学生的学习能力和创新能力

培养学生对学习内容进行总结、归纳的能力;培养学生的阅读程序能力及程序调试能力,以利于学生模仿编程;培养学生分析、理解问题的能力,建立面向对象程序设计的思想、掌握面向对象程序设计的基本方法。

(4)《C++程序设计》离不开实践教学

实践教学强调大量程序设计的训练。通过实践教学,学生可以综合应用所学的理论知识,并真正参与到一个个项目中,通过最终完成的完整案例,熟悉程序编写的整个流程,加深对理论知识的理解,并提高对自己学习效果的自信心。在这个过程中,教师要培养学生良好的编程习惯。

3 教学方法

《C++程序设计》的整个教学过程一般分两个阶段,基础教学阶段和实践教学阶段。在教学过程中,可以采用的有效方法有:

(1) 使用多媒体资源教学

通过多媒体播放事先做好的电子课件,利于学生学习到更多的案例,而且将教师精心设计的很多案例当场运行出来,给学生直接印象,能够加深学生对所学知识的理解。利用多媒体进行教学已经成为现代教学过程中一个非常重要的手段。

(2) 注重实践教学

尽管实践教学一般都是安排在基础教学结束之后集中一到两周进行,并不意味着平时的学习过程中不需要实践。事实上,提高学生编写程序及调试程序的能力,正是在平时的练习中完成的。因此,平时的教学过程中,教师也要注重提高学生的动手能力,理论与实践相结合,提高教学质量,为之后的集中实践教学打好基础。

而在集中实训阶段,教师更要精心设计与实际项目需求相关的实训项目,要注重项目的实用性和综合性,从而更好地提高学习效果,达到教学大纲所要求的目标。

(3) 成立兴趣小组

将一些对本课程内容能够较好学习和应用的同学,按照自愿的原则组织起来成立兴趣小组,对兴趣小组中的同学可以提出更高的要求,通过指导这些学生参与实际项目的开发,或者指导参加一些软件开发竞赛,进一步提高学生的实际动手能力。

(4) 构建《C++程序设计》教学的网络平台

在计算机网络已经得到越来越广泛应用、计算机网络已经走进校园的今天,通过建设教学网站和网络教学资源平台,可以构建一个强有力的教学支持环境,可以提供丰富的教学资源,为学生和教师提供互动教学环境,学生可以在任何时候、任何地点进行互动学习。

(5) 改革考试方式,提高综合能力培养

考试方式的改革,一方面要加大平时学习中的过程考核力度;另一方面,采取开卷+上机的方式,让学生完成一个综合编程项目,使学生脱离死读书,更注重提高独立分析问题、解决问题和编程的能力。

4 结束语

课程设计方法篇4

(江苏建筑职业技术学院 江苏 徐州 221116)

摘要:C++语言是近年来应用较为广泛的一种现代编译型语言,目前“C++程序设计”在众多院校作为专业必修课开设。为使该课程取得良好的教学效果,应对此课程的教学进行以下探索:使用理实一体化教室、根据学生入学时的基础进行因材施教分班教学、启发式教学、大赛引导小赛常态化、网络课程平台的应用以及合作学习公司化管理。这些方法在实际应用中都取得了良好的教学效果。

关键词 :C++程序设计;教学方法;启发式教学;理实一体化教学;分层教学

中图分类号:G712 文献标识码:A 文章编号:1672-5727(2014)01-0119-03

“C++程序设计”是计算机专业大类的专业基础课程,旨在使学生掌握语言的基本语法、基本语句、基本控制结构以及面向过程的设计和面向对象的程序设计的基本方法,能够熟练地使用C++语言进行程序设计并具备调试程序的能力,培养学生熟练使用C++语言编程分析和解决实际问题的能力。回顾过去几年,我院“C++程序设计”课程教学逐步发展。一方面,成立了C++教学团队,师资队伍得到优化;另一方面,建立了网络课程,试题库已经十分丰富。学院领导支持对实验室进行改进,也支持教师外出培训学习。为进一步提高“C++程序设计”课程的教学质量,我们结合以往教学中存在的问题对“C++程序设计”的教学方法进行了深入分析和研究。

“C++程序设计”教学存在的问题

重理论,轻实践 最初沿用学科教学模式,过多强调语言语法知识点,知识点比较枯燥、琐碎,学生觉得难学、不感兴趣。上机操作时,由于基本概念和语言规则没有掌握好,学生自己编制的程序在调试过程中会出现各种各样的错误,他们看不懂英文错误提示,不会排除错误,碰到障碍容易退缩。

理论与实践脱节 以往本课程的设置往往是一周4节课,包括2节理论课和2节实验课,二者分开教学。教师讲两节理论课后学生有了初步印象,但等到上实验课的时候好多知识点就忘掉了,没有达到很好的教学效果。

重讲解轻互动 新生入学后,各种社团组织活动繁多,导致学生学习投入时间不足。在预习、上课、复习这三个学习环节上,学生往往缺少预习和复习两个环节,学习就是上课。这就难以形成良好的互动,导致上课成了教师的讲解,学生成了被动的接受者,教师成了教学的主体。

忽视个体差异性 由于学院招生的多样化,生源水平差参不齐。在教学时,如果教师忽视学生的个体差异性,不区别对待,就会导致教学进度缓慢,尤其是难以兼顾基础比较好的学生,无法使这些“吃不饱”的学生得到快速进步。

教学方法研究

带着上述问题,在教学过程中,我们改进了教学方法,注重激发学生的学习兴趣,培养学生的程序设计能力,使学生打下坚实的专业基础。

理实一体化教学 打破传统的“先讲理论后进行实验”的教学模式,寻找适合高职学生的教学方法和教学模式。学院对“C++程序设计”理论课部分采用多媒体教室教学,其他学时直接安排在理实一体化教室进行。理实一体化教学强调理论的讲授以“必需、够用”为度,强调“实用、适度”,采用这种教学方法能够把抽象而枯燥的理论知识科学、有效地转化到生动而有趣的实践过程中去,在实践中加以验证,使学生从实践中得到感性认识,并将感性认识自觉地上升为理性认识,进而提高学生的思维能力,锻炼学生的动手能力,使整个教学过程收到事半功倍的效果。比如,学生认为难以掌握的循环语句,如果采用一次理论一次实验课的方式来讲授,学生上课的时候可能听不到某个知识点,做实验的时候就会无所适从,很被动,学习效果大打折扣。如果布置一个联系实际的题目让学生练习,学生在课堂上就能把该学习的内容学会了,然后可以加大难度,引入学生成绩输入的循环、学生成绩输出的循环等题目。在理实一体化教室里学习能有效地将课堂与实践结合起来,让学生直接在课堂上学到日后就业所必需的程序设计能力,变被动学习为主动参与,从而调动学生学习的积极性与主动性,增强学生的实践能力,符合学生学习的规律,也符合高职教育的规律。在课程教学中引入一体化教学,改变传统的“理论—实验—理论”的教学方式对提高教学效果,增强学生的实践操作技能都具有积极意义。

分层教学,因材施教 我院计算机专业大类的生源有普通高中的、职业高中的,也有边远地区和经济落后地区的。普通高中生源普遍没有计算机语言基础;边远地区和经济落后地区生源的基础更差一些。职业高中生源存在两极分化现象,有的有C语言基础且基础很不错,有的则不会写最基本的循环判断语句并有恐惧心理,认为自己学不好计算机语言。针对学生基础差异比较大的实际情况,结合学生的自愿选择,我们打破原有的班级划分,对“C++程序设计”课程进行分层教学。分层教学主要是讲授分层,遵循由浅入深、由易到难的原则,指导和要求学生找到“最近发展区”,使每个层次的学生都能按时完成学习目标,激发所有学生进一步学习和探索的欲望。但是最终目标不能分层,就业岗位对每个从业者的要求都是平等的。因此,我们的分层教学是在一年级第一学期实行。普通高中生源普遍学习能力很强,不存在心理障碍,学习进度也比较容易把握;对职业高中生源不仅要加强辅导,更要帮助他们克服心理障碍。在一年级的第二学期对所有学生按传统方式分班进行正常教学。通过这种分层教学的方式,把学生的需求和发展放在首位,用不同的教学方式方法促使全体学生发展,有效地调动了学生学习的积极性,帮助部分学生克服了学习心理障碍,让学生成为了学习的主人,感受到了学习的进步,体验到了学习的快乐。

启发式教学 在学习的过程中要注重对学生进行启发诱导,强调学生在教育过程中的主体地位。在整个“C++程序设计”课程教学过程中,我们都注重启发学生学习,要求学生对一个问题至少提出三种不同的解法。比如,在学习完数组、函数、结构体后带领学生做出“学生成绩管理系统”,要求学生举一反三,独立开发譬如“班级班费收支管理系统”、“个人财务小管家”等和学生生活密切相关的软件,并能够对自己开发的软件进行分析,提出优缺点以进一步改进。前苏联教育学家苏霍姆林斯基说“只有教师思考的大脑才能教会学生大脑的思考”,启发式教学不是提几个问题让学生回答,而是要精心设计能让学自己提出问题并加以思考,如果学生没有问题则说明学生没有积极思考,就是教学的失败。

大赛引导教学,小赛常态化 工信部举办的蓝桥杯软件大赛,江苏省举办的ACM大赛、计算机技能大赛,我院计算机相关专业每年都组队积极参加。2012年,蓝桥杯软件大赛我院有多名学生获得二等奖和优秀奖。历年的大赛题目,都是大赛组委会进行调查、分析,在听取行业专家对职业岗位的要求基础上充分论证而设置的。因此,每次大赛后学院都会组织教师深入研讨试题及评分细则,并把大赛题目分解成知识点对应到教学中,用大赛引导教学标准。由于计算机软件大赛的项目范围广,难度大,学生不仅需要本专业全面的理论知识,还需要较强的实践操作能力。在教学相长的教学原理下,这种大赛提高了教师和学生的水平。为了提高学生学习的积极主动性,学院每年都进行院级软件大赛,每学年第一学期末针对新生举办ACM程序设计大赛,每学年第二学期进行全校的ACM程序设计大赛,目前已经连续举办了4次,实现了大赛引导教学和小赛常态化。

网络课程平台的应用 现代大学教育越来越提倡以“学生为主体”的教学理念,但是,由于时间限制,大学课堂不可能提供很多时间用于讨论和交流。网络课程则能弥补这方面的不足。首先,所有教学资料都可以呈现在网络课程中;其次,在网络课程的学习中,学生是学习的主导。网络课程不受时间和空间的限制,学生可以根据自己的兴趣在任何时间和任何地点安排自己的学习,教师则是知识的导航者。随着网络技术的发展,网络课程的交互性也越来越强,网络课程上有学生的提问、有学生的作品、有往年考试题库、有历年学生获奖信息,构建了一个很好的交流与学习氛围。即使教师不在线,学生仍可以从以往的提问和回答中或者在线同学那里获得帮助。为开阔学生视野,进一步提高学生的学习兴趣,可将编程中的一些经典算法和典型应用放在网络课程中,供学生平时学习和参考。

软件工作室 “独学而无友,则孤陋而寡闻”,指的是要和兴趣相投的朋友一起学习,通过交流才能进步,也就是要合作学习。合作学习是指学生在小组或团队中为了完成共同的目标与任务,有明确责任分工的互助性学习。学院富有实践经验的骨干教师成立了工作室,工作室采用项目经理负责制度,按照公司化方式进行严格管理,具体环节包括纳新、管理、项目化运作。纳新在第一学期中期采用招聘方式,要求进入工作室的学生在某个方向具有浓厚兴趣或特长,品性良好,具有良好的沟通能力,能吃苦。这对一年级的学生非常具有吸引力,学生以进入工作室为荣。C++是基础课程,无论是嵌入式开发、桌面系统开发,还是虚拟现实开发都以此为基础,要求学生学好这门课程。在工作室里,品德高尚、具备丰富工程实践背景、专业业务能力强的教师对学生的思想、思维方式、行为方式以及职业素质都有重要影响。榜样的作用是无穷的,进入工作室的学生在指导教师的带领和学长的帮助下,在干中学,学中干,进步非常快,这些学生在班级教学中又起到了良好的带头作用,形成了良性循环。

教学方法的实施

为了将上述教学方法较好地运用到“C++程序设计”教学实践中,应将教学内容、教学方法、课堂教学及教学反馈有机结合,如图1所示。首先,按照大赛引领的导向制定课程教学标准,然后依据学生的情况安排教学内容;其次,以教学内容为依托,选取教学方法,进行教学设计;然后,将选取的教学方法灵活地运用到课堂教学实践中去;最后,通过教学反馈及时改进和调整教学方法,甚至调整教学内容以达到教学的目的。

这里特别要注意的一个环节就是教学反馈。有效的教学反馈应该表现出应有的适时性,就是要根据不同教学活动及教学任务的需要,以及学与教的具体情况,在适当的时候提供恰当的反馈信息。由于教学课时的限制,为了追求教学进度,有些教师不注意学生的反映,进入教室以后一讲到底,这种情况要绝对避免。教师在授课过程中不能只顾自己讲得痛快不顾学生的感受,而应该具有强烈的反馈意识,一旦发现学生的注意力不集中、听课吃力、笔记记不下来,对教师的提问感到不知所措,就要及时调整教学方法,引导学生积极参与进来。没有反馈的教学是失败的教学。如今网络资源非常丰富,网络课程中的学习资料应有尽有,教师要把注意力放在引导学生的学习兴趣上,让学生由被动变为主动,让“被动学”变成“我愿学”。教学中的信息反馈实质上是信息双向传递的过程,通过这样的过程,教师可以发现教学中的得与失,并以反馈信息为基础,及时调整教学计划,调控教学程序,改变教学方法,控制教学的进度,从而更为有效地调控教学过程,朝着教学目标推进,最终实现教学质量的提高。

通过将理实一体化教学、大赛引领小赛常态、分层教学、启发式教学、网络课程、软件工作室公司化管理等多种教学方法应用到我院连续三届学生当中,已经取得了很好的教学效果,学生的整体水平从他们的作品中就可以体现出来。基本在“C++程序设计”这门课上到一半的时候,已经有三分之一的学生上实验课时不需要教师给程序代码了,自己可以独立编写程序代码,并有自己的思路,编写的程序代码也非常简洁。充足的自信心对学生后续课程的学习是非常必要的。今后我们将继续在教学方法上进行探索,以期取得更好的教学效果。

参考文献:

[1]湛永松.《C++语言程序设计》课程教学改革探讨[J].科技资讯,2009(31):208.

[2]包雅伟.儒家思想与高校辅导员工作创新[J].江苏高教,2012(6):143-144.

[3]吴斌.基于工作室平台的高职学生职业素质培养[J].职教论坛,2006(3):44-45.

[4]赵欣.计算机网络课程教学方法研究[J].大连大学学报,2012(12):149-152.

[5]霍吉.网络课程的利弊与网络课程的建设[J].价值工程,2010(8):153.

[6]王春玲.“C++程序设计”课程实践教学改革的探讨[J].计算机教育,2007(24):3-4.

课程设计方法篇5

摘要:本文针对“程序设计基础”课程介绍了以在线实践为导向的教学思路,并对其中的函数设计教学,提出了新颖的教学过程:承上启下、因势利导地引入函数的概念和作用;循序渐进地讲解函数的设计方法;以及通过递归函数设计来提高学生对函数功能的理解和对函数设计技巧的掌握。

关键词:程序设计基础;在线实践导向;函数设计;递归函数;教学

中图分类号:G642

文献标识码:B

1引言

在文献[1]中,作者针对“程序设计基础”课程提出了以在线实践为导向的教学思路,其主要思想为:以学科竞赛为驱动、以在线实践为导向、以课程设计进行强化。这种教学思路以程序设计思想和方法的培养为主,以程序设计语言教学为辅。

我们在教学中以ACM/ICPC程序设计竞赛为驱动,激发学生的学习兴趣和竞争意识,培养学生的主动思维能力。另外,我们在课程的教学中根据教学的需要选取国内外著名OJ(Online Judge,在线评判)网站上的试题作为例题和练习题,以培养学生独立分析问题、解决问题的能力,以及分组讨论、团队协作、文档组织等能力。在课程的最后阶段,我们通过课程设计强化学生的学习效果。

为了适应以在线实践为导向的教学思路,在文献[1]中,我们重新设计了“程序设计基础”课程的理论教学内容和实践教学内容。其中理论教学内容的设置和课时安排如表1所示。

从表1可以看出,理论教学内容安排的思路是:先用尽可能少的时间讲解编写一个C/C++程序所需的最小语法知识集,然后讲解常用的程序设计思想和方法;最后是课程设计。

函数设计的教学是“程序设计基础”课程的一个重点内容。本文针对这部分内容的教学,提出了新颖的教学过程。在以往的教学中,函数设计一般是放在程序控制结构、数组等内容之后,前后教学内容的设置并没有直接联系,使得学生难以理解函数的概念、功能和设计方法。

我们在教学中采取新颖的方法和过程自然地引入数

学函数的使用、循序渐进地介绍函数的设计方法、以及通过递归函数设计来提高学生对函数功能的理解和对函数设计技巧的掌握。

教改课题项目:浙江财经学院2008年教学科研重大课题《以学科竞赛为驱动和以在线实践为导向的程序设计课程教学改革》(课题编号:JK200812)。

作者简介:王桂平(1979-),男,江西省安福县人,讲师,在读博士,浙江财经学院信息学院教师。主要研究方向:算法分析与设计,图像处理与模式识别。

2承上启下、因势利导地引入函数

学生对知识点的理解需要一个过程,而且这个过程越自然越利于学生接受知识点。所以我们在教学过程中尽早地引入函数的概念,自然地过渡到函数设计。

2.1从数学函数的使用入手

我们所设计的第1部分教学内容是以数值型数据的处理为线索,以简单数学计算或数学应用题目为例子来讲解C/C++语言语法知识,如报数游戏、闰年的判断、求三角形面积、素数和完数的判断、Fibonacci数列各项递推、迭代法求平方根等等。以这些数学应用为例讲解语言语法,学生更容易接受,因为这些数学应用问题学生已经在高等数学甚至初等数学中就已经学过了,现在只是用编写程序的方法去求解。

在进行数据处理时,经常要进行一定的运算,才能得到结果,运算是通过运算符和表达式来实现的。所以我们在介绍完C/C++语言中的数据(变量和常量)后,就自然地过渡到运算符和表达式了。

在进行数据处理时,仅有运算符和表达式往往是不够的,经常还需要使用到数学函数。因此,我们在介绍完运算符和表达式后,紧接着就向学生介绍数学函数的使用。

尽管这时学生对函数的概念和功能还一知半解,一开始也不能正确地使用数学函数,但我们认为从数学函数的使用入手,能较早地让学生接触到函数的使用,也能让学生更自然地接受函数的概念。特别是学生在学初等数学时,已经具备了数学上函数、函数的自变量、函数值等概念,这些概念有助于学生初步理解程序设计语言中的函数、函数参数、函数返回值等概念。

例如,要对2.5开3次方根,即要求2.51/3。老师向学生介绍了数学函数pow的原型后,学生一开始可能将pow函数的调用错误地写成如下的形式:

double x = 2.5, y = 1.0/3, z;

z = double pow( x, y );

z = double pow( double x, double y );

等等。导致这些错误的原因是学生还没有函数原型的概念,老师只要将这些错误的调用形式纠正过一两次,学生就能举一反三,正确地使用数学函数。

2.2从二重循环过渡到函数设计

我们在“算法及控制结构”这一节内容的教学中,是以二重循环的使用作为结尾的,如输出100~200之内的所有素数、输出6~10000之间的完数等等。这些程序的main函数代码比较长,这样,当我们在讲解函数时,就很自然地引入函数对main函数的功能进行分解。

例如,要输出100~200之内的素数,可以用一个2重循环实现。但如果有一个函数prime,能够实现判断一个正整数m是否为素数。其调用形式是:prime(m)。调用该函数后返回值如果为1,则m为素数;如果为0,则m为合数。因此我们只需要用如下的代码就可以输出100~200之内的所有素数:

for( int m =100; m

{

if( prime(m) )

printf( "%d\n", m );

}

在这个例子中,我们把“输出100~200之内所有素数”的功能需求进行分解,把“判断一个整数是否为素数”的功能用prime函数去实现。这就是函数的功能所在。

通过这样的讲解,学生能较自然地理解函数的功能,也更容易接受函数的概念。

3循序渐进地讲解函数设计(基础篇)

从二重循环过渡到函数的功能和概念后,我们采取以下教学方法,使得学生能在较短的时间里掌握函数的设计方法。

3.1循序渐进,步步深入

在讲解函数的定义和调用时,对其中的知识点,我们采取以下顺序进行讲解:函数的定义、函数的参数、函数的返回值、函数的调用。

我们认为,按照这样的顺序进行讲解是合理的,因为学生已经掌握了数学函数的使用,已经能初步理解函数的相关概念了,我们按照这样的顺序讲解可以循序渐进地进入到自定义函数的定义和调用上。在这个过程中,我们将教学的重点放在函数形参、实参和函数返回值上。

3.2切中要害,见招拆招

很多初学者对函数比较头疼,不知道该如何设计函数。具体体现在:

(1) 不知道函数是否有参数,有几个参数,是否有返回值,随意地设置函数的参数和返回值。

(2) 不明确函数要处理的数据是哪些,不明白函数形参的作用是什么,形参的值是在什么时候被“赋予”的。初学者经常在函数里通过输入语句给形参输入数据。例如,初学者可能在定义上述prime函数时输入数据到形参x中:

int prime( int x )

{

printf( "%d", &x );

}

对于第1个问题,我们的解释是:程序设计者希望采用怎样的形式去调用函数,这种函数调用形式里有几个参数,分别是什么类型,是以此来确定函数的形参个数和类型;程序设计者希望函数执行以后是否得到一个结果,这个结果是什么类型的,是什么含义,是否需要返回到主调函数中,以此来确定函数的返回值及其类型、含义等。

对于第2个问题,我们的解释是:函数形参是在函数调用时,通过实参与形参之间的数据传递,从而“被赋予”了值。只要没有函数调用发生,就不会给形参分配存储空间;当函数调用发生时,为形参分配存储空间,并把实参的值赋值给形参。

对于上述解释,我们以前面讲过的二重循环例子来进一步阐述。即输出100~200之内所有素数,要求:1)定义一个函数prime,用于判断x是否为素数,如果为素数,返回1,否则返回0;2)在主函数中调用prime函数,用于判断100~200之间的每个数是否为素数。

根据题目的意思,主调函数中调用prime函数的形式是prime(199),即判断199是否为素数,如果为素数则返回1,否则返回0。因此,prime函数的原型为:

int prime( int x );

另外,在prime函数里,是要判断形参x是否为素数,这个x的值不是在prime函数里通过输入语句输进去的,也不是采用赋值的方式“赋予”给它的,而是在主调函数中调用prime函数时,如prime(199),把实参199的值传递给形参x的,因此这时执行prime函数,形参x的值就是199,调用prime函数就是要判断199是否为素数。

讲解并演示这些过程后,我们在课堂上可以通过一些练习题进一步考查学生对利用函数进行功能分解、函数设计、函数调用的理解。

3.3精选例题,事半功倍

我们所设计的第1部分教学内容是以数值型数据的处理为线索,以简单数学计算或数学应用题为例子来讲解的,函数的设计也不例外。例如,我们通过以下例子来讲解函数的嵌套调用。

抛物线y = x2/(2*p)绕它的对称轴x = 0旋转所成的曲面就是旋转抛物面。放在焦点F(0, p/2)处的光源所发出的光,经过抛物面各点反射之后就成为平行光束,如图1。可以利用这一性质制造需要发射平行光的灯具,例如:探照灯,汽车的车前灯等。请编写程序验证这个性质。

题目的意思是,如图1所示,从焦点F发射的任意光线,比如图中的两条光线L和L',经过抛物面反射后,反射光线R和R'都平行y轴。

要证明反射光线R平行y轴,只要证明∠1 = ∠3,而∠1和∠2是相等的,所以只要证明∠2=∠3即可,即只要证明FC = FT,这里点C是光线L与抛物线的交点,点T是抛物线在C点的切线与y轴的交点。

以下编写程序,实现:任意给定抛物线参数p和发射光线斜率k,输出线段FC和FT的长度。

在本题中,我们设计以下3个函数来实现程序的全部功能:

(1) main函数:在main函数中输入抛物线参数p和直线参数k,接下来所有工作都是通过调用solve函数实现的。

(2) solve函数:求交点C和交点F的坐标,并调用length函数求线段FC和FT的长度并输出。solve函数有两个形参,即抛物线参数p和直线参数k,没有返回值。solve函数的原型为:

void solve(double p, double k);

(3) length函数:求平面上两点(x1,y1)和(x2,y2)的距离,即连接这两点的线段的长度。该函数有4个形参,为这两个点的坐标;返回值为求的线段长度。length函数的原型为:

double length( double x1, double y1,

double x2, double y2 );

通过这道题目的讲解,学生在求解比较复杂的数学应用题时,能根据需要对程序的功能进行分解并用不同的函数实现。

4递归函数设计(提高篇)

在以前的教学中,函数设计通常需要2~3周才能讲完。而在目前的教学中,我们将函数重载、有默认参数的函数等内容剔除掉后,学生能够在1周(3个理论课时+2个实验课时)的教学中初步掌握函数的设计方法。在后续章节的教学中,我们列举的很多例题也需要通过设计函数来实现,所以在后续的教学中一直在进一步加强学生对函数设计方法的掌握。另外,我们将递归函数的设计放在“递归与搜索”这一章当中来讲解,作为函数设计的提高阶段。

递归是很多算法的基础,如搜索、分治等,也是课程的一个难点。学生在掌握了一般函数的设计方法后,在利用递归思想进行搜索求解时需要注意以下两个问题:

(1) 如何设计递归函数递归函数的设计主要面临以下几个问题:

① 需要将什么信息传递给下一层递归调用?――由此确定递归函数有几个参数,各参数含义是什么。

② 每一层递归函数调用后会得到一个怎样的结果?这个结果是否需要返回到上一层?――由此确定递归函数的返回值,及返回值的含义。

③ 在每一层递归函数的执行过程中,在什么情形下需要递归调用下一层?以及递归前该做什么准备工作?递归返回后该做什么恢复工作?――由此确定递归函数中递归调用的细节。

④ 递归函数执行到什么程度就可以不再需要递归调用下去了?――应该在适当的时候终止递归函数的继续递归调用,也就是要确定递归的终止条件。

(2) 如何调用递归函数进行求解

调用递归函数进行求解:在main函数(或其他函数)中应该采取怎样的形式调用递归函数?也就是从怎样的初始状态出发进行搜索,通常也就是确定实参的值。

我们在教学中以一些经典的竞赛题目为例来阐述上述方法,如有这样一道例题:有17种硬币,硬币的面值是平方数12, 22, 32, …, 172,即1, 4, 9, …, 289。问要支付一定额的货币,有多少种支付方法。

例如,若要支付总额为10的货币,则有四种方法:10个面值为1的货币;1个面值为4的货币和6个面值为1的货币;2个面值为4的货币和2个面值为1的货币;1个面值为9的货币和1个面值为1的货币。

在本题中,为避免求得重复的支付方案,我们需要按硬币面值从小到大的顺序依次选用合适的硬币,如果当前选用的硬币面值总额小于需要支付的货币总额n,则继续选用;如果等于,则我们找到一种方案,不再考虑其他货币,而是继续下一个方案的选择;如果大于,则放弃该方案,继续下一个方案的选择。

我们设计一个递归函数build来求货币总额n的支付方案数,build函数的设计思路是:

确定build函数的参数:需要支付的货币金额、现已求得的支付方案数、当前选用的硬币面值总额、当前最后选用的硬币是第几种硬币这些信息需要传递到下一层递归调用。因此确定build函数有4个参数:n、count、sum、j,分别对应上述4种信息。

确定build函数的返回值:每次build递归调用结束后,求得的是当前找到的方案数,最上层的build函数执行完后,得到的结果是最终找到的方案数,因此build有返回值,为int型。

确定在什么情况下要递归调用下一层build函数:分别考虑第i种货币(i取值为j、j+1、…、17),如果选用该种货币(sum的值增加i*i)后,sum仍小于n,则递归调用build函数:build( n, count, sum, i);从该递归调用返回后,sum的值要减去i*i,

表示弃用第i种货币,继续考察下一种货币。

确定build函数的终止条件:如果当前选用硬币面值总额sum等于或大于n时,不再递归调用下去,其中前一种情形还需将count的值加1,表示找到一种支付方案。

根据上述分析,设计的build函数如下:

int build(int n, int count, int sum,int j)

{

int i; //循环变量

for( i=1; i

{

if( i

sum += i*i; //选用面值为i*i的硬币

//找到一种支付方案

if( sum==n )return ++count;

//超出了支付总额,不再搜索

if( sum>n )return count;

//没超出则递归调用build函数继续搜索

count = build( n, count, sum, i );

sum -= i*i; //弃用面值为i*i的硬币

}

return count;

}

build函数设计好以后,在主函数中,只要采取以下语句调用build函数就可以求得货币总额n的支付方案数count:

count = build( n, 0, 0, 0 );

4个实参的值代表问题的初始状态:需支付的货币总额为n、现已求得的支付方案数为0、当前选用的硬币面值总额为0、当前最后选用的硬币是第0种硬币。

通过这些搜索题目的讲解,学生能在理解搜索思想的同时掌握递归函数的设计技巧,从而进一步提高函数设计能力。

5结束语

函数设计是“程序设计基础”课程的一个重点,也是学生普遍感到难以掌握的一个知识点。本文在以在线实践为导向的教学思路基础上,详细的介绍了我们在函数设计教学中采取的教学方法和过程,这些方法和过程都是以在线实践为导向的教学思路的具体体现。

参考文献:

[1] 王桂平,冯睿. 以在线实践为导向的程序设计课程教学新思路[J]. 计算机教育,2008(22):100-102.

[2] 方红琴. 点面结合突破C程序设计函数教学中的重难点[J]. 计算机教育,2008(22):130-131.

[3] 谢伟增,李瑾. C语言程序设计中的重点:函数与指针[J]. 河南广播电视大学学报,2003,16(4):65-66.

课程设计方法篇6

关键词:单片机 计数器 i/o接口

1 概述

本次课程设计通过独立完成单片机外部接线设计和编写程序的任务,加深了自己对理论知识的理解,提高了动手能力,独立分析问题、解决问题能力,协调能力和创造性思维能力。提高了单片机应用方面的实践技能,树立了严谨的科学作风。通过电路和程序的设计、安装、调试、整理资料等环节,初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法。通过课程设计要实现以下两个目标:第一,让学生初步掌握单片机的试验、设计方法。即学生根据设计要求和性能参数,查阅文献资料,收集、分析类似电路的性能,并通过组装调试等实践活动,使电路达到性能指标;第二,课程设计为后续的毕业设计打好基础。通过实验训练,掌握单片机应用的基本操作方法,为今后从事相关工作打下扎实的基础,在此过程中培养从事设计工作的整体观念。

2 单片机介绍

单片机是一种集成电路芯片。它采用超大规模技术将具有数据处理能力的微处理器(cpu)、存储器(含程序存储器rom和数据存储器ram)、输入、输出接口电路(i/o接口)集成在同一块芯片上,构成一个即小巧又很完善的计算机硬件系统,在单片机程序的控制下能准确、迅速、高效地完成程序设计者事先规定的任务。所以说,一片单片机芯片就具有了组成计算机的全部功能。

由此来看,单片机有着一般微处理器(cpu)芯片所不具备的功能,它可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。

3 软件介绍

3.1 proteus软件介绍 proteus isis是英国labcenter公司开发的电路分析与实物仿真软件。它运行于windows操作系统上,可以仿真、分析(spice)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和spice电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其电路组成的系统的仿真、rs232动态仿真、i2c调试器、spi调试器、键盘和lcd系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各种芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如keil c51 uvision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单片机和spice分析于一身的仿真软件,功能极其强大。本章介绍proteus isis软件的工作环境和一些基本操作。

3.2 keilc软件介绍 keil c51 μvision2集成开发环境是keil software,inc/keil elektronik gmbh开发的基于80c51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程尤其是c编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。

4 设计方案

4.1 设计目的 设计包括确定控制任务、系统总体方案设计、硬件系统设计、控制软件的设计等,以便使学生掌握单片机系统设计的总体思路和方法。

4.2 设计内容 利用单片机制作一个手动计数器,在单片机的p3.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的p2.0-p2.7接一个共阴数码管,作为00-99计数的个位显示,用单片机的p0.0-0.7接一个共阴数码管,作为00-99计数的十位显示。

4.3 设计工作任务及工作量的要求 ①根据题目要求的指标,通过查阅有关资料,确定系统设计方案,并设计其硬件电路

图。②画出电路方框图,叙述主要模块的功能及他们之间的控制关系和数据传输。③用protel等软件绘制电路原理图。希望通过proteus等仿真软件仿真通过。④软件设计包括流程图、并用汇编语言对软件进行编译,并能通过调试。

4.4 系统板上硬件连线 ①把“单片机系统”区域中的p0.0/ad0-p0.7/ad7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:p0.0/ad0对应着a,p0.1/ad1对应着b,……,p0.7/ad7对应着h。②把“单片机系统”区域中的p2.0/a8-p2.7/a15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个数码管的a-h端口上;③把“单片机系统”区域中的p3.7/rd端口用导线连接到“独立式键盘”区域中的sp1端口上。

4.5 程序设计内容 ①单片机对按键的识别过程处理;②单片机对正确识别的按键进行计数,计数满时,又从零开始计数;③单片机对计的数值要进行数码显示,计得的数是十进数,含有十位和个位,我们要把十位和个位拆开分别送出这样的十位和个位数值到对应的数码管上显示。如何拆开十位和个位我们可以把所计得的数值对10求余,即可得到个位数字,对10整除,即可得到十位数字了。④通过查表方式,分别显示出个位和十位数字。⑤程序框图。

4.6 电路图

4.7 仿真结果

参考文献:

课程设计方法篇7

关键词:荷载 结构设计 课程教学 教学方法 设计规范

作为土木工程专业学生进行工程结构设计时必须掌握的一门专业基础课程,基于荷载与结构设计方法课程旨在要求学生通过对本课程的学习,掌握在工程结构设计时考虑荷载、荷载产生的背景、荷载计算方法以及结构设计所采用的设计原理,以便于为后续深入学习《混凝土结构设计原理》、《混凝土结构与砌体结构》、《钢结构》等课程和相关课程设计、毕业设计奠定基础。

一、课程的基本要求及主要内容

鉴于荷载与结构设计方法课程是土木类专业的工程结构设计方面的基础教学课程,以专业基础核心课的地位,要求学生完成掌握工程结构可能承受的各种主要荷载、工程结构设计中可采用的设计背景的教学目的和任务[1]。学生通过学习本课程来掌握工程结构设计时考虑的荷载因素、产生背景、荷载计算方法;并掌握工程结构可靠度设计原理和方法,包括荷载和抗力的统计分析、结构可靠度基本原理、结构概论可靠度设计方法等。

1、 掌握各种重要作用的定义、工程计算背景、原理和方法。

2、 通过学习掌握影响结构抗力的各种不定性因素及其统计参数的确定方法;各种荷载的概率分析模型和设计时所采用的代表值种类和确定方法,以及多种荷载同时出现时的荷载效应组合;结构可靠度的基本原理和基本分析方法,以及概率可靠度设计时的基本表达式,使学生掌握我国现行工程结构的基于可靠度理论的极限状态设计方法。

3、 以《荷载结构设计规范》GB50009-2012和教材为基础,详细透彻讲解理论内容,其中,各种重要作用的定义、工程计算背景、原理和方法,荷载统计分析中各种荷载代表值的意义和用途,结构抗力统计分析中各种不定性的含义与原因,以及结构可靠度的基本原理和基本分析方法为教学重点。

4、 拓宽知识面,以《荷载结构设计规范》GB50009-2012为基础,与实际工程相结合。

二、课程存在的主要问题

荷载与结构设计方法课程是一门承上启下的重要课程,在先修课程《概率论与数理统计》、《材料力学》《工程材料》等课程以及后续课程《混凝土结构》、《钢结构》之中起着非常重要的衔接作用,但目前依旧存在许多亟待解决的问题[2]。

(一)重视程度不足:学时较少,容易混淆

本课程分为两大部分,即工程结构荷载和可靠度设计方法。但由于只有16理论课时,并且,由于工程结构荷载形式多样,学生容易产生混乱;可靠度设计方法部分概念抽象,学生较难理解和掌握,另外,理论性工程概念的教学方式较为传统,也极容易导致学生感到枯燥乏味,学习兴趣丧失,自主学习的能力削弱。

(二)课程难度较大:理论抽象,计算复杂

本课程是一门理论与计算为主导的结构可靠理论,又设立在学生尚未接触钢结构、钢筋混凝土结构原理等结构课之前,并且需要有较为扎实的数学基础,课程难度较大。要求学生仅仅只掌握一次二阶矩方法也倍感吃力,再加上公式推导复杂、计算步骤较多,会引起学生对该课程产生畏惧,慢慢丧失学好该课程的自信心。

(三)忽视行业规范:基本素养欠缺

前文已经提到,目前,荷载与结构设计方法课程应对《荷载与结构设计规范》GB50009-2012作全面正确的解读,由于工程面临问题的变化以及技术、经济条件的发展,《荷载与结构设计规范》也要随之被修订和调整。所以学好这门课程的关键在于,紧密结合现行《荷载与结构设计规范》GB50009-2012内容,了解修订原则和重点,对修订、增加的内容加强注意,学生才能在以后的工作中具有土木工程专业技术人员的基本素养,若教学时不能做到与现行设计规范相联系,学生自身缺乏自主学习的能力,不能定时去查阅了解相关行业规范,致使教学内容相对工程实际滞后。

三、构建有效的教学体系

通过对上述问题的分析,本文将提出以下几点解决措施。

1、重视理论阐述,激发学生学习兴趣

兴趣是最好的老师,大学生本身已经具备对自身负责的自主学习责任感,因此在实际教学中过度的去迎合学生反而不是一件值得推崇的事情,针对于大学生这一特殊群体,首先要将大学生看作一个能对自己负责的成年体,在教学前期与辅导员进行合作,为学生进行一次职业规划测试,让学生在职业规划测试中明白自身未来发展和职业发展,制定起近期和长远目标,以此来激励自身主动学习。当然,在实际教学过程中,教师也要适时采取多样化的教学方式,尽可能地借助多媒体资源帮助学生认识了解相关理论知识,讲解深入浅出、重难点突出,帮助学生抓住要领学习;同时,定时邀请一些已经工作的学长学姐来传授学习经验,这也能很好地激起学生的学习兴趣,激励着学生不断地向目标努力奋斗。

2、优化学业评价方法

对于基础理论性较强的课程,传统的学业考核方式大多为卷面成绩一种方式,但现在普遍推行的对学生进行全面综合考评方式,因此也应将学业考核进行结构优化,将其分为课堂表现、卷面成绩两类,如在平时可以建立起小组教学模式,在课堂上让小组成员来讲授课程内容,每个小组按照自己的想法来进行创意教学,其他小组对其教学效果进行评价和打分,最后各小组的得分按照一定比例归入综合评分中;此外,对于课堂上表现突出的学生,也应当适当给予加分待遇。

3、做到课程教学和学习与现行设计规范相联系

由于全球气候变化,极端天气与灾害如风灾频发;全球恐怖活动升级以及现代化设施及交通工具普及和猛增,住房和城乡建设部在2012年5月28日第1405号公告中批准了《建筑结构荷载规范》GB50009-2012,规定该规范从2012.10.1开始实施。在《荷载与结构设计规范》GB50009-2012 中:为了应对自然灾害频发和全球气候变化,补充了关于雪、风和温度的基本气象数据;针对活荷载增加了设计使用年限调整系数,适当提高了结构的安全度;增加了温度作用和偶然荷载,完善了标准体系,满足了特殊结构或特殊使用环境下的设计所需;从风剖面、体形系数以及风振响应计算等方面全方位统筹考虑了风荷载的修订,并且补充了高层、大跨等结构的抗风研究新成果。教学时应结合《建筑结构荷载规范》GB50009-2012和教材,理论与实践相联系。

结束语:

基于荷载与结构设计方法课程现阶段虽然存在着些许问题,但其作为理论奠定的重要衔接点,就需要在实际教学中对其给予足够的重视,教师要明白其与其它学科相结合的重要特性,注意其所具有的数学、力学方面的知识,教学时要将这些知识体系相互融合贯通,努力为学生营造出一个良好的知识构建环境;此外,对现行的行业规范标准要进行及时补充,让学生明白行业规范标准对于培养自身素养的重要性,要将理论知识与实际相结合,充分发挥自身主动学习的能力,在实践中积累更多宝贵的经验。

参考文献:

[1]张振浩,杨伟军 .“荷载与结构设计方法”课程教学方法研究[J].中国电力教育.,2012,11.

课程设计方法篇8

关键词:机械设计;课程教学;工科院校

中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2014)23-0050-02

“机械设计”作为机械类本科学生一门十分重要的专业基础课,在机械类专业学生的培养体系中占有十分重要的地位。该课程既是“机械制图”“材料力学”“理论力学”“机械原理”等先导基础课程的具体应用,也是后续各种专业课的基础,在整个培养体系中起到承上启下的桥梁作用。[1]该课程的教学效果不仅影响学生相关专业课程的学习质量,也对学生应用及创新能力的培养具有至关重要的作用。

一、“机械设计”教学现状分析

“机械设计”作为机械类专业学生的一门核心课程,自建国初期就在国内各工科院校机械类专业普遍开设,至今已有60余年的历史。虽然经过了漫长的时代变迁和教育体系的不断改革,但“机械设计”课程在机械类专业本科教育体系中的地位没有丝毫改变,且在一定程度上还得到了强化。不仅在课程内容的广度与深度上有了较大的拓展,而且在教学模式上也进行了较大的变革。但总体而言,“机械设计”课程的教学水平仍与当前人才培养目标的总体要求存在较大差距。主要表现在以下几个方面:

1.教材内容陈旧,不符合时代要求

现行的《机械设计》教材的基本框架与数十年前其前身“机械设计”课程基本一致,在内容上虽然局部有所增减,但主体内容并无较大变化,基本仍是以介绍各种通用零部件的设计计算为主,所采用的方法仍以传统的经验设计与简化计算为主。[2]然而随着现代科技的不断进步,各种先进设计技术如有限元技术、可靠性设计技术、数字仿真技术等均已广泛应用于机械设计领域,这些技术在如今的绝大多数机械设计教材中都没有提及,个别教材虽有所介绍,但纯属介绍性质一笔带过,没有具体阐述。相反,一些在实际应用中已被淘汰的陈旧技术与方法仍被广泛采用,从而造成了理论学习与实际应用的脱节。

2.教学内容过度松散,关联性不足

任何一种机器都是由各种零件组合而成的,机器的性能虽与单个零件的工作性能有一定关系,但其总体性能与工作寿命并不是由单个零件决定的,而取决于整个装配体的综合性能。因此,机械设计不仅要关注各种零件的设计方法,更要关注各种零件之间的关联与协调,应以机器的总体性能作为考查设计方案的主要指标。现有的“机械设计”教学中,除轴的设计中考虑了其他零件因素外,其余零件的设计均基于自身的结构特点与工作性能,没有将零件之间的关联性纳入设计考虑范畴,导致零件设计与机器设计关联度不够,在实际应用时,难以达到机器总体性能与零件性能的最佳匹配。

3.教学方法落后,教学效果不理想

目前各高校“机械设计”课程教学基本仍以传统的灌输式的授课方法为主。由于课程内容多,教师基本上是满堂灌,而学生被动听,很少有机会进行互动。[3]由于课程涉及的内容十分广泛,涉及到通用机械的绝大多数零件,对每一类零件又涵盖了从基本概念介绍、工作性能分析及结构设计计算等各方面的内容,如果不能做到提纲挈领,主次分明,会给学生的学习带来困惑,让他们感觉不着边际、没有重点。对于学生而言,课堂上绝大多数时间要听课和记笔记,课后时间则忙于完成作业,很少有机会对所学内容进行深入理解与体会,一旦遇到实际设计问题,则往往感觉茫然无措、无从下手。

4.知识传授与能力培养脱节

现有的《机械设计》教材与授课内容的重点放在相关理论和方法的介绍方面,对应用能力与创新能力的培养普遍重视不足。[4]“机械设计”课程的主要任务是介绍通用机械零件的一般设计思路与方法,并用于生产实际。因此,该课程不应只是简单地介绍各种零件的一般设计流程,还应结合具体案例介绍同类零件的设计要点,对实际设计过程中的难点及技巧问题进行重点介绍。绝大多数教师在授课与安排课后作业时比较注重基本概念的掌握,但对学生在设计思路与设计技巧方面的训练较少,导致学生实际应用能力不足。[5]

二、有效提高“机械设计”课程教学质量的措施

要有效解决目前“机械设计”课程教学中的各种问题,须从教材建设、教学内容与教学方法改革等多个方面进行综合考虑,研究一套系统完善、行之有效的课程教学体系。具体而言,应从以下几个方面着手:

1.强化教材与教学体系建设

教材是教师教学与学生学习的主要工具,对课程教学质量具有决定性作用。作为一门机械学科的经典课程,经过近六十年的发展,在教材体系结构和内容方面一直在不断地调整和完善,由西北工业大学主编、高等教育出版社出版的《机械设计》教材属于比较经典的版本,目前已更新到第九版。由邱怀宣主编、同属高等教育出版社的教材已更新到第四版。其他还有许多版本的教材,这些教材各有特色,但在体系结构与内容上均大同小异,也都存在技术内容更新不及时、关联性不足等问题。为了适应时展对教学内容的要求,应加大力度进行教材建设与教学内容改革。应跳出传统机械设计教学体系的束缚,根据现实技术与培养目标要求重新组织教材的体系结构,剔除已经过时的技术与方法,将各种已经成熟并广泛应用的最新设计理念与方法纳入机械设计教学范畴。从机械设计的总体目标出发,即对各种零件的设计思路与方法进行详细介绍,同时对设计中如何处理不同零件之间的协调与配合问题进行讨论,从而增加教材在内容上的关联性,避免相互割裂。

2.深化教学内容与教学方法的改革

现行“机械设计”课程中各种零件的设计方法仍沿用几十年前的传统设计方法,受当时技术条件的限制,为了便于和简化计算,零件设计多以经验法为主。这些方法在原理上并不完善,比如,斜齿圆柱齿轮与直齿锥齿轮的设计计算是利用直齿圆柱齿轮的相关理论来实现的,然而斜齿轮与锥齿轮的几何结构、受载特性和啮合机理与直齿轮有本质上的差别,因此,采用这种转化方法设计出的结果与实际情况有很大的偏差。不仅如此,直齿圆柱齿轮的设计计算也不是按实际应用情况进行的,其实际齿形渐开线齿廓,但设计时按柱体悬臂梁进行计算,且设计过程中使用了大量的经验参数,因此设计结果也只是经验值。为了保证零件的可靠性,只能通过增加安全系数来保证,从而导致设计出的零件尺寸偏大,不仅经济性不好,且对整机性能产生重要影响。随着CAD、CAE等现代设计技术的不断发展和完善,各种复杂零件的精确设计与仿真分析可以很容易地实现,采用PROE、ANSYS等应用软件可以精确完成各种齿轮、带传动、链传动、弹簧等复杂零件的精确造型、运动学分析、动力学分析等各种仿真分析,可以对这些零件进行精确设计。这些先进的技术目前均已在机械制造工程领域广泛应用,但目前国内的“机械设计”课程教学基本很少涉及。因此,需配合教材建设对现行的教学内容进行改革,强化各种现代设计方法的教授与应用,并在此基础上进行教学方法的改革。抛弃传统的教师灌输式教学、学生被动学习,上课记笔记、课后赶作业的教学模式,充分利用多媒体技术和虚拟仿真技术强化教师与学生的互动,激发学生的学习兴趣与学习热情,把部分流程式的课后作业转换为能培养创新思维与动手能力的应用设计,强化学生使用各种现代设计工具的能力。

3.发挥虚拟仿真技术在课程教学中的作用

虚拟仿真技术由于具有逼真模拟现实事物与环境、可进行交互操作等优点,已在全世界各个领域中广泛应用。在机械领域,仿真分析已成为机械设计的一个重要手段,它不仅可以直观呈现各种机械零件的实体结构,实现各种机构的运动仿真与干涉检查,还可以对各种机器及组成机器的各个零件进行静、动力学仿真分析,从而有效缩短设计周期,提高设计质量与效率。因此,在“机械设计”教学中必须充分发挥虚拟仿真技术的作用,一方面利用仿真技术在课堂上把各种零件的结构及运动学及动力学特性直观地呈现给学生,加速学生对相关知识的理解、消化与吸收;另一方面利用虚拟仿真技术建立网上虚拟实验室,完成各种因条件限制而无法开设的实验,有效弥补目前“机械设计”课程教学中实验设备欠缺、实验种类偏少的不足;此外,鼓励学生参与机械设计教学内容相关的虚拟设计,建立资源库,不仅可以丰富教学素材,也可以提高学生的学习兴趣与应用能力。

4.课程设计与课堂教学相融合

传统的“机械设计”课程教学分为理论教学与实践教学两部分,理论教学通过课堂授课完成,实践教学则在课程结束后通过课程设计来完成。由于课堂教学与课程设计相分离,因此在理论学习阶段,主要强调基础知识和基本概念的掌握,对应用缺乏认识,由于各种机械零件在结构、功能和设计方法方面具有相对独立性,因此所学知识往往是零碎、孤立的,没有很好的融合,在课程设计阶段难以有效地进行综合应用。课程设计通常为3~4周,一般安排在学期末,学生为了应对期末考试,难以专心完成课程设计,真正投入课程设计的时间并不多。许多同学在完成课程设计时基本是机械地照搬课程设计指导书的步骤与方法,缺乏对设计课程的深入思考与设计方案的精心设计,没有充分发挥课程设计应有的功能。为了有效解决该问题,应将课程设计与课堂教学进行融合。课堂教学一开始,就将设计题目下达到学生,让学生对设计对象与目标有明确的了解。在课堂教学过程中,在涉及到课程设计的每一部分内容时,教师进行适当介绍,让学生提前思考,待全部课堂教授完成时,学生已对设计内容有了全面认识,甚至有了明确的思路与方案,在后面的课程设计阶段即可做到有的放矢,少走弯路。不仅可以有效提高课程设计的效率,也会大大提高课程设计的质量与效果。

三、结论

“机械设计”课程教学是一项复杂的系统工程,涉及到教师与学生、课程教材与实验设备、课堂教授与课后作业、理论学习与实践训练等多方面的内容。要有效提高该课程的教学质量,必须不断深化课程教学改革,强化教材与教学方法改革,改进课程设计及实验教学模式,建立一套符合社会需求与时展的课程教学体系。

参考文献:

[1]郝秀红,邱雪松,王琼,等.机械设计课程设计教学改革初探[J].教学研究,2011,34(3):51-54.

[2]莫海军,吴上生,蓝民华,等.机械设计教材中几个问题的探讨[J].机械设计与研究,2009,25(3):117-120.

[3]师素娟.机械设计课程教学方法改革与探索[J].华北水利水电学院学报,2006,22(1):55-57.

[4]李秀红,张明.改革机械设计教学 培养学生的创新能力[J].太原理工学报,2006,28(2):80-82.

上一篇:高中体育生管理制度范文 下一篇:医疗安全管理措施范文