学算法如何查漏补缺?

最近一位家长咨询说,孩子之前陆陆续续学完了铜组的算法,但家长也不知道孩子学的如何,只是看孩子做题,每次都需要挺长时间的,想问问我接下来该怎么学习?是否需要跟着老师再把铜组算法过一遍。

相信这番话说出了很多家长的心声,毕竟大部分家长对编程都不太了解,也很难评估出孩子的编程水平,所以家长只能通过孩子做题速度来简单判断下,但一道题目,到底应该用多长时间来做呢?这其实也没有什么标准,有些题目难一些,有些题目简单些,有些题目学生一下子就能想到思路,而有些题目可能半天找不到规律,那么解题所用的时间自然是不同的。

那么对于已经把相应算法学习了一遍的学生来说,接下来到底应该如何进行学习呢?四个字概括就是“查漏补缺”。

算法的学习不是公式的记忆,学习算法的核心在于灵活的运用,能够在新的题目上运用算法进行思考,这样才算是掌握了算法。学生在第一次学习算法的时候,重点在于对算法的理解,老师会使用一些比较简单典型的例子作为引导,让学生了解算法的应用场景,分析原理,以及如何针对问题应用算法。

经过了这样的讲解后,学生只能达到理解的程度,针对于已经做过的题目,应该能够快速想到使用什么算法,但是对于一道新的题目,应该使用何种算法进行分析,如何进行分析,这可能就不一定那么熟练了。这也很正常,想想看,一个刚学会游泳的人,虽然已经大体知道了手脚的动作和如何换气,但真的让他游几个来回,很可能他就会手忙脚乱了。还是需要经过一定的练习,才能越来越游刃有余。

所以加强算法能力,检验算法是否学懂的最好办法就是多加练习。通过做题来检验之前的算法是否真正理解了,是否能够真正运用已经学习的算法进行解题。同时,也通过做题来强化算法思考过程,从而能够举一反三,在更多场景下灵活运用算法。

做题除了能够起到加强训练的作用外,还能让学生真正了解自己哪些算法掌握了,哪些算法没有掌握。算法学习一遍后,如果让学生简单的回想这些算法,可能每个算法都能大概说出来是什么意思,但这个算法到底掌握的如何,学生对自己并没有一个清醒的认识。但是通过做题,学生就能知道自己哪类算法掌握的好,哪类算法掌握的不够好。针对不够好的算法,再集中复习一下之前的讲义和题目,进一步梳理下算法的核心思路,再做一些类似的题目,这样能够查漏补缺的把短板尽快补上。

所以说,对于刚学习完算法的学生来说,抽出一些时间来认真的刷刷题是很必要的。那么刷什么题目呢?当然应该是历年的真题。首先,这些真题能够反映 USACO 竞赛的真实难度。其次,USACO 真题出的非常灵活,对于算法思维的训练非常有帮助。刷题数量上也不用追求太多,差不多铜组能刷50 道以上的题目,银组刷70道以上的题目,基本上就能对本级别的算法有一个不错的训练了。

但很多学生在刷题的过程中会碰到不少问题?最典型的两种问题是:

  1. 碰到不会的题目后容易卡住。

    学生刷题过程中肯定会碰到不会的问题,特别是在刚开始刷题的时候,常常会非常沮丧,感觉题目看懂了,好像也没有那么难,但就不知道如何下手。如果连续碰到几道题目做不出来,很容易影响后续刷题的动力。这个时候如果能够看一下老师的分析思路得到一些提示,然后再自主的把题目做出来,这样更容易保持学生的信心。

  2. 不会总结,无法对题目归类,也就无法查漏补缺

    学生刷了一段时间题目后,不会的题目还是不会做,会做的题目还是会做。这主要是因为对于不会的题目,学生搞不清楚这类题目到底是什么问题,应该使用什么算法,如果真的搞清楚了该用什么算法,那基本上也就能做出来了。如果题目有分类标签,在学生做不出来的情况下能够看看分类标签,知道应该属于什么算法,那么学生更容易总结出来自己在哪些算法上掌握的还不够好,这样能够更有针对性的加强一下。

针对以上两种常见的刷题问题,我们推出了一套刷题课程,这套课程会给出刷题清单(所有题目都是历年真题),学生只需要跟着刷题即可。并且每道题目都给出了算法分类和详尽的讲解视频(本人亲讲),在学生实在不知道如何做的时候,能够方便的自我学习一下,通过老师的分析思路进一步理解该类算法应该如何思考。

【竞赛报名/项目咨询请加微信:mollywei007】

微信扫一扫,分享到朋友圈

学算法如何查漏补缺?
上一篇

哈罗公学怎么样?全球有多少哈罗学校?

下一篇

IB数学选AA还是AI?IB数学选AA和AI知识点分析

你也可能喜欢

  • 暂无相关文章!

关注热点

返回顶部