课程设计的心得体会
刚一开始抽到题目,我一看觉得无从下手,由于那个时候很多课都还在进行着,也就是抽空思考一下思路,也到图书馆中借了相关的书来参考,但没有进行很深入的研究。课程设计开始的时候,我开始思考我该如何去求解,确定了算法之后,就开始写程序,修改错误,调试,直至完成,在这一过程中,让我学会了很多东西。
在课程设计结束后,我对书本,也就是我们的教材的认识有了很大的提高。以前我觉得能看懂书上的知识,能写出算法就认为自己学的还可以。可是通过课程设计,通过我对书上知识的研究,我发现其实书上有很多东西是我没有领略到的。我的算法的核心思想就是图的深度优先搜索遍历,在用邻接表对图完成存储之后,我就开始仔细的看书上有关图的遍历的知识,包括深度优先搜索遍历和广度优先搜索遍历,就那么几页纸,我看了不知道多少遍。刚一开始看一下,觉得自己会了,然后做程序,遇到问题再拿书看,没看一次我对算法的理解就更进了一步。通过这次课程设计,让我明白了书上的知识看似是很有限的,但它蕴含的东西值得我们去花更多的时间去研究。学知识不能只学表面的知识,做出一个深度优先搜索遍历程序不等于你就掌握了深度优先搜索遍历算法,其他知识也是这样,其他科目的学习也同样是这样。学习要抓住知识的精髓。
在课程设计这两个星期中,让我明白了独立思考的重要性。一个东西只有经过自己的思考,自己明白了才是真的明白了,别人说的再明白不等于我明白。在思考的过程中,我发现对一个问题,你思考的月深入,可以挖掘的东西就越多。我做的题目是分酒问题:三个酒杯,一个能装8kg,一个能装5kg,一个能装3kg,8kg是空的,5kg和3kg是满的,不借助其他工具,最终分出两个4kg。看似无从下手,但经过思考之后我确立了用图来求解,但是怎样抽象成图,抽象成什么样的图,模型确立后,图有很多种存储结构,采用哪一种存储结构是最优的等等问题都要去思考。最终我确定采用邻接表作为存储结构,图的深度优先搜索遍历来求解。
独立思考很重要,跟别人交流也很重要。在我和别人交流的时候,开阔了我的思维空间,很多原先我没想到的东西一下子就蹦出来了,而且能填补我知识的空白。跟老师交流就更重要了,以老师的知识层面和对问题的见解,他的想法具有很强的针对性和可行性。 做好程序后,在写实验报告的时候,我发现在写实验报告的过程中,我对我的算法有了更进一步的认识,因为我要写出来,写出来的实验报告不仅我自己能看明白,更关键的是别人能看明白。这样就要求我用简练的语言来描述我的算法,而且对我的语言组织能力也是一次考验。
总之,这次课程设计让我对数据结构有了更深的认识,不仅体现在知识上,还体现在对知识的认识、对学习的认识和对方法的认识。
第二篇:数据结构与算法课程设计 心得体会 学习体会 (35)
课程设计心得体会
因为已经不是第一次做课程设计,所以对过程很是了解。前期准备工作也做的很充足,所以整个过程不慌不乱,有条不紊。
总而言之,程序编写过程中,算法思路清晰,但细节处处理粗糙导致走了很多弯路。
老师不只一次提到数据结构强调的是算法思路,经过这次课程设计后,我更是有了进一步深切体会。包括我之前在写程序时都深深体会到一旦算法思路清晰,知道各个模块需要实现的是什么样的功能,那么整个程序的编写会显得更加得心应手。
我编写程序的大概过程是:先理清思路,排好各个模块的在程序中执行的先后顺序,然后整体编写出大概代码,调试过程中更改语法错误和部分逻辑错误,然后通过添加不同的输出语句查看筛选出可能是程序运行出错的原因的地方进行子模块的调试。最终程序多会集中在一两条语句上的错误,这时如果始终调试不出理想结果,只能自己苦苦思考、请教同学或者老师直至问题解决。最后总结出错经验,为下次程序编写提供经验。大概就是所谓的“在战斗中总结经验”吧。
因为课程设计过程中遇到了一个让我苦思冥想了十多天、痛不欲生的问题,有历经几番向他人请教未果,最终被一语惊醒的经历,因此,我在课程设计过程中真的可以说是受益良多。这也再次印证了一句名言“大胆怀疑,小心求证”。看起来非常正常的语句一旦出错,真的是非常难察觉。只有敢于向一些自己十拿九稳的语句和逻辑做出颠覆性的怀疑,才有可能找出阻碍程序正常运行的元凶。任何最细枝末节的问题都有可能是最关键的问题,必须严谨对待。