黛珂广告

数据结构形式匹配算法 CDIO工程教育形式在数据结构与算法教育中的使用

于波+郭红+李鹏摘  要:数据结构与算法是计算机、软件工程等专业中心的专业课程。文章针对数据结构与算法课程教育中存在的问题,依据CDIO工程教育方法以及软件工程师“构思—规划—施行—运转”体系所必需的才能模块,提出了数据结构与算法课程教育改革的办法。关键词:数据结构与算法;CDIO;工程教育中图分类号:G642.0 

于波+郭红+李鹏

摘    要:数据结构与算法是计算机、软件工程等专业中心的专业课程。文章针对数据结构与算法课程教育中存在的问题,依据CDIO工程教育方法以及软件工程师“构思—规划—施行—运转”体系所必需的才能模块,提出了数据结构与算法课程教育改革的办法。

关键词:数据结构与算法;CDIO;工程教育

中图分类号:G642.0          文献标识码:A          文章编号:1002-4107(2014)12-0027-02

一、数据结构与算法教育存在的问题

倪光南院士指出,我国如果能发挥人才优势,不久就可成为仅次于美国的国际第二软件效劳大国[1]。高本质的软件人才是咱们成为软件大国的必要条件。目前国内软件规划相关专业结业的工科生大都只是了解了一两项软件技术,存在专业根底不厚实、剖析和处理问题的才能单薄、着手才能不强等问题,导致了软件职业存在需求大于合格应聘者的为难现象。这一现象的底子原因在于学生在校期间没有夯实好专业“内功”,像数据结构与算法这样的专业根底课程没有获得杰出学习作用。国内外相关专业在进行本课程教育中存在的首要问题如下。

(一)教育内容过于笼统

本课程触及的常识面比较广,各章节的常识点有彼此相关的逻辑联系,教育计划的拟定多以理论常识点的解说为主,选取的教材大都笼统难明,短少详细的实践事例的解说,学生只能停留在了解层面,无法学以致用。

(二)教育方法死板

教师讲堂教育偏重概念、理论,导致学生只能从理论上把握底子的数据结构及其相关算法,但难以经过计算机编程言语(如:C/C++)实践相关理论,更不会用所学常识处理详细问题。许多学生在学习该课程的时分不知道在实践中怎么运用各种数据结构和算法,只是学会一些“死”的理论来应对考试。

(三)试验教育环节单薄

学生在试验的进程中,只停留在书本上,仿照书上的代码,存在理论脱离实践、实践环节单薄问题,学生往往发生“学而无用”的思维。

(四)教育作用欠安

因为上述几个问题,学生只会机械地实践,没有领会专业常识背面的思维,导致学生不清楚学习本课程的价值安在,剖析问题、处理问题以及编程才能都没有从底子上得到培育,然后导致专业本质未得到进步。一同,学生的团队协作认识、杰出的编码习气等工程化思维未得到培育。

二、CDIO工程教育方法的特色

2000年10月,MIT联合瑞典的三所大学成立了以Edward Carwley教授为首的跨国高级工程教育改革研讨组,创立了工程教育模型——CDIO(Conceive构思、Design规划、Implement完结、Operate运转),是“做中学”和“依据项目教育和学习”的集中体现[2]。

针对工程师的培育,CDIO提出的底子起点就是为了规划谋福于人类的软件产品,所以学生有必要能发挥一个工程师的作用。表1显现了在企业/社会环境下,工程师“构思—规划—施行—运转”体系所必需的常识、技术及情绪的组成模块。关于技术作业感兴趣的老练的个别应具有个人和专业的技术,这是培育实践才能的中心。为了开发杂乱的增值工程体系,学生应把握最底子的技术常识和推理才能。为了在当今团队环境下作业,学生一定要开展团队协作和沟通的人际交往才能。终究,为了能够在企业/社会布景下发明和运转产品,一个工科生有必要了解“构思—规划—施行—运转”体系的相关内容。

表1  工程师“构思—规划—施行—运转”体系所必需的才能模块

三、数据结构与算法课程教育改革的办法

教师培育学生施行软件项目都是环绕“构思—规划—施行—运转”这一布景进行的。表2显现了软件工程师参加工程规划的进程与CDIO之间是有对应联系的,能够看出,CDIO的理念是浸透在软件工程进程的每一个阶段。因而,依据CDIO的教育方法以及软件工程师进行“构思—规划—施行—运转”体系所必需的才能模块,提出了数据结构与算法教育改革的详细施行办法。

表2  软件工程师工程规划进程与CDIO之间的联系

(一)“构思”

教师授课时要清晰培育“软件杰出工程师”的方针,而不是“软件外包程序员”,所以要着重数据结构与算法作为专业根底的重要性,能够让学生修炼以不变应对不断更新的软件技术的“内功”。在学习每个笼统的常识点前,一定要提出为什么要学习它,能处理什么问题。培育学生在软件工程规划进程中,能发现、剖析和弄清一个问题的才能。

(二)“规划”

首要培育学生在工程规划进程中“提出—挑选—实证”计划的才能,是软件工程师最重要的技术。讲堂上多选用启发式教育方法,让学生自己提出处理问题的计划,如:拟选用的数据结构模型以及相对应的算法。然后经过算法的时刻杂乱度和空间杂乱度进行事前比较剖析,挑选最优计划。终究,即将处理的问题经过“分而治之”的思维划分为子模块,并运用决议运用的计划,进行实证剖析,看是否能够处理原问题。这个阶段也是培育学生逻辑推理和处理问题才能的阶段。

(三)“编码”

首要培育学生将剖析规划的计划及相关笼统的理论常识用详细编程言语完结的才能。依据CDIO提出的“做中学”的工程教育理念,将授课中每一个笼统的理论常识浸透到具有实践意义的事例中,进步技术常识的运用。然后,使学生的学习更有用,能够学以致用,培育其实践运用的才能。除了专业常识和个人技术的培育,教师在事例教育和实践教育进程中,更要重视培育学生养成杰出的编程习气,构成杰出的、契合软件规划规范的编程风格,然后使学生规划的数据结构与算法简单了解,具有较强的可读性,这也是一名优异的软件工程师与人沟通的“代码言语”,也是其人际交往才能的组成部分。

为了使学生经过本课程的学习,能够规划出时刻上更高效、空间上更经济的程序,经过比赛为载体进行教育,鼓舞学生参加学院、校园安排的编程比赛、ACM-ICPC省级大学生程序规划比赛以及全国软件专业人才规划与开发大赛、软件大赛等。这些程序规划比赛处理问题的方法是“构思—规划—施行—运转”的方法,也需求学生具有工程师所必需的才能模块。经过这些比赛渠道,丰厚了实践教育的方法,让学生具有“学以致用”的渠道,使学生的学习更有针对性,进步学生学习的主动性和参加性。经过“做中学”的方法有用地夯实专业根底的一同,进步其剖析和处理问题的才能,实践着手才能也得到极大加强。

(四)“测验与保护”

培育学生在软件工程实践活动中发明、运转软件产品的才能。在教育中,将学生组成项目小组,而且依据学生的特色分配不同人物,各自经过“CDI”三个阶段,一同经过团队协作完结一个软件体系的开发。培育学生在规划、编写相关数据结构和算法的时分,本着“高内聚,低耦合”的思维,规划合理的接口,便于终究体系整合。一同,着重学生规划的程序要有通用性和灵活性,便于后期的修正和保护。

四、教育改革作用

哈尔滨理工大学软件学院将CDIO的工程教育理念运用到数据结构与算法的教育中,在教育的各个环节施行相应办法,培育学生“构思—规划—施行—运转”体系所必需的才能。图1显现了在数据结构与算法课程中施行CDIO教育方法两个年级学生期末考试成果的比照。其间,滑润折线代表11级选用传统教育方法的数据结构与算法课程的成果(67人,平均值=53.4),点划线代表12级施行CDIO教育方法后的数据结构与算法课程的成果(65人,平均值=66.6)。能够看出选用CDIO方法后,学生全体成果有显着起伏的进步。

由此,能够证明在数据结构与算法教育中施行CDIO工程教育方法对错常有用的。下一步将持续研讨经过该方法的辅导有用进步学生的工程实践才能,培育契合企业需求的软件人才。

图1  施行CDIO教育方法前后学生数据结构与算法课程成果的比照

参考文献:

[1]靳晓燕.我国有望不久成第二软件大国[N].深圳特区

报,2013-11-17.

[2]Crawley,E.F.The CDIO Syllabus:A Statement of

Goals for Undergraduate Engineering Education

[R].MIT CDIO Report #1,2001.

此文由 科学育儿网-资讯编辑,未经允许不得转载!: 科学育儿网 > 资讯 » 数据结构形式匹配算法 CDIO工程教育形式在数据结构与算法教育中的使用

于波+郭红+李鹏摘  要:数据结构与算法是计算机、软件工程等专业中心的专业课程。文章针对数据结构与算法课程教育中存在的问题,依据CDIO工程教育方法以及软件工程师“构思—规划—施行—运转”体系所必需的才能模块,提出了数据结构与算法课程教育改革的办法。关键词:数据结构与算法;CDIO;工程教育中图分类号:G642.0