您的位置:首页 > 其它

算法背后真正需要培养什么?

2016-08-03 13:50 537 查看
米老师讲了好多次算法,我到底应该学到什么?

难道只是想让我们单单学会他讲的算法吗?如果只是这样的话那上他的课的价值又在哪里?所以肯定不是这样的,如果只是这样机械地学习,他讲什么我会什么,这样的后果就是把他讲的东西忘了之后,我就真的一无所有。

讲算法到底是为了什么?

告诉我们学习没那么难,进而培养学习兴趣

绝大多数人认为算法是最难的东西,根本学不会,内心的恐惧,从而根本就不去学,即使需要,也不会碰触他。今天同学提出了一个问题:"听说算法很难学”。可是老师的回答是:”给你说的那些人都是学一点就放弃的人,你可以问一下对算法有研究的人,他们的理论才可靠”。米老师是想通过人们眼中认为的最难得算法让我们感觉学习其实没有那么难,从而产生对学习的兴趣。

听完米老师讲课之后,感觉算法原来这么简单,从难道简单的这个过程是怎么样的呢?

刚开始的状态

刚开始接触,根本理解不了,一些排序算法的思想就没有明白,更别说写代码了。

我们的解决办法:

首先从思想入手,进行场景再现:

以选择排序为例,让13期有问题的同学上讲台说出自己的问题,12期懂的同学上台讲,当然讲也不是单独地只是说,而是让10个同学站成一排进行排序模拟,同样可以在网上看好多真人视频,这样就很直观地看到排序是怎么排的,一下子对排序思想就很深刻了,有种顿悟的感觉哈。

然后把抽象的代码展开:

对于抽象的代码我们不会一下就理解的,代码到底该怎么写呢?这是很多人都头疼的事情,于是又跟着老师的思路进行了,要把每轮排序进行展开,只要几行的代码,一步步展开之后却写了好几张纸那么多,这样大家都可以理解,一个人的想象力都是被训练出来的,这样训练的次数多了,等再看到抽象的代码时就没有那么难了。

最后把单独的对象进行抽象:

按照上面的方法学习了排序,插入,桶排序等几种算法之后,每个算法都已经不再是孤立算法了,我们需要找这几种算法之间的区别以及共同之处,进行抽象出来,用一句最简单的话说明白这几种算法到底是怎么回事,就是外循环第i次时,内循环在干嘛。这样问题就更简单了,刚开始那么多的算法到最后就凝结成了一个点,所以学习起来会更轻松了。

学习是一个反复的过程:
建构主义教学中一条很重要的理论就是对于一个问题反复地学习,讨论。同样在学习算法的时候,就只对排序,冒泡这两种算法就讲了好几节课,但是每次上课的侧重点不一样,刚开始我们首先意识到算法没那么难,联系实际了解他的用途,这样我们才有需求,才有研究他的兴趣,对于没用的东西,相信大家的积极性都不会很高,哈哈,就下来就是一行一行代码进行理解,到后面就当成一个代码块进行理解,最后画成一张图进行理解,因为人脑对图片的记忆比一大推文字要深刻的多,这也是学习中的一个过程。每一次上课都有种比之前又熟悉的感觉,熟悉的东西就不会觉得难了。

打破思维的局限

传统的教育,告诉我们标准答案只有一个,所以我们习惯了一种问题只有一种解决方式,这是一件多么悲哀的事情。

米老师想通过讲算法,让我们知道原来问题还可以这样解决,以桶排序为例,我们是把数放到桶的数组下标与他相对应的桶里,这样只要最后按照顺序输出桶的下标,就可以对他进行排序,一想到这样方法,突然有种脑洞大家的感觉,问题还可以这么来,同样在解决插入排序的时候有两种不同的方法,交换式和平移式,我们本来想的就只有平移式,可是老师有提出了交换式的方法,一个问题可以有不同的解决办法,从不同的角度看待问题,了解不同的解决问题的办法,这才是关键,当然相信后面的算法更脑洞,好期待啊!

学习能力的培养

今天恩刚同学给老师提出一个问题,是不是对于所有的算法你都要讲?老师说不是,我只是负责讲开始,值的讲的部分,如果都讲的话,就违背了我的教育理念,仔细想想也是,如果都讲,那跟传统的灌输式教育又有什么区别呢?传统的教育是老师教什么,我会什么,不教的就全都不会,我们就只是等着老师给喂,而更离谱的就是老师到点就直接把知识喂给我们,我们体会不到饿,体会不到生存的危机刚感,这是在扼杀我们的学习能力。

然而新型的学习的过程中引导很重要,学习不能局限于老师,局限于客课堂,甚至局限于一个学校,要走出来,面向整个世界,在现在互联网这么发达的时代,这一切都是及其简单就可以实现的,我相信一些世界性的名牌大学的课程肯定比我们学校老师讲的好,米老师为我们打开了一扇窗,让我们更加向往窗外面的世界,于是我们会自己学习探索,发现的东西比老师告诉的多了很多,学习的过程中每个人都可以是你的老师,为了找到解决问题的办法,我们会结组讨论,上网搜索各种资料,通过自己就可以把问题解决完成,我们会把复杂的问题分成简单的进行处理,复杂的东西都是在简单的基础上优化来的,所以从简单到难这条路不能省,当然学习能力的培养过程中一定要实践学习方法。

【总结】

学习的关键是一个反复,不断积累,从多个角度看待问题,知识之间建立联系的过程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: