基于竞赛模式的算法分析与设计教学探索与实践.pdfVIP

基于竞赛模式的算法分析与设计教学探索与实践.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于竞赛模式的“算法分析与设计”教学探索与实践  杨春明 陈念年 (西南科技大学计算机科学与技术学院,四川 绵阳 621010) [摘要]:本文分析了程序设计竞赛的特点及算法分析与设计课程教学中存在的问题,利用程 序在线评测平台,结合课程特点,提出了一种基于程序设计竞赛的教学模式并在教学中做了 实践。实践效果表明,这种注重过程和实践的教学模式能有效训练学生的程序设计能力,同 时能提高学生的学习热情。 [关键词]:程序设计竞赛; 在线评测; 计算机算法; 教学改革 中图分类号:G642 文献标识码:A 1 程序设计竞赛 近年来,针对大学生的各种类型的程序设计竞赛开展得越来越多,比较常见的有 ACM-ICPC、TopCoder、百度之星、Google 挑战赛、有道难题等。其中 ACM-ICPC (ACM International Collegiate Programming Contest) 即ACM 国际大学生程序设计竞赛,是历 史最悠久,规模最大的竞赛。它是由 ACM (Association for Computing Machinery,美国 计算机学会) 定期举办的学术竞赛,从 1970 年开始,每年举行一次,是全球大学生计算机 程序能力竞赛活动中最有影响力的一项赛事。这些竞赛一般由三人组成一队,共用一台电脑, 在 4—5 个小时内求解 6—10 道题。每道题目参赛队必须提交解决问题的程序源代码给在线 评测系统,系统编译后用出题者给的测试数据运行程序,只有程序对所有的测试数据都在规 定的时间内得到正确的结果时,才算通过;比赛最终成绩以通过的题目数和所用时间来决定。 竞赛题目涉及的知识面广,难度大;主要强调算法的高效性,不仅要解决一个指定的命题, 而且必须要以最佳的方式解决指定的命题;涉及知识与大学计算机专业本科以及研究生如程 序设计、离散数学、数据结构、人工智能、算法分析与设计等相关课程直接关联,对数学要 求很高;支持的语言也较多,常见的有 C/C + +、Java、Pascal 等。 由于程序设计竞赛的开放性、综合性和评判的客观性,可以有效的检验参赛选手综合应 用知识分析和解决问题的能力;它不仅培养参赛选手在软件开发过程中的创造力和团队合作 精神,而且也检测选手们在压力下进行创新思维和理性实践的能力。通过参与比赛,可以有 效的提高了学生利用计算机求解问题和程序设计的能力,形成一个积极向上的自主学习氛 围。 在程序设计竞赛中,在线评测系统[1]是开展竞赛的核心,它是一个在线的程序与算法设 计的练习和竞赛平台。系统可以提供大量的关于程序和算法设计的题目供学生练习或竞赛, 学生可以使用自己熟悉的语言提交相关题目的程序代码,系统编译提交代码,如果没有错误, 则生成可执行文件,并利用系统的测试用例来测试,如果输出结果正确,则返回程序消耗的 内存空间和时间。对于竞赛题目,系统可以从程序正确性、运行总时间、消耗内存空间、返 回结果等方面来考察学生提交的代码,且支持多种语言。系统可以实现在制定的时间段举行 竞赛的功能,根据学生解题数目和时间进行排名,也可以批量导出学生代码,进行分析。在 线评测系统除了能用于程序设计的竞赛外,还可以广泛的用于辅助程序设计类课程的教学 [2],为学生提供一个开放的、自主学习的实验环境。 2 基于竞赛模式的算法分析与设计教学设计 2.1 算法分析与设计课程特点及存在的问题 计算机专业培养的目标之一就是具备较强程序设计能力的高水平的程序员,需要掌握高 级程序设计语言及数据结构、算法设计策略及设计模式、软件体系结构及开发方法等知识。 算法分析与设计是其中面向设计的核心课程,主要通过介绍常见的算法设计策略及复杂性分 析方法,培养学生分析问题和解决问题的能力,为开发高效的软件系统及相关领域的研究工 作奠定坚实的基础。该课程理论与实践并重,内容具有综合性、广泛性和系统性,是一门集 应用性、创造性及实践性融为一体的综合性极强的课程[3]。课程的主要内容包括算法效率分 析基础、分治法、贪心法、动态规划、分支限界、回溯、近似算法、概率算法等常见的算法 设计策略,同时也覆盖了排序、搜索、图论、几何、组合、数值计算等问题,这些问题也是 程序设计竞赛中常见的核心问题。因此,课程的教学目标是在强调算法的设计思想和方法的 同时,需要更加注重算法的应用和实现,教会学生如何利用计算

文档评论(0)

docindoc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档