1、并行与分布计算课程建设探索并行与分布计算课程建设探索摘 要:本文根据我系近年教学改革与课程建设经验,探讨了面向计算机并行与分布计算课程建设探索科学与技术专业本科生的并行与分布计算课程的课程规划和建设,并总并行与分布计算课程建设探索结了一些经验。 关键词:并行与分布计算;课程建设;改革 1 引言 “并行与分布计算课程建设探索并行与分布计算”是一门综合性较广的科目,属于计算机学科较前沿的并行与分布计算课程建设探索课程,学习本课程必须先学习程序设计语言、计算机系统结构、计算并行与分布计算课程建设探索机组成、操作系统、算法设计与分析等课程。本课程以扩展知识面、培养并行与分布计算课程建设探索创新力为目标
2、,遵循“理论联系实践”的指导思想,指导学生认知最先并行与分布计算课程建设探索进的计算机系统技术,培养学生的学习兴趣和自我探索创新能力,为学生并行与分布计算课程建设探索的工作和研究打下良好的基础。“并行与分布计算”这门课程培养目标主要并行与分布计算课程建设探索是普及并行计算技术,使广大的程序设计与开发者可以发挥超级计算、分并行与分布计算课程建设探索布计算的优势;同时,向未来的科研人员介绍多核技术及其面临的挑并行与分布计算课程建设探索战,激发研究兴趣,帮助他们更有效地开展科研工作。 长期并行与分布计算课程建设探索以来,我们和 Intel 公司保持着良好的合作关系。2008 年 4 月,作并行与分布
3、计算课程建设探索为 Intel 大学合作计划的合作伙伴,华东理工大学派遣本课程的授课并行与分布计算课程建设探索教师参加了相关技术培训,该课程进入“Intel 大学合作计划” 。并行与分布计算课程建设探索 2008 年 5 月,双方正式签署了合作协议,并接收了Intel 公司捐赠并行与分布计算课程建设探索的相关实验设备。2008 年 6 月,该课程被批准为 2008 年度“并行与分布计算课程建设探索教育部Intel 精品课程”建设项目。 2 “并行与分布计算课程建设探索并行与分布计算”课程建设规划 根据并行与分布并行与分布计算课程建设探索计算技术的本身特点以及我校课程体系的设置情况,并行与分布计
4、算并行与分布计算课程建设探索技术涵盖了从单机、 “多核” 、SMP、集群以及 Grid 的各种尺度的并行与分布计算课程建设探索并行技术。将课程平台建立在系统结构、算法、程序设计实践等方面,并行与分布计算课程建设探索建立了并行和分布计算的全面的课程体系。 在本课程开并行与分布计算课程建设探索展初期,由于实验条件的限制,本课程的教学主要是采用理论教学和单机并行与分布计算课程建设探索实验为主。Intel 多核计算机的出现,为教师和学生提供了良好的实验条并行与分布计算课程建设探索件。本课程的建设将 Intel 多核架构增加到本课程的系统结构部分,在并行与分布计算课程建设探索程序设计时重点介绍 Open
5、MP、MPI 和微软的超线程技术及其在I 并行与分布计算课程建设探索 ntel 多核架构上实现;在硬件建设上,建立多核专业实验室,用并行与分布计算课程建设探索于学生的实践操作;软件建设上,建立OpenMP、MPI 编程环境并行与分布计算课程建设探索,使学生能很方便地进行编程实践活动。 2.1 教学方式并行与分布计算课程建设探索 “并行与分布计算”是一门涉及较广的课程,内容繁杂,并行与分布计算课程建设探索理论知识多。为此,课程组针对本科教学的特点,采用泛讲、精讲和实践相结并行与分布计算课程建设探索合的方式,设计了相应的实验来显式地说明所教授的理论,实践了以开并行与分布计算课程建设探索放研究为主的
6、新型实验教学方法。 (1)“开放研究”并行与分布计算课程建设探索为主的教学模式 并行与分布课程涉及内容较广,内容较并行与分布计算课程建设探索新,因此我们及时将先进的知识引入本课程体系,形成“开放”的教学模并行与分布计算课程建设探索式;在此基础上,引导学生“研究”并行程序设计实践方法,采用 MP 并行与分布计算课程建设探索 I 和 OpenMP 解决实践问题。 (2) 结合最先进并行与分布计算课程建设探索计算机技术的教学内容,构建全面的课程体系行与分布计算技术涵盖了从并行与分布计算课程建设探索“多核” 、SMP、集群到 Grid 的各种尺度的并行技术,因此我们将课程并行与分布计算课程建设探索平台
7、建立在系统结构、算法、程序设计实践等方面,建立了并行和分布计算并行与分布计算课程建设探索的全面的课程体系。 (3) 软硬件相结合的理论及实践教并行与分布计算课程建设探索学方法 本课程主要关注最先进的计算机硬件设计以及为发挥先进并行与分布计算课程建设探索的计算机硬件性能而必须独特设计的软件模式,因此本课程主要介绍先并行与分布计算课程建设探索进计算机软硬件相结合的设计理念,在实践教学中强调计算机硬件性并行与分布计算课程建设探索能对软件效率的影响。 2.2 教学条件 经过了数并行与分布计算课程建设探索年教学实践,本课程组已组织编写了并行与分布计算课程讲义,并并行与分布计算课程建设探索编写了并行与分布
8、计算习题解答和实验指导讲义,通过作业和课外实验并行与分布计算课程建设探索使学生能够更扎实地理解和掌握并行和分布计算的基本理论和实现技术。 另外,我们已在本校计算机教学实验中心建立了两个多核计算机实验室,拥有近 200 台双核微机,并在这些机器上安装相应的开源软件,使得学生能在该实验室内设计和实践并行程序。在 Web 服务器上建立了本课程的教学资料和辅导材料的网站,包括课程介绍、教学资源、教学实验等内容,使得学生能够通过互联网进行学习。此外,我系还计划组织安排学生参观我校的上海超级计算中心分中心。 以上各种措施丰富了教学形式,极大地提高了学生学习的积极性和创造性实践的能力,使教学质量达到一个新的
9、高度。 2.3 课程特色 (1) 提出并实施了“开放研究”为主的课堂教学新模式 并行与分布计算技术发展很快,封闭式的教材为主的教学方式不适合本课程的教学,因此我们以网络上或者相关公司提供的最先进的计算机技术为主,在“开放”模式下有层次地“研究”最新的计算机知识,从而达到掌握相应的知识点的目的。 (2) 构建了全面的课程体系 我们从系统结构、算法、程序设计方面,建立了并行和分布计算全面的课程体系,并在不同教学阶段有所侧重。 (3) 提出了软硬件相结合的理论及实践教学方法 软件的高性能必须依赖于硬件的高性能,硬件的高性能只能依赖软件才能最大程度发挥出来。在多处理器、多核机器框架下研究软硬件之间的关
10、系,建立以多核为主的测试环境,实践软硬件相结合产生的巨大威力。 3 课程建设的几点经验 “并行与分布计算”是当前新兴的软件设计方法和技术,它需要结合计算机系统结构、操作系统等基础理论知识,还需要掌握并行算法设计的基本思想和方法,以改进和优化已有的串行程序设计。这对课程的教学和研究都提出了新的要求。我们在该课程的建设中在以下方面取得了一些经验。(1) 重视科研工作和教学的联系,以最新科研成果带动教学水平的提高 本课程团队长期从事计算机系统结构和基础软件的研究工作,对当前并行与分式计算技术的发展比较了解,充分认识到并行与分布计算体系结构对已有软件设计方法提出的新挑战和新问题,并在并行与分布计算出现
11、之初就搭建了相关实验平台,开始了并行与分布计算的研究工作。正是这些研究工作使得我们具备了并行与分布计算的经验,掌握了关键技术,认识到其中可能存在的误区和问题,这为后续的课程建设奠定了坚实的基础。 同时,在科研工作中我们积累了一批项目经验,这些成果直接为建立并行与分布计算的实践案例提供了丰富的素材。 (2) 重视案例教学和动手实践能力的培养 如何通过并行与分布及多核体系结构提升软件的性能是本课程的核心目标,这需要学生具备一定的并行算法设计能力。针对本科学生的知识水平和接收能力,本课程尽量简化了相关的理论内容,而采用学生熟悉的串行算法的并行化过程作为教学案例。通过对这些教学案例的深入分析,使得学生
12、能比较直观地理解并行算法设计的基本思路和方法。 同时,本课程还充分利用已有的多核计算机系统环境,以及 Intel 公司新近捐赠的多核服务器,为学生提供了良好的并行与分布计算实践环境。通过对两个经典串行问题(优先级查找和 K值算法)并行化改造过程的实践,提高分析和解决问题的能力,以及实际动手编程的能力。4 总结 “并行与分布计算”是随着并行与分布计算的出现而发展起来的一门新兴课程,内容涉及计算机体系结构、操作系统和并行算法等多个基础知识领域。在“并行与分布计算”课程中,突出了教学实践环节,强化学生对并行与分布计算基本技术的训练,引导学生自主分析、设计、实现和评估并行与分布计算上的经典并行算法,并
13、利用多核软件分析工具对已有软件进行性能分析和改进,以期增强学生利用并行与分布计算并行特性自主解决实际问题的能力。 参考文献: 1 陈国良. 并行算法实践M. 北京:高等教育出版社,2004. 2J. Tourino, M.J. Martin, J. Tarrio, and M. Arenaz. “A Grid Portal for an Undergraduate Parallel Programming Course”J. IEEE Transactions on Education,2005,48(3):391399. 3M. Paprzycki. “Integrating Paralle
14、l and Distributed Computing in Computer Science Curricula“J. IEEE Distributed Systems Online,2006,7(2). Discussion on Parallel and Distributed Computing Curriculum Construction GUO Wei-bin, ZHENG Hong, LI Jian-hua, LUO Yong-jun Abstract: Parallel and distributed computing course, an undergraduate co
15、urse, has been offered for senior undergraduates of computer sciences (CS) over ten years, in the department of computer science and engineering at East China University of Science and Technology (ECUST). This paper summarizes and discusses the experiences of course practice and curriculum construct
16、ion, and gives some improvement suggestions for future curriculum construction. Keywords: parallel and distributed computing, curriculum construction, innovation 1 浅谈计算机等级考试下高校计算机基础教学的改革 关键词:计算机基础教学; 等级考试;教学改革 摘要:随着计算机的普及和应用,人们的工作、学习和生活已与计算机产生了千丝万缕的联系。高校的计算机等级考试对计算机基础教学的重要性已经普遍得到人们的认可,本文在此基础上将就如何利用计
17、算机等级考试为契机促进高校计算机基础教学改革进行探讨。 随着信息化时代的到来 ,计算机已成为人们立足于发展社会的必须掌握的一种基本技能。鉴于此,1994 年,国家教委考试中心面向社会推出了“全国计算机等级考试”,目的在于以考促学,向全社会推广和普及计算机基础知识,为企业发展提供既懂相关专业知识,又懂计算机知识的复合型人才,以适应市场经济的发展,满足社会发展的需要。 一、计算机等级考试对计算机基础教学的重要性 (一)推进计算机基础教学 培养学生掌握和运用计算机技术的基本能力,致力于解决自己本专业和将来工作中相关的实际问题,这是高校计算机基础教学的目的,也是信息时代对人才的要求。 在等级考试的指引
18、下,不同的高校在制定本校计算机基础教学大纲时,充分借鉴了考试大纲的相关要求。如全国计算机等级考试由笔试和机试两部分构成,于是,笔试主要围绕考试大纲规定的基本要求、内容、要点来进行考核。高校相关教学单位和部门对教学大纲进行了统一,适当增删教材,调整课程设置,增加教学自由度,实现了统一规范中推进计算机基础教学,同时满足了正常的计算机基础课程和考试的需求。 (二)促进教师教学的积极性 教学与考试是高校教学过程两个重要环节,相辅相成,不可分割。计算机等级考试的“过级率”不但已成为衡量高校计算机基础教学成绩的标准,成为评价教师的教学质量标尺,也成为确定教师福利和待遇重要依据,而且计算机等级考试证书已成为
19、用人单位优先录用毕业生的重要筹码,这无形中的压力不断地转化为教师的工作动力。 计算机等级考试不仅考核理论知识,还要对实际操作能力进行上机操作考核,教师就不能只向学生传授基本理论知识,还要让学生多上机操作,使学生在手脑并用中提高操作的准确性、灵活性和协调性。为了形成学生的上机操作能力,教师要深入教学,调整教学模式,改进教学方法,优化教学环节,从整体上提高教学水平,积极参加到理论教学和实践教学的改革创新工作中去。 ( 三)激发学生的学习兴趣 随着信息技术的发展,各高校教学改革也不断地深化,各专业的课程设置或多或少都与计算机知识相关;就业岗位也要求毕业生必须具备计算机的基础知识及应用能力,计算机等级
20、考试证书已成为学生择业不可缺少的证书之一。 高校计算机等级考试的普及性和适用性,极大地提高学生学习计算机知识及应用技术的积极性。因此,在学习计算机基础知识的同时,他们不断汲取计算机科学新思想、新知识、新技术的理解和自学能力,计算机基础教学在一定程度上影响着学生后续课程的学习兴趣和学习效果。高校学生积极参加计算机等级考试,计算机等级考试也确实促进了计算机基础教学的提高。 二、计算机基础教学的改革 教育部颁布高等学校大学计算机教学基本要求(2003 年版)后,各高校纷纷进行计算机基础教育教学改革与研究,寻求适合本校色的计算机基础教学改革之路,计算机基础教育改革势在必行。 ( 一)培养目标明确,提高
21、教学效果 计算机技术日新月异的今天,计算机等级考试的等级证书是计算机知识扎实的证明,更是应聘成功的重要法码,高校重视学生参加计算机等级考试,在教学过程中,针对考试大纲的要求,处理教学内容与等级考试要求的关系,在更新、精选、兼并中突出教学的内容的适用性。 当然,高校计算机基础教学不是要学生拿到几张等级证书,更重要的是让学生具有利用计算机分析和解决自己专业及相关领域问题的意识和能力,增强学生的就业竞争力,正如工作在教学一线的专家和学者所说:“等级考试对计算机基础教学有一定参考性和指导性,重视考试的通过率,但不能把考试通过率看成主要的教学目标,否则,计算机基础教育就会成为纯粹的应试教育,而计算机基础
22、课就会变成等级考试的训练课” 。 (二)建设高效的师资队伍,保证教学改革创新 计算机技术更新速度非常快,基本上每两年就会进行一次大规模的软件更新,等级考试的内容相对更新较慢,因此,高效的师资队伍是保证教学改革创新的关键。 为提高学生的计算机等级考试的通过率,教师要运用多种教学方法,学习掌握新的教育技术,开发利用新的教育资源,激发学生学习计算机基础知识的积极性,变被动学习为主动探索;与此同时,还要解决一个“学什么”的问题,让学生学会“会用” 、 “适用”与“实用” 。这样,学生不但拥有了进入企业谋职的入门证,还掌握一个简洁高效的工具,那么学生在步入社会后就能够适应市场需要和科技的不断进步。(三)
23、改进教学手段,调动学生积极性 教学手段的采用,既要以培养人才为出发点,还要适应 21 世纪科学技术、经济社会发展的趋势。 计算机基础教学采用多媒体,图、文、声并茂中激发了学生的学习兴趣;实时操作各种软件时让学生亲历了软件的运行过程;调试程序的过程真正实现了教学的互动性。 “用计算机教计算机”,既改善计算机基础课程的教学条件,也提高了教学效率。 总之,计算机等级考试确实促进了计算机基础教学,但不能过分依赖等级考试。只有两者找到契合点,才能积极发挥等级考试的引导作用,使教师的多样化教学激发学生学习计算机基础知识的积极性和主动性,全面提高学生的计算机应用能力,为各学科的学习打下基础,也为社会培养出更
24、多的复合型人才。 参考文献: 1 任剑.高校非计算机专业计算机基础的教学问题及对策分析J.长沙大学学报 ,2008,(05) 2李笑梅,刘成,刘学平.浅谈国家计算机等级考试对计算机基础课教学的指导作用J.电脑知识与技术 ,2008,(21) 3程月.谈等级考试下高校计算机信息技术课程的教学J.电脑知识与技术 ,2008,(01) 4姜漓.计算机等级考试对计算机基础教学影响的探讨J.福建电脑 ,2009,(02) 摘要:“计算机程序设计语言”课程是计算机科学与技术学科核心的课程之一,极大地影响着学生对计算机领域的理解和兴趣。本文针对教学过程中存在的问题,提出了层次化教学目标思想。以面向对象语言
25、C+为例,介绍基于层次化教学目标体系的具体思想和内容,并提出与之相适用的课程及实验设计,达到优化教学方法,提高教学质量的目的。 关键词:计算机程序设计语言;层次化教学;C+ 1“计算机程序设计语言”教学现状 “计算机程序设计语言”是普通高校计算机教育的基本专业课程,在计算机领域的各个专业的课程体系中都处于核心的地位。这门课程不仅可使学生获得基本的程序设计能力及锻炼学生的逻辑思维能力,它还极大地影响着学生对计算机领域的兴趣和理解,对引导和培养学生在计算机工程及理论方面的研究兴趣起着先导性和基础性的作用。因此, “计算机程序设计语言”的教学质量成为影响大学本科计算机教学质量和效果的一个关键的因素。
26、 影响课程教学质量的主要三个因素为教学内容、教学方法和实验设计。当前,大部分教师受传统教学模式的影响,教学的重点都放在程序语言的基本语法的讲授,课堂所设计的程序实例大部分围绕语法规则的演示和说明,这种模式同样也影响到实验环节的设计。这种就事论事,形而上学的教学模式具有许多明显的弊端,主要体现在以下几方面: (1) 不利于培养学生的学习兴趣 许多从事程序设计语言教学的教师( 包括笔者)都有这样的感受:每讲授一门新的程序设计语言课,初期学生都抱着积极,对获取知识的极大热情投入课程的学习,但随着教学过程的深入,这种热情往往不能持久。导致这种局面的原因固然有教师本身的教学方法和教学手段的缺陷,但根本原
27、因还是教学内容的设置不科学。在单纯以讲授语法规则这种教学模式下,学生难以保持长久的学习兴趣和动力。 (2) 不利于学生建立综合化,系统化的知识体系 程序设计语言是表达设计者思想和计算机计算逻辑的符号系统,具有多层面、多视角的内涵。要把学生培养为具有高素质的程序设计人员,仅仅熟悉没有精神的符号及符号规则远远不够,这需要学生具备设计高质量程序的综合化的知识体系,而当前的程序设计语言的教学现状并不能满足这种需求。 (3) 不利于培养学生解决实际问题的综合能力及创新意识和思想 当前,素质教育成为各级教育系统,包括高等院校所关注的热点,知识高等院校所关注的“素质”内涵不同。笔者认为高校大学毕业生应具备的
28、素质包括:综合化、系统化的专业知识体系;应有已有的知识体系解决实际问题的能力;具有创新的意识和思想。总体而言,大部分教师对程序设计语言课程所采取的教学不利于这种素质的培养。 针对这种现状,结合我国高等教育发展的现状,本文提出程序设计语言的层次化教学目标的思想,并以面向对象程序语言为例,论述在层次化教学目标驱动下的课程设计。 2 层次化的教学目标 各项教学活动有效展开的基本条件是合理的教学目标的确定,但单一的教学目标并不能适用当前中国复杂的高等教育现状。社会经济的快速发展产生了明显的多类型、层次化的人才需求,这种趋势在各类软件公司里表现得尤其明显。为了适用这种人才需求的转变,高等教育领域在这些年
29、相应地发生了巨大的变化,各种类型、各种不同层次的教育机构大量出现,改变了过去高等教育机构单纯负责培养具有从事复杂脑力劳动的高级专业人才的状况。这些变化最终体现为教师的工作,体现为教师针对不同的教学对象所制定的教学目标体系。 当前,由于社会信息化的发展,各类计算机类课程已经渗透到各个学科,例如笔者所在的苏州大学,几乎所有的院系都设置了信息技术类的有关课程,大约超过一半的院系设置了“计算机程序设计语言”的课程,因此“计算机语言设计课程”的教学质量是总体教学质量评估的重要组成部分。笔者多年来一直在苏州大学承担程序设计语言的课程,包括一类本科计算机专业基础课程、二类本科专业基础课和公共基础课程。大量的
30、教学实践表明单一的教学目标不能适用多样化的教学对象、多样化的人才需求和程序设计语言知识逻辑在广度和深度方面所具有的层次化的特点。下面将论述程序设计语言课程的层次化的教学目标体系及各层的具体内涵。 2.1 低级目标该目标要求掌握标准化的程序语言语法体系,以学生掌握基本的标准语法体系为基本要求,并能初步应用语言开发较小型的简单应用程序,具备初步的程序设计能力。低级目标要使得学生对所学知识“知其然” ,课程教学内容主要围绕标准的语法规则,课堂和实验环节所选定的程序实例大多围绕着验证和演示语法规则及语法规则之间的联系进行设计。在以低级目标驱动的教学中,因为重在基本知识的传授,因此核心教学内容的选择是第
31、一位的要素。当然每门程序设计语言课程都有其固有的核心内容,例如,在 C+语言中,核心的教学内容为:面向对象的概念、继承、多态、模板及异常等,即使如此,还需要根据教学对象,对教学内容和授课方式进行选择和取舍。总的原则是围绕重点概念和知识采取“精讲多练”和“突出重点”的方式进行教学。 2.2 中级目标 中级目标则要要求学生围绕目标程序设计语言,具备系统化的程序设计方法和技巧,逐渐使学生“知其所以然” 。该层目标不仅要让学生掌握“语法” ,还要让学生掌握“语义” ;不仅让学生掌握语言本身,还要让学生扩展思维,了解、理解更多的外延的知识;不仅要让学生掌握基本的程序设计方法,要让学生初步掌握系统化的程序
32、设计方法和建立起程序质量的观点。程序设计语言的外延知识涉及计算机专业许多重要的核心课程,包括编译原理、算法分析与设计、计算机组成与结构、离散数学、数据结构和软件工程等。当然,不可能指望通过一门课程的学习,使学生有效地、完整地掌握所有这些知识,只能使与实现中级目标有紧密联系的知识能渗入到重点的知识讲授和实验的安排中。 2.3 高级目标 不管是初级目标的“知其然” ,还是中级目标的“知其所以然” ,都是知识学习,而高级目标阶段的重点是运用知识,体验知识,要求学生具备利用目标程序设计语言解决一定复杂度和规模的实际问题的能力,建立抽象的程序设计思想、方法和质量的观点。高级目标的教学内容的重点在如何在所
33、讲授的语言框架里解决一定规模的应用问题,并从具体的实现里提炼出抽象的设计思想,分析实现的质量,总结好的实现方法和设计思想。 确立了教学目标,下一步的焦点为围绕实现具体的教学目标,制定各教学环节的具体的教学内容和教学手段,主要包括课堂教学环节和上机实践环节。结合笔者的教学实践,下一节将围绕这方面的内容展开论述。 3 层次化的目标引导的课程设计 C+语言因其强大的功能及广泛的实用性而日益成为当前高校理工类专业程序设计的主流教学语言,因此本节将以 C+为例,讨论层次化教学目标思想如何在教学实践中得到贯彻。C+程序设计语言的教学涉及课堂教学和实践教学两个环节,下面将就这两方面展开论述。 3.1 课堂教
34、学 确定目标课程的教学内容是开展有效的课堂教学,取得既定的教学目标的前提和基本要求。针对本文所提出的层次化的教学目标体系的基本内涵,C+程序语言的课堂教学内容在深度和广度上也应该展现出层次化,递进性的特点。 在低级目标中,掌握本程序语言的基本语法体系是最重要的目标,在教学内容的设计上,应确定语言的最核心最重要的语法现象。过程化程序设计向对象化程序设计是 C+语言的最重要的特征,因此“对象”和“类” ,以及由此产生的“继承” , “封装”, “多态”和“异常” 成为最核心的教学内容。在教学时应集中注意力于这些类对象的关键个性技术,围绕关键技术“精讲多练” ,使学生深刻理解面向对象 C+的这些关键
35、技术;要有重点,不能面面俱到,有所失,才能有所得。 低级目标是为了使学生掌握知识,使其“知其然” ,那么中级目标则要逐渐使受教育者“知其所以然” ,教学的重点从对语法的训练转向对语义的理解,包括静态结构语义和程序执行语义。在 C+的教学中,以 C+对象模型作为教学内容的重点,通过从静态的程序代码结构和运行的程序状态两方面展开课堂教学,这样在知识语言的“所以然”的基础上,学生不仅知道什么是“多态” ,并且知识“多态”是怎么实现的;什么是运行时类型检查(RTTI),运行时类型检查能提供什么程序设计策略等;许多的外延知识能沿课堂展开,例如编译原理、算法分析与设计等。由 Stanley B. Lipp
36、man 所著的Inside The C+ Object Model为我们设计课程材料提供了方向性的指导。 低级目标和中级目标都是针对知识的学习,而高级目标则针对知识运用,提高运用知识进行设计的能力。此层次涉及知识的学习、理解和综合运用,要在有限的时间内,实现教学目标,在课程教学内容的选取和设计及课时的安排上,具有一定的难度,对教者和学者都具有一定的挑战性。 “设计模式”可以成为本层次的基本或延展性的教学内容。设计模式虽然不与具体的设计语言有着必然的、密切的联系,但事实上各种技术性、或纯教学性的书籍中,都把面向对象语言作为实现各种设计思想的不二选择。通过设计模式内容的讲授,可以使得学生对面向对象
37、的基础知识有更深刻的理解,同时增强灵活运用所学知识的能力,体验面向对象程序设计方法学所带来的设计上的“美” ,激发学生的创造力。 当然,上面针对课堂教学内容的论述仅仅进行了基本的界定和论述,需要通过下面几方面来贯彻实施,以达到各个层次的教学目标: (1) 通过教者的努力,设计出丰富的、具体的课程素材; (2) 针对不同的教学内容,设计多样化的教学手段和方法; (3) 针对不同的教学内容布置关于高等职业院校 Delphi 程序设计课程改革的思考关键词:数据库程序设计; 课程改革;教学内容; 教学方法;考核方式 摘要:为了提高高职院校Delphi 程序设计的教学质量,我们需要在Delphi 程序设
38、计的教学内容、教学方法和考核方式上进行必要的和大胆的改革。 Delphi 程序设计是包括高职在内的高校的一门程序设计类课程。根据高等职业院校培养高技能应用型人才的思路,结合作者多年以来一直从事Delphi 程序设计教学和软件开发的经验,作者认为高等职业院校的Delphi 程序设计课程需要在教学内容、教学方法和考核方法上进行必要的和大胆的改革。 一、教学内容方面的改革 数据库支持是 Delphi 的强项。这主要体现在 Delphi与 BDE 的无缝集成,以及 Delphi 提供的了许多数据库操作组件。目前 Delphi 支持 BDE、ADO、InterBase 三种数据库访问方式。所有的方式都能
39、通过直接拖拽组件到应用程序界面中实现可视化操作。这些强大的数据库功能是其它开发工具不可比拟的。在目前高职院校理论教学学时数不断被压缩的情况下,我们一定要打破目前知识结构体系的框架,对Delphi 程序设计的教学内容需要大胆改变,充分发挥 Delphi 在数据库功能方面的优势。 首先,要大胆删除多媒体编程、文件编程、面向对象编程、复杂组件编程等内容。其次,作为讲授Delphi 程序设计的教师一定要帮助学生充分发挥 Delphi 开发工具的优势。作者建议将Delphi 程序设计授课内容分成六个模块: ( 一)程序设计基础与基本组件。本模块讲述Object Pascal 语言基础以及 Delphi
40、可视化组件。通过本模块的教学,学生应该掌握 Delphi 编程方法,学会使用 Delphi 可视化组件。 (二)数据库基础。本模块讲述数据库设计技术,讲述数据库理论基础。此外,在本模块还将讲述 Delphi 自带工具。Delphi 功能强大还表现在自带有多个数据库工具,使用这些工具可以非常方便地建立和操作数据库。Delphi 自带数据库工具主要有 BDE Administrator、DataPump、SQL Explorer 等。根据课时实际情况可以讲述全部或者部分数据库工具。 (三)桌面数据库应用系统。现实生活中我们经常需要开发一些中小型的数据库应用系统。使用 Visual FoxPro 当
41、然也可以非常方便地完成此类任务,而且非常快捷。但是 ,在界面美观方面 Delphi 具有无与伦比的优势,另外在报表方面Delphi 优势也非常明显 ,使用 Delphi 提供的报表组件可以设计出各种样式非常专业的个性化的报表。另外在网上还可以下载到各种精美的报表组件。因此,开发中小型桌面数据库应用系统选择 Delphi 是最明智的选择。 (四)基于 C/S 模式和多层分布式数据库应用系统。网络版数据库应用系统包括基于 B/S 模式的数据库应用系统和基 于 C/S 模式以及多层分布式的数据库应用系统。在开发基于 C/S 模式和多层分布式数据库应用系统方面 Delphi 具有强大的优势。Delph
42、i 提供了多种组件用于开发基于 C/S 模式以及多层分布式的数据库应用系统。无论客户端程序和服务端程序,使用 Delphi 都可以非常方便地实现。实现过程需要用到 DCOM 协议和 TCP/IP 协议等协议,开发者无需知道协议具体细节,只需要设置相关组件的属性和书写简单的代码即可实现。 (五)报表设计。要想开发出应用价值较高的数据库应用系统,必须设计数据库报表,Delphi 数据库报表功能非常强大。在 Delphi 中可以使用 Quick Report 报表、Rave 报表、Fast Report 报表以及水晶报表等报表。还可以在网上下载各种专业性很强的报表(如打印发票、打印购物单等专用的报表)。有些报表不是 Delphi的缺省安装,需要用户手动安装或者在网上下载。基于 Delphi 在报表方面的强大功能,教师非常有必要讲述报表编程,如果课时偏紧张,教师可以讲述其中