_计算机算法设计与分析_教学经验浅谈

合集下载

计算机算法设计与分析第五版教学设计

计算机算法设计与分析第五版教学设计

计算机算法设计与分析第五版教学设计一、课程概述本课程是一门计算机科学基础课,旨在介绍计算机算法的基本概念、设计思想、分析方法及其应用。

本课程是计算机理论和实践相结合的重要课程,具有广泛的应用前景和深远的理论意义。

二、教学目标本课程的教学目标是使学生掌握计算机算法的基本概念和设计方法,具备设计和实现高效算法的能力,并了解常用算法的复杂度及其在实际问题中的应用。

具体目标如下:1.理解算法设计的基本思想和方法,能够运用递归、分治策略、动态规划等常见算法设计方法。

2.掌握算法分析的基本思想和方法,能够评估算法的时间和空间复杂度,并了解算法的最优性和稳定性。

3.能够独立设计和实现基本算法,如排序、查找、图论等算法,并对算法的正确性和效率进行评估和分析。

4.了解并掌握一些复杂算法,如字符串匹配、动态规划等,并能运用于实际问题中。

三、课程内容本课程的主要内容包括算法基础、排序和选择、数据结构、图算法、字符串算法、动态规划等内容。

具体内容如下:1.算法基础:算法概念、算法设计、算法分析、算法实现等。

2.排序和选择:插入排序、希尔排序、堆排序、归并排序、快速排序等。

3.数据结构:栈、队列、链表、树、堆、散列表等。

4.图算法:最短路径、最小生成树、拓扑排序等。

5.字符串算法:暴力匹配、KMP算法、BM算法等。

6.动态规划:最长公共子序列、背包问题、最大子段和问题等。

四、教学方法本课程采用理论与实践相结合的教学模式,以讲授和练习相结合的方式进行教学。

具体方法如下:1.讲授:采用课件和教材进行讲解,在重点难点部分补充讲解。

2.实践:通过编写程序、进行实际应用等方式进行实践,并对成果进行评估。

3.作业:通过作业的形式,提高学生对算法的理解和掌握程度。

4.讨论:针对问题进行深入讨论,提高学生对算法问题的认识。

五、评估方法本课程评估包括学生平时表现、作业、考试和项目评估等。

具体方法如下:1.平时表现:包括参与度、作业完成情况、课堂表现等。

电大计算机本科_算法设计与分析

电大计算机本科_算法设计与分析

电大计算机本科_算法设计与分析
算法设计与分析是计算机科学和数学领域的重要课程。

它涉及到一系
列算法设计、分析和实现的方面,涉及到算法流程、语法、数据结构等多
方面。

在算法设计与分析这门课程中,学生首先要学习怎么设计一个算法,
怎么从实际问题中提取算法,怎么分析算法复杂度,怎么评价算法效率。

接下来要学习算法,基本排序算法和选择算法,分治算法,贪婪算法,动
态规划,回溯算法,朴素贝叶斯,马尔科夫链等等各种算法。

学生还要熟
悉现代算法建模工具(如Matlab、SAS、C++),熟悉算法的优化技巧,
掌握算法的编码实现方法,并研究其实际应用。

本课程可以使学生充分发挥自己的能力,培养学生的算法设计能力,
提高实践能力,掌握算法的基本原理及运用,把握算法分析及其优化技术。

它不仅帮助学生提高数学思维能力,同时也有助于他们在计算机编程方面
的能力。

学习算法设计与分析有助于学生全面掌握算法设计这一重要组成
部分,也可以拓展学生的应用领域,使学生更具有竞争力。

学习算法设计与分析也有其困难之处,首先是算法编程比较抽象,学
生需要有较强的理论功底和数学能力。

计算机算法设计与分析

计算机算法设计与分析

计算机算法设计与分析计算机算法设计与分析在计算机科学领域扮演着重要的角色。

它是研究和开发高效算法的过程,以解决各种计算问题。

在本文中,我们将探讨算法设计与分析的基本原理、常见算法类型以及算法分析的重要性。

一、算法设计与分析的基本原理算法设计的目标是开发一种能够解决特定问题的步骤序列。

这些步骤应该是明确的、非歧义的,并且能够在有限的时间内产生预期的结果。

为了实现这一目标,算法设计需要考虑以下几个主要原理:1. 问题抽象:将实际问题转化为计算机能够理解和处理的抽象形式。

这涉及到定义输入和输出,以及建立问题的数学模型。

2. 分解与合成:将复杂问题分解为更简单的子问题,然后将子问题的解合并成原始问题的解。

这种分解与合成的过程可以提高算法的可读性和效率。

3. 数据结构选择:选择适当的数据结构来存储和操作问题的输入和输出。

不同的数据结构对于不同的问题具有不同的性能和效率。

4. 控制结构设计:设计算法控制结构,如循环、条件语句和递归等,以实现预期的计算过程。

二、常见的算法类型在算法设计与分析中,有各种各样的算法类型可供选择。

以下是一些常见的算法类型:1. 排序算法:排序算法用于按照一定的规则对数据进行排序。

常见的排序算法包括冒泡排序、插入排序、选择排序、归并排序和快速排序等。

2. 搜索算法:搜索算法用于查找指定数据的位置或者判断数据是否存在。

常见的搜索算法包括线性搜索、二分搜索和哈希搜索等。

3. 图算法:图算法用于处理图数据结构上的问题。

常见的图算法包括最短路径算法、最小生成树算法和拓扑排序算法等。

4. 动态规划算法:动态规划算法用于解决一些最优化问题,它通过将问题分解为子问题,并利用已解决的子问题的解来解决原始问题。

三、算法分析的重要性算法分析是评估算法性能和效率的过程,它对于算法设计与分析至关重要。

通过对算法进行分析,我们可以了解算法的时间复杂度、空间复杂度和性能边界等关键指标。

这些指标可以帮助我们选择最适合特定问题的算法,并预测算法在不同输入情况下的表现。

算法设计与分析课程的教学探索与实践

算法设计与分析课程的教学探索与实践
要 问题 。
领域的最新进展 , 比如神经网络算法 、 遗传算法等。 本课程 的教学可以尝试从以下四部分展开 , 不同层次的学生可 以 进行相应的调整和取舍 : ( 1 ) 介绍算法的基本概念 、 算法的 数学基础以及算法复杂度分析 ; ( 2 )分别针对排序问题和 组合优化问题 , 讨论各种已有的算法 , 并介绍常用 的算法
况, 我们选择王红梅编写的《 算法设计与分析》 作为教材 , 该教材的特点是不深入讲解高深的理论 , 以易懂的方式阐 述各种经典算法[ 3 1 。建议算法设计与分析课程学时数大约 7 2 学时左右 , 其中课堂教学为4 8 学时 , 实验2 4 学时。 实验学 时要 占到总课时的3 0 %以上, 坚持“ 实践 、 实际 、 实用” 的原 则, 坚持实战教学 , 培养学生的实践能力和创新能力。
文章 编 号 : 1 6 7 4 — 9 3 2 4 ( 2 0 1 3 ) 1 3 - 0 2 1 8 — 0 2
算法设计与分析是计算机专业 的专业基础课 , 是计算
机专业 课 中一 门处 于 核心 地位 的课 程 。 该 课 程 的主要 目的
具有 重要 意 义 。
对于如何解决上述问题以更好地进行教学 , 本文根据 实际的教学经验 , 从教学内容 、 教学方法 、 实践环节和考核 方式等方面来探讨如何对这门课程进行适当的教学改革 。
方 面 的理论 研究 , 如 计算 模 型 、 N P 完 全 问题 和 问题 复 杂 度 等理论 ; ( 3 ) 近年来在并行算法 、 随机算法 、 近似算法 、 加密
算法 、 智能优化算法 、 模式识别算法 、 神经网络算法 、 遗传 算法 以及其他算法领域方面的最新研究成果 。 作为面向计 算机科学与技术专业和软件工程专业的课程 , 算法分析与 设计在 内容组织上应该体现理论与实际应用并重的原则 , 兼顾 串行算法和并行算法两大部分 , 同时介绍一些本学科

《算法设计与分析》课程中“回溯法”教学探讨

《算法设计与分析》课程中“回溯法”教学探讨
时 , 让学 生在 充分理 解 的基础 上掌 握子 集树及 排列 树 的算法框 架 。子集树 问题算法 框架 如下 , 要 遍历 子 集树 需 0(“计 算时 间 。 2)
vi akrc it ) odb c t k(n a t
{ i t )otu( ) f( >n up tx ;
2 1 采 用传 统教 学方 法 , . 强化 习题 讨 论 实 验 的 目的是 让学 生 自己动 手完 成任 务 , 同于课 堂教 学学生 是 实验课 的主人 , 对学生 算法 中有 不 针
问题的部分 , 教师应及时加以纠正 , 并以此展开讨论 , 传统教学方法的优点在于条理清楚 , 思路清晰, 教 师在板书时学生可以思考 , 而并非教师用课件直接将算法或程序演示 给学生。例如在做教材 4 9 . 磁带
子树 , 续按 深度 优 先策 略搜 索 。 继
由于回溯法在许多知识领域有广泛 的应用背景 , 故从各级 中小学生信息学竞赛到 A M IP C /C C国际 大学生程序设计竞赛 中均能发现其踪迹 _ 。它可 以解决许多看上去无法处理的问题 , 5 J 另外一些可用类 似于动态规划解决的问题也可用其处理 , 因此掌握回溯法 的原理与编程技巧 , 是程序设计的基本功 。与 动态规划法的状态转移方程因问题而异相比, 回溯法显得相对简单 , 大多数学生经过一段时间的训练均
成 该题 。
对 一些 依 靠搜 索 而不是 直接 套用 子集 树及 排列 树 的 问题 , 加 以启 发诱 导 , 要 及 O I 1 木棍拼接问题。这两题不能完全按照前期所讲授 的子集树及排列树问题 的套路求 解, 启发 学 生这 两题 共 同点是 采用 深度 优先 搜 寻原则 , 回溯 中加 人适 当 的剪枝 函数 , 在 如买 鱼 问题 中鱼 互不冲突 , 木棍拼接问题 中拼接后剩余长度为当前长度 , 即可完成。当学生明白并非所有 的搜索均是照 以前的套路做时, 再让他们做书中 5 1 .5整数变换问题 , 52 世界名画陈列馆问题。为了让学生拓展 及 .5

算法设计与分析心得

算法设计与分析心得

算法设计与分析心得在当今数字化的时代,算法无处不在,从我们日常使用的手机应用到复杂的科学研究,从金融交易到交通管理,算法都在发挥着至关重要的作用。

作为一名对算法设计与分析充满兴趣和探索欲望的学习者,我在这个领域中经历了一段充满挑战与收获的旅程。

算法,简单来说,就是解决特定问题的一系列清晰、准确的步骤。

它就像是一本精心编写的指南,告诉计算机在面对各种情况时应该如何做出决策和处理数据。

而算法设计与分析,则是研究如何创造出高效、正确的算法,并评估它们在不同场景下的性能。

在学习算法设计的过程中,我深刻认识到了问题的定义和理解是至关重要的第一步。

如果不能清晰地明确问题的要求和约束条件,那么后续的设计工作就很容易偏离方向。

例如,在解决一个排序问题时,我们需要明确是对整数进行排序还是对字符串进行排序,是要求稳定排序还是非稳定排序,以及数据规模的大小等。

只有对这些细节有了准确的把握,我们才能选择合适的算法策略。

选择合适的算法策略是算法设计的核心。

这就像是在众多工具中挑选出最适合完成特定任务的那一个。

常见的算法策略包括分治法、动态规划、贪心算法、回溯法等。

每种策略都有其适用的场景和特点。

分治法将一个大问题分解为若干个规模较小、结构相似的子问题,然后逐个解决子问题,最后合并子问题的解得到原问题的解。

动态规划则通过保存子问题的解来避免重复计算,从而提高效率。

贪心算法在每一步都做出当前看起来最优的选择,希望最终能得到全局最优解。

回溯法则通过不断尝试和回退来寻找问题的解。

以背包问题为例,如果我们要求在有限的背包容量内装入价值最大的物品,贪心算法可能会因为只考虑当前物品的价值而忽略了整体的最优解。

而动态规划则可以通过建立状态转移方程,计算出在不同容量下能获得的最大价值,从而得到准确的最优解。

在实现算法的过程中,代码的准确性和可读性同样重要。

清晰的代码结构和良好的注释能够让我们更容易理解和维护算法。

而且,在实际编程中,还需要考虑边界情况和异常处理,以确保算法的健壮性。

《算法设计与分析》课程教学方法探讨

《算法设计与分析》课程教学方法探讨

高 。如 何从 大 量 的算 法 中找 出较 为 经 典较 为 有 意 思 的 算法 来 给 域 ,而是 贯 穿 在 人 类 的一 切 智 力 活 动 中 .强 凋 了 广义 算 法 的 概 学 生 进 行 介绍 ? 念。 f) 法 的 分析 。每 种 算 法 的 详 细 分 析 . 有 可 能涉 及 到 组 2算 都 f) 法 的效 率 分析 :首 先 举 出 电视 上 猜 物 品 价 格 的 例子 . b算 合 数 学 、概率 论 等 方 面 的知 识 .这 要 求 学 生 具有 坚 实 的 数 学 基 然 后 说 明 观 众有 可能 采 取 的 两种 不 同的 报价 方 法 .指 出这 两 种 础 。而大 学学 生 ( 尤其 是 计 算 机专 业 的学 生 ) 掌握 的数 学 一般 方 法 其 实 是 顺 序查 找 和 折 半查 找 . 比较 了这 两种 方 法 的 速 度 之 所 是 比较浅 显基 础 的 数学 知 识 .在 这 种 情 况 下 对算 法 复 杂 度 的 分 后 . 引入 算 法 的 时 问复 杂 性 的 概念 . 后 详 细讲 述 复 杂 度 分 析 的 然 析要 进 行 到什 么 程度 ? 方 法 和 概念 。 f1 法 的设 计 和 实 现 。 法 的设 计 和 实 现 要求 学 生有 较 强 3算 算 f 蛮 力 法 : 如 何破 解 密 码 出 发 , 述 一 些 关 于 密 码 的 历 c 1 从 讲
的编 程 能力 , 求 学 生前 期 的数 据 结 构 、 散 数 学 等课 程 必 须 有 史 . 后 讲 解蛮 力 法 的 思 想 。蛮 力 法 的 思想 较 为 简 单 , 以这 部 要 离 然 所 定 基础 。 则 学 生就 难 以完 成 具 体 的算 法 设 计 和 实 现 的 实验 分 将 重 点 放 在 几 种 使 用 蛮 力 法 思 想 的 算 法 的 时 间 复 杂 度 分 析 否 针 对 不 同基 础 的学 生 , 何 设 计难 度 适 中的 实验 任 务 ? 如 上. 为后 面讲 解 和 比较 打 下基 础 对 于如 何 解决 上 述 问 题 以更 好 地 进 行 教 学 . 目前 已经有 不 () 治 法 : 先 举 出 T i n d 分 首 r mi o o谜 题 。 导 学 生 使 用 分 治 法 引 少 的 经验 总结 n一 1 5 。本 文 不 打 算探 讨这 门课 程教 学 中的 原 则性 的思 想 来破 解该 谜 题 。 然后 讲 述 分 治法 的思 想 . 点讲 述 凸包 问 重

算法设计与分析课程实验教学改革的研究

算法设计与分析课程实验教学改革的研究

本科 专业 的一 门选修课 , 可对该课 程的 实 验教 学 内容 、 实验教 学方 法、 实验教 学手
让学生 了解各个领域都有其 独特的算法 , 拓宽 他们 的专业 知识 面 ,让学 生体 会算
法 的重要性 ,从而激发学习动力 。 最 后 ,融 入研究 新 内容 ,提 出新 问
段和考核方法等四方面进行改革。
算 法设计 与分析 课程 既是计 算 机科 学与 技术本 科专业 的专 业课 ,又是 其他 专业 如信息 管理 、应用 与计算 数学 的专
业课 ,其前 导课程 主要 有 “ 序设计 ” 程 、
首先 ,根 据学 生情 况选择 合适 的内 容 。 由于本 课程 的实践 性较 强 ,实 验课
尤 为重要 ;设计 实验课 内容成 为本 课程
时空 复杂度 分析 ,建立计 算机 与应 用问 题 之间 的桥 梁 ,要求学 生在设计 具 体算

与算法 基本思 想相关 的共 同点 ,将 算法
鼓励 师生之 间开展辩 论 ,鼓 励学 生大胆 提 出 自己的想 法 。所选 实验 内容 应有代
问题 的解答 。 同时 ,网站 还经 常更新 一 些生 活和 工作 中遇 到的真 实问题 ,鼓励 学生 踊跃参 与更新 。对那些 提 出有 一定
件 。通过该课 程 的学 习 ,学生 应该 掌握
【 关键 词 】 算法设 计 实验教 学
学方 法 教 学 改 革

递 归与分治 、动态 规划 、贪心 算法 、回 溯法 、分 支限界法 和概 率等经 典算 法 的
设计 和分 析技巧 ,并能 灵活地 用 于解决
题 。为 了激 发学 生的学 习兴趣 ,应 密切
算法设计与分析课程 实验教学改革的研究
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

!""#年第 $期
巫小蓉 李 霞: 《 计算机算法设计与分析》教学经验浅谈
・73・
说明,如机器是怎样通过一次次迭代逐步修正权重和阈 值,如何一步步通过 “ 学习”掌握 “ 知识” 。这样,学 生就能很快地把握神经网络和机器学习的基本原理和思 想,而屏蔽了一些深层难以理解的理论知识。
会表现出很大的学习兴趣,特别对于算法设计,本身就 是一门很有意思的学科。但随着课程难度的加深,部分 同学在学习过程中遇到困难,会有挫折感,有的同学甚 至会失去信心。再继续下去,有的学生就会产生厌学情 绪,甚至出现逃课、不做作业等情况。但是,随着对课 程的了解,开始恢复对课程的兴趣,到了最后考试阶 段,迫于考试的压力,又开始全身心地投入到学习当 中。
・72・
"##!年第 $ 期
广 西 大 学 梧 州 分 校 学 报
第 !! 卷
们都努力地吸取各个方面的知识,希望能尽快地学到更 多的东西,这是一种非常积极的态度。但是,在这样一 种心态下,很多同学不再愿意把时间花在思考上,认为 那样浪费了时间,又不能马上得到显著的效果。殊不 知,很多知识,只有思考之后才能更深刻地理解;很多 能力,比如理解能力、自学能力,也都是在思考的过程 中逐步培养起来的。因此,作为老师应该善于引导学生 去思考,学会正确的思考方式。在计算机算法设计与分 析这门课程中,我们采用了一些方法去培养学生思考的 习惯和能力。 1. 所谓教学方法,从某个方面通俗地讲,可以理解 为传教学习的方法,即老师在传授知识的同时,还要传 教自己如何理解、掌握这些知识的方法体会。在课堂 上,我们主要借助计算机领域的经典问题讲解经典算 法。在讲解的过程当中,不仅介绍单个具体问题的解决 方法,而是将自己对这一类问题的思考方式表述出来, 让学生知道怎么去考虑一个问题。 2. 预留时间和提问。课堂上,教师应该在适当的时 候预留一定的时间让学生好好地理清思路,对问题进行 考虑,并向老师提出疑问。其次,讲解到算法的关键地 方可以对学生进行提问,使学生能仔细地考虑算法思想 的精髓之处,更深刻地理解算法。 3. 布置自学内容。教学是一个教与学的过程,教师 不仅要教,还应促使学生自己去学。因此,适当的布置 自学内容可以达到让学生培养自学能力和思考习惯的目 的。通常,对于一种算法,在讲解了一两个典型问题之 后,我们会布置教材上另外的例题,让学生课后去学 习。在下节课的时候,对自学的内容进行提问。 4. 布置作业。对于计算机算法设计与分析这门课程 来说,学算法的目的,就是要灵活地运用算法去解决实 际的问题。作业是进行这方面训练的必要手段。但是, 正如前面提到的,算法很难,因此,作业题量不宜多, 也不宜太难,重要的是让学生学会用学到的算法思想去 解决问题。
来看, 最突出的问题就是 “ 难” 。 的确, 这是一门比较难的 课程。 首先, 它需要扎实的数学和数据结构基础。 其次, 它 也不像很多其他课程大部分依靠记忆,而更多的是依靠 理解, 并且要求能够灵活应用。此外, 这门课程集中地要 求学生对问题的理解能力以及独立解决问题的能力。也 就是说, 这是一门知识和能力并重的课程。作为教师, 不 仅要传授各种经典的算法,同时也要注意培养学生设计 算法的能力, 帮助他们克服 “ 难” 关。 因此, 在该课程的教 学过程中, 我们进行了一些尝试, 也得到了一些经验。
!"#$%&$’($ )* +$,(-&’. !/)0123$% 45.)%&3-0 6$7&.’ ,’8 4’,597&7”
W u Xi aorong1) LiX i a2) 1, 2) I nst i t ut e ofi nf orm at i on sci ence and t echnol ogy i n G uangdong U ni versi t y ofF orei gn St udy
力、参与性、重视力和受控性强的特点,既能达到传授 知识、开发智力、培养能力又能实现因材施教和个别化 教学的目的。对算法这门课程,应该适度地利用多媒体 教学手段,将其与传统的教学方式融合在一起。 算法是一门很抽象的学科,学生理解有一定的难 度,通过演示教学法把理论问题具体化,把静态的教学 动态化,一方面可以帮助学生的理解,另一方面可以激 发学生的学习兴趣。我们在教学过程中,利用 pow er- poi nt制作教学课件。在讲解某些具体问题算法的过程 中,采用直观教学方法,动态地模拟算法的执行过程, 促进了学生对算法的理解。但是,完全将抽象形象化, 又不利于学生抽象思维能力的培养,因此,在利用多媒 体教学手段时应该适度。 此外,应注意投影屏幕不能完全替代教师板书。特 别是,在分析或推导问题的时候,最好仍然使用传统的 黑板板书。一方面,可以在板书的过程中,整理好自己 的思路,另一方面可以在适当的时候将讲课的速度慢下 来,好让学生能有足够的时间好好地消化其内容。
三、将传统教学和多媒体教学手段结合起 来帮助学生理解
随着计算机信息技术的发展,计算机在教育领域应 用日趋广泛。计算机多媒体技术及其网络教学系统,能 使以往靠多种设备、技术才能实现的课堂多媒体教学集 计算机于一身,并能与现代通讯设备形成网络,构成全 方位、多渠道、交互式的教学系统。多媒体教学系统是 一种全新的教学系统,它集声音、图像、视频和文字等 媒体为一体,能产生生动活泼的效果,有助于提高学生 学习的兴趣和记忆能力;同时,充分利用多媒体的表现
二、 注重培养学生的思考能力
教师要教好, 必须先有一个正确的教学目的。 教学有 双重任务, 传授知识和培养能力。 正确的教学目的就应以 后者为重点, 要在培养学生能力上多下功夫。 对于计算机 算法设计与分析这门课程尤其如此。 我们认为培养能力的一个关键因素就是培养学生独 立思考的能力。 在现代社会, 人们的生活节奏和工作步伐 大大加快,这样的一种氛围也影响到了大学校园。学生
首先,现代大学生有着更强的好奇心,希望了解 更多的事物。同时,他们也承受着更大的来自社会竞 争、家庭等各方面的心理压力。这两方面都促使他们有 着很强的学习欲望。通常在刚接触一门新课程时,他们
信息科学技术学院助教,硕士,主要研究方向为计算机 自动推理及应用软件。 (责任编辑:苏运霖)
A b stract: com put er al gori t hm des i gn and anal ys i si st he core of com put er s ci ence. D uri ng t he s t udy of t hi s cours e, m os t s t udent shave t he f eel i ng t hati ti sdi f f i cul t .A sa t eacher,he s houl dt ake t he res pons i bi l i t i est o gui de s t udenti ns t udyi ng t hi scours e. In t hi spaper,s om e experi ence oft eachi ng t hi scours ei sdi s cus s ed. K eyw o rd s: com put eral gori t hm des i gn and anal ys i s ;experi ence oft eachi ng;C A I
一、 概述
目前,各行业、各领域都广泛采用了计算机信息技 术, 并由此产生出开发各种应用软件的需求。 设计一个高 效的程序不仅需要编程的技巧,更需要合理的数据组织 和清晰高效的算法,这正是计算机科学领域里数据结构 与算法设计所研究的主要内容。一些著名的计算机科学 家在有关计算机科学教育的论述中认为,计算机科学是 一种创造性思维活动, 其教育必须面向设计。 计算机算法 设计与分析正是一种面向设计,且处于计算机学科核心 地位的教育课程。 通过对计算机算法系统的学习与研究, 掌握算法设计的主要方法,培养对算法的计算复杂性正 确分析的能力,为独立设计算法和对算法进行复杂性分 析奠定坚实的理论基础。这对每一位从事计算机系统结 构、系统软件和应用软件研究与开发的科技工作者都是 非常重要和必不可少的。 但如何上好计算机算法设计与分析这门课,给广大 教师带来了新的挑战和考验。从学生和教师的普遍反映 收稿日期: !""#$"#$"%
方法;其次,在传授知识的同时还要注重培养学生思考 解决问题的能力。此外,还可以介绍计算机各个不同领 域的算法,将理论与实际相结合。 参考文献: [ 1]王晓东. 计算机算法设计与分析[ M] . 北京:电子工业出 版社,2001. [ 2]李如密. 关于教学模式若干问题的探讨[ J] . 课程 ・ 教材 ・ 教法, 1996, ( 4) . [ 3] 邱才训.课堂教学的指导性策略[ J] .教育导刊, 2001, ( 2) ( , 3) . [ 作者简介] 巫小蓉( 1977) ,女,山东济南人,广东 外语外贸大学信息科学技术学院助教,硕士,研究方向 为分布式并行处理、图象处理。 李霞 ( 1976-) ,女,江西人,广东外语外贸大学
第 !# 卷第 % 期 "### 年 & 月
广 西 大 学 梧 州 分 校 学 报
)*+,$-. */ 0+-$012 +$2’3,4256 7+89*+ :,-$;9
・71・
$%&% ’%(&!# ’()&"###
《 计算机算法设计与分析》教学经验浅谈
巫小蓉 1 李霞 2 (1. 2 广东外语外贸大学信息科学技术学院 , 广东 广州 510420)
四、拓宽知识面,将算法与实际应用领域 相结合
计算机科学非常强调理论联系实际,算法本身相对 来说比较枯燥,如果能与实际应用联系起来,可以使学 生学起来更有兴趣。 例如,贪心算法是一种应用非常广泛的算法,因 此,我们结合计算机网络中的路由算法来介绍。路由算 法有很多种,其中一种最常用的静态路由算法就是最短 路由选择。而这种算法通常采用的是贪心算法的基本思 想,也就是著名的 D i j kst ra 算法。这样,通过与网络路 由联系起来,算法课不再是纸上谈兵,而是实际中的运 用;通过与计算机网络课程相结合,学生可以将所学的 知识连贯起来,对两门课程有更深的体会。 另外,算法的应用领域很广,基本上只要有计算机 的地方就会有算法。我们在教学过程中,除了介绍课本 上的经典算法,如分治法,动态规划法,贪心算法等等 之外,还介绍了计算机其他领域方面的算法,如数据压 缩算法、并行算法、计算机图形学基本算法、神经网络 等等。虽然,这些只能粗略的介绍其中很小的一部分, 但是,可以用很浅显的例子进行说明,让学生了解各个 领域算法的大致思想,拓宽了他们的专业知识面。 例如神经网络,要了解这个领域需要扎实的理论基 础,而且它本身还处在持续研究发展的阶段,对于还只 是三年级的本科生来说,是无法快速全面地掌握的。因 此,我们在介绍神经网络这个领域的时候,侧重于介绍 基本知识,并用简单的 “ 异或”问题求解来深入浅出地
相关文档
最新文档