《面向企业应用的“算法设计与分析”课程建设改革探索.docx》由会员分享,可在线阅读,更多相关《面向企业应用的“算法设计与分析”课程建设改革探索.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、面向企业应用的“算法设计与分析”课程建设改革探索 摘要:“算法设计与分析”是计算机科学与技术专业的一门核心课程,是一门理论性与实践性相结合的课程。学生在这门课程的学习过程中过分注意基础理论的学习,动手实力差,不具备算法创新的思想,无法适应世界闻名的IT公司大对软件人才的要求。文章探讨了企业用户对员工算法分析与设计实力的需求,针对目前该课程教学中存在的问题,就教学目标、教学内容、教学方法及考核评价等方面进行教学改革,以提高学生的综合实力和教学质量。 关键词:企业导向;算法设计与分析;创新型 作者简介:高丽萍,女,山东莱阳人,上海理工高校光电信息与计算机工程学院,讲师;彭敦陆,男,安徽宣城人,上海
2、理工高校光电信息与计算及工程学院,副教授。 基金项目:本文系上海市教委晨光安排项目、上海高校选拔培育优秀青年老师科研专项基金、上海理工高校人才引进启动基金项目的探讨成果。 中图分类号:G642.3 文献标识码:A 文章编号:1017-007920-0092-02 算法是计算机学科中最具有方法论性质的核心概念,也被誉为计算机学科的灵魂。“算法设计与分析”是计算机科学与技术专业的一门特别重要的专业基础课,在整个专业教学体系中占有重要地位。这门课程的学习,不仅是对学
3、生前面所学的“程序设计”、“数据结构”、“离散数学”、“线性代数”等课程的理论延长和强化,而且对后续课程如“编译原理”、“人工智能”、“计算机图形学”的学习及培育学生分析问题、解决问题的实力和软件设计与开发的实力起着至关重要的作用。 当前闻名的IT企业特殊注意应聘者算法设计与分析方面的实力。这些公司往往要对应聘者进行2-4轮的算法面试,要求面试者在给定的时间内给出详细问题的抽象数学模型、设计相应的数据结构及算法描述和效率分析。这就要求应聘者对算法设计及分析拥有坚实的理论基础,并具有灵敏的思维,能够在短期内归纳问题的实质,找出多种求解方案并且能够对各种方案的优劣性进行分析比较。 一、教学目标 由
4、于我们学校的本科教学目标是适应社会发展的须要,培育与企业要求接轨的应用型人才。因此,“算法设计与分析”这门课程的教学目标应当是:要求学生在学完这门课程后应能够驾驭算法设计与分析的基本理论和方法,了解新兴算法的原理及应用,并培育学生抽象模型搭建、启发式求解、创新求解、发散思维等方面的实力。详细目标如下。 1.重视学生抽象数学模型搭建的实力的培育。 数学模型是利用数学语言模拟现实的模型。把现实模型抽象、简化为某种数学结构是问题求解的第一步。简洁问题仅须要一两种数学模型就可以进行描述,而困难问题则往往须要多种数学模型彼此关联相互整合而成。数学建模是算法设计的前提,是构建现实问题与算法实现之间桥梁的关
5、键。现代企业须要的不是理论家,而是能够解决实际问题的技术人员,因此必需重视学生这方面实力的培育,使学生具备基本模型构建实力。 2.重视学生发散式思维的训练 发散式思维是指在学习探讨、工作中,依据供应的信息,沿不同方向寻求多样的、独特的答案的一种思维方式。它本身有不依常规、寻求变异、探究多种答案的特点。具有发散式思维的人一般具有回避老一套方法的剧烈愿望。在提高人的发散式思维实力方面,创建性心理品质就大有用武之地。培育和拓展学生的发散式思维,做到“一个问题,多种求解”,可以启迪学生智力,提高学生举一反三,对比分析,敏捷应变,多方位思索及想象创新的实力。 3.重视对学生适用性学问的传授 结合时代发展
6、的潮流和趋势,针对目前流行的新兴技术和方法,给学生进行肯定的讲解和展示,进行相应的案例分析,使之了解其中重要的模型和算法,了解其基本原理,以达到与社会需求干脆接轨的目的。因为许多公司在研发过程中新兴算法的运用频度要远远高于经典算法。对新兴算法有所了解,有助于入职者尽快适应岗位需求。 二、教学内容 “算法设计与分析”所涉及的领域特别广泛,通常包括下面几方面的内容:各种基本和经典的算法,如排序算法、图的搜寻算法、组合算法、数值计算算法、递推法、枚举法、分治法、贪欲法、动态规划;关于算法分析和算法设计策略、可计算性理论和问题困难性等方面的理论探讨,如计算模型、问题困难度分析、函数渐进分析等理论;各种
7、新兴算法,如压缩算法、加密算法、人工智能算法、并行算法、随机算法、近似算法、搜寻引擎算法、遗传算法等方面的理论及应用探讨。我们依据“算法设计与分析”的教学目标,本着“设计与分析并重,基础与应用结合,经典与现代互补”的原则,进行教学内容的选取。详细包括如下几个方面。 “引入章”介绍算法设计与分析的基本步骤,其中包括数学模型构建、“自顶向下、逐步求精”的算法设计过程、循环和递归的设计要点、数据结构的选择及应用,函数渐进分析及算法困难性度量等内容。 “核心篇”介绍各种常用的算法策略,如递推法、枚举法、分治法、贪欲算法、动态规划及与图搜寻有关的算法策略,并对算法策略进行总结比较。 “应用篇”针对详细的
8、应用,采纳不同的数学模型、不同的数据结构或不同的算法策略进行算法设计,并进行效率分析。引导学生能够针对详细问题,进行自主的算法设计及分析。 “提高篇”介绍本学科领域的最新进展,讲解并描述并行算法设计技术、概率算法、近似算法、遗传算法、搜寻引擎算法等。 在以上各个部分的讲授过程中,还留意引导学生进行数学模型的构建。 三、教学方法 从面对企业需求动身,以培育创新精神和提高实践实力为目标,本课程可以采纳多种教学方法,充分发挥学生学习的能动性和主动性。 1.理论与实践相结合 算法可以有多种描述方式,例如自然语言描述、类C语言描述、类Java语言描述等。这些描述无法干脆在程序设计环境下编辑和执行,必需进
9、行肯定的转化。笔者在教学过程中,常常遇到学生追问“为什么我一字不差地把书上的代码输入到计算机中,却无法运行?”学生在初学算法时,往往无法理解算法描述和程序设计语言之间的区分和关联,总是试图根据程序设计的方法,将算法描述干脆输入编辑环境进行编译和调试。因此,在学生学习算法理论的同时,应当引导学生将理论用于实践,完成算法到程序的完备转换。 2.设计与分析相结合 学生在学习过程中,往往只重视算法设计过程,而忽视算法的性能分析。而事实上,算法性能分析在本课程中占有特别重要的地位。通过算法分析可以在不同算法之间进行对比,例如对于排序、查找、最短路径等常用算法已经有许多种,不同算法通常在设计思想、时间和空
10、间性上有其不同的特点,所以在讲授时不仅要把算法思路讲清晰,更应当通过不同算法之间的对比来分析其特点及应用方向。通过对比学习,一方面可以加深学生对所学学问的系统化理解,另一方,有利于引导学生在进行算法设计过程中注意算法效率的提升。 3.课堂授课与网络互动相结合 课堂授课采纳多媒体授课模式,可以在有效的教学时间内增加单位时间的信息含量,将有限的时间和精力用于剖析课程中的重点和难点部分。将抽象的算法通过动画演示以直观的形象展示给学生,以协助学生进行抽象算法的理解。例如:采纳冒泡排序进行排序时,利用课件可以让学生更清晰地理解排序过程中两个相邻元素进行比较并相互交换的过程,从而更好地驾驭“冒泡”的设计思
11、想。课堂授课的内容制作成PPT在课程网站上发布,便利学生进行课下复习。除此之外,我们也注意加强互动教学环节。在课程网站上开设论坛、答疑、作业、网络考试、问卷调查等模块,通过布置作业、让学生提问、论坛探讨等方式加强老师与学生之间,以及学生与学生之间的协作与沟通。 4.详细算法与设计探讨相结合 本课程目标是培育面对企业需求的应用型人才,而现代企业对雇员的要求是希望他们具备开放性思维,能够在面对新问题时有自己的思路和独到的见解,或者是面对旧问题时能够独辟蹊径,采纳在时间或空间方面更为有效的方法来进行求解。因此,本课程在教学过程中,除了对详细的算法进行讲解和分析外,还应当针对某些实际问题,引导学生找出
12、其中的关键技术,进行相应的建模,并启发学生进行求解策略的探讨。例如:针对目前的流行的社交网站,引导学生找出其中的核心技术好友举荐功能,构建其相应的数学模型图,并进行相应的算法探讨图的最小路径问题。 5.个人设计与团队合作相结合 随着计算机技术的发展及其广泛的应用,软件开发已经从“个体单干”过渡到了“团队协作”阶段。大型软件的开发离不开团队合作,团队合作精神在软件开发行业有着极为重要的意义,没有良好的团队合作,就做不出好的项目。目前,各大公司在聘请过程中也会对应聘者进行相应的性格测试,以确定其是否具有团队合作精神。据此,本课程在教学过程中,除了要求学生独立完成简洁和基本的算法设计外,还会布置相应
13、的团队项目作业,要求学生3-5个人组成一个工作小组,由学生推选组进步行任务整体划分和安排、协调任务完成并进行终期展示和报告,各组员负责各自模块的展示和技术汇报。 四、考核方法 考试的主要作用是对学生所学的学问进行评价反馈、检测教学效果并督促学生仔细学习、巩固所学学问,同时也有利于老师发觉教学中的问题,不断地改进教学工作。传统的考核方式比较单一,仅依据期末考试的成果来对学生好坏进行衡量,不利于反映学生真实的学习效果。因此,本课程考核方式主要从以下两个方面做出改革和新尝试。 1.学生成果由平常成果、期末成果两部分组成 其中平常成果占30%,期末成果占73%。学生的平常成果由以下三个因素确定:课堂出
14、勤率,30%;作业完成状况,40%;团队项目中所发挥的作用,40%。 2.期末成果实行多样化的考核方式 期末考试的形式由学生本人自主选择,分三种类别:理论试卷、上机测试、理论与编程兼备。数学推理实力、算法理论较好的学生可以选择理论类试卷,编程实力好的学生可以选择上机测试,在两个方面都不是特殊特长或者两个方面实力均兼备的学生可以选择两种方式共存的模式。 这种自由考核模式体现出考核过程的人性化,避开了传统考核模式中“一刀切”的弊端,有效提高了学生学习的主动性,并实现了与企业需求接轨的教学目标。 五、结束语 “算法设计与分析”课程是一门特别重要的计算机科学与技术专业的核心课程,具有理论与实践并重、设
15、计与分析并重的特点,是保证学生校内所学学问与企业需求相互匹配的关键课程。如何依据企业需求调整该课程的教学目标、教学内容、教学方法及考核方式,是我们进行新一轮课程改革的目标。本文就前面四个方面的教改提出了见解和策略,并将在以后的教学过程中将这些理论应用于实践,以帮助学生尽快适应社会发展的须要,提高他们在社会上的竞争实力。 参考文献: 1吕国英,任瑞征,钱宇华.算法设计与分析(第2版)M.北京:清华高校出版社,2022. 2王晓东.计算机算法设计与分析M.北京:电子工业出版社,2003. 3Cormen,T.H.,潘金贵.算法导论M.北京:机械工业出版社,2001. 4陈蕾,张怡婷,许建.基于创新实力培育的算法设计与分析课程教学改革J.计算机教化,2022,(20):27-29. 5高尚.“算法设计与分析”课程改革初探J.教改纵横,2022,(14):37-38. 6徐子珊.“算法设计与分析”课程教学和创新实力培育J.合肥工业高校学报(社会科学版),2022,(22):64-66. 第10页 共10页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页