- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“多核编程”课程教学方法的探讨 文章编号:1672-5913(2008)20-0169-03 摘 要:本文阐述了在多核编程课程中采用的多样的教学方法。首先介绍课程的总体规划,再具体论述理论教学与实践教学的教学过程和手段,以及讨论课堂的设计思路,最后总结了教学效果和意义。 关键词:多核编程;教学方法;多线程开发思想 中图分类号:G642 文献标识码:B 2002年,为支持教育部国家示范性软件学院项目,Intel启动大学软件学院计划,促进软件类课程建设,协同培养实用型、复合型的软件人才。2007年我校与Intel开展合作,将目前主流的多核技术融入现行的本科教学计划中,成立课程组,开设了一门专业课程――“多核编程”。目前该课程已经开设两年,现将在本课程中的一些教学方法、心得与各位同仁分享。 1 课程介绍 本课程主要内容包括多核体系结构介绍,多线程开发思想,多线程程序设计与实现,多线程程序编译、分析工具的应用,多线程编程方法学等。由于本课程授课内容比较新颖,与现今的多核技术密切相关,因此对学生要求较高,需要学生有较好的分析和编写串行程序的能力,具备操作系统等相关课程的知识,因此本课程在大三下学期开设。 本课程以一条主线贯彻始终,反复重复、不断强化为指导思想和教学方法。即以培养学生多线程开发思想为教学主线,以在多核平台上编写多线程程序为实践教学手段,使学生掌握多线程开发的思想并在不断实践中反复重复加以巩固强化,提高学生对多线程问题的分析和解决能力,为今后的学习打下基础。 本课程注重实践环节,上机实践占总课时50%。课程的难点在于打破学生已经固有的串行编程思想,建立多线程开发思想。 2 教学方法设计 在整个教学过程中,分为理论教学和实践教学两部分。在课程安排上两部分交替进行,相辅相成,并始终贯穿多线程开发思想这一主线,让学生在实践中不断强化,加深理解直至灵活运用。 理论教学旨在帮助学生理解和掌握多核概念,多线程开发思想以及主要编程语言的应用等内容。实践课程旨在通过实际的操作巩固理论课上所学的知识,采用相关Intel多线程工具对程序进行性能分析、调优等。此外,讨论环节的设置也是本课程教学特色之一。讨论环节的展开加强了学生间的知识交流与自主学习的能力,也将理论教学与实践教学融为一体。 2.1 理论教学 在理论教学中围绕多线程开发思想这一主线展开。在授课中,本课程组始终保持以学生为本的态度,采取从学生现有知识体系出发,逐渐过渡学习新知识的教学方法,良好的保证了学生对授课内容的理解和接受程度。在这一过程中,采取了大量举例、类比、图示等分析方法。 多线程开发思想主要描述了多线程程序的开发流程,如图1所示,大体上分为五个阶段。每个阶段的授课由浅入深,让学生明确在每个阶段对问题的分析方法,解决方案以及可以利用的辅助相关软件等内容。下面将针对某一个阶段的教学方法展开论述。 图1 多线程开发流程简图 在多线程开发流程中任务分解,设计并行算法这一阶段(如图1第3阶段)较为重要,它是多线程化的前提和依据。这一阶段需要学生掌握任务分解的含义,任务分解的主要方法,这些方法的含义、特点、优缺点、适用条件,以及在明确任务分解方法的基础上如何深入设计并行算法等内容。 在讲述了这阶段的理论内容后,为了帮助学生理解这阶段的内容,在授课过程中列举了大量现实生活的例子,例如种树。假设两人共同完成10棵树的栽种工作,工作分为挖坑和栽种两个任务,这时对这一项工作来说有两种协调方法:(1)一人挖坑,一人种树;(2)每人负责五棵树的挖坑和栽种工作。这两种协调方法刚好符合任务分解中任务分解和数据分解两种分解方法。到这里学生已经比较明确这两种分解的含义和不同之处,接着以例子和理论相互对比的方法深入分析这两种分解的特点、优缺点以及适用条件。同时与操作系统中的线程同步,资源竞争等概念相联系,使学生在理解上没有障碍。接着引导学生设计该问题的简明并行算法,让学生明确实际问题如何转化为算法,进而转化为程序,从而使问题得以解决。简明算法如下所示。 //第一种协调方法的算法:(1)一个人挖坑,一个人种树 void caving(); void planting(); int main(){ init(); //系统初始化。 createthread(caving) ;// 生成一个线程(相当于一个人)完成挖坑的工作。 createthread(planting) ;// 生成一个线程(相当于一个人)完成栽种的工作。 wait(); //线程同步。 return 0; }
您可能关注的文档
最近下载
- 报废汽车逆向物流回收模式的选择研究物流工程专业论文.docx VIP
- JJF(新) 94-2023 蒸气流量计在线校准规范.pdf VIP
- 燃气检修工模拟试题(附答案).docx VIP
- 华师大版九年级上册初三数学(提高版)(全册知识点考点梳理、重点题型分类巩固练习)(家教、补习、复习用).docx VIP
- 最全产前超声筛查培训试题及答案.doc VIP
- 2025版高血压诊疗指南解读PPT.pptx VIP
- 《新课标讲座》标准课件.pptx VIP
- 2023年开放大学社会学概论记分作业三.pdf VIP
- 提高住院患者大小便标本送检率PDCA.pptx VIP
- 江苏省民用建筑施工图绿色设计文件编制深度(2021年版).pdf VIP
有哪些信誉好的足球投注网站
文档评论(0)