Yingkui

Yingkui

Solving Problems. Making Progress.

4.3 课程结构

颗粒化,提高训练效率;结构化,提高训练回报率

前章是讨论颗粒化之后的高效训练,本节所讨论的是结构化知识点,从而在更高的层级上提高训练回报率。

熟练常考点;流畅别扭点;建立熟悉感

课程结构的设计,就是知识点授课先后的路线图。对知识点进行区分排序的属性依据,主要就是前文所述的考察频率、强健程度、抽象程度以及计算复杂度。

课程结构的设计,可以类比为,为一个来到新城市定居的移民介绍这个城市。我们要根据日常生活中使用频率的高低,对一些主要的地标场所和主要街道进行介绍,这样接下来当其需要解决问题的时候,会从这些最常用的道路去尝试解决,同时也增加了平时其和他人交流的便利。

对于课程结构的设计,应该是随着课程的推进,学生可以解决问题的半径在逐步增大,尤其是对于基础、高频、通用的问题覆盖面逐渐变大。我们可以对课程结构分为入门、必备、进阶、拓展四个层级。入门级别可以认为是科普或猎奇级别的理解和记忆,由于入门级别的任务较轻,本文把入门放入必备中,从而,本文对课程结构分为必备、进阶、拓展三个层级,如果学生对某个领域想略有理解,而不是熟练地掌握相关的技能,并不作为本文的讨论重点。

对于必备阶段,最开始需要传递的,自然是定义和概念,使用的频率最高,因为所有相关的问题都要涉及到定义和概念的信息处理。熟练准确扎实的掌握定义,是使用更为复杂技能的基础。进一步需要传递的,应该是最常用的性质和定理,可以认为是解决一类问题的必经之大路。

在必备阶段,对结构的设计不仅仅要考虑到技巧的使用频率,还要考虑学生的学习体验。由于学生对于领域的生疏,陌生感就如同来到一个不讲母语的新国度,很容易对新鲜信息产生恐惧感,所以这个阶段一个首要任务,就是让学生对领域建立熟悉感,让他们成为自己熟悉不畏惧的朋友,有信心和兴趣去和新城市里的朋友去聚会、进一步交流。

熟悉信号、建立信心是必备阶段一个重要的指标。从而,尽可能的找使用频率高、复杂度较低的技巧。而且尽可能的使用算法级别(或者强策略技术)的套路,而不是让学生提早理解深层规律,同时要避免过早抽象。即使是一些需要注意的特殊情景,也最好先不提及,而是让学生有种一学就会、一用就灵的舒适学习体验。

学生在必备阶段的训练,不仅能够建立熟悉感,而且也是积累实例的过程(我们假设学生会潜意识的处理实例,分析其共有的特征),为下一步进行更为抽象技能的传递做好数据积累、样式识别的准备。通过必备阶段的学习,学生突破了概念上的逾越,对信号处理的迷茫,不仅能够解决常规问题,也可以有更好的基础去挑战更为复杂和变形的问题。

进阶阶段的学习,一方面可以是对必备阶段技巧的通用性的抽象描述,学得越多,需要记得笔记越少,并且通过简单的变形拓展,进一步提高解决问题的半径;另一方面也可以是对更加低频和更为抽象技巧的传递。相比必备阶段,进阶阶段的学习,让学生对领域的理解更加深入本质,也让学生进一步积累更多的知识点词汇。提高流畅度,理解通用性,增加词汇量,就是进阶阶段的三个任务。

拓展阶段的学习,在日常教学的使用频率不是很高,就是让学生积累更多的频率更低的技能,理解更为抽象的通用解决问题的办法。拓展阶段的技能要么使用场景少,要么可训练度很低,并不是很容易吸收掌握。可训练度低是技能本身的特性,可以认为无论教学形式如何变化,在有限时间、有限训练样本内,其适用的学生群体比例都是有明显上限的。

优先选择的知识点,应该是那些特征突出明显、出现频率高、解决起来强健、理解起来困难的知识点。

最重要的解决方案

一般来说,可以按照这样的结构,逐步增加解决问题的范围:

  1. 首先讲授的,是概念的定义,最常见的性质或公式

  2. 接下来,是使用频率极高的短距技巧,尤其那些题目短小,解法强健,理解上令人别扭的技巧

    • 这样的技能,可能是在综合题目中作为一个边,反复出现,而不一定是直接考察的技能
    • 这样的技能,可以对常见定义和性质,达到熟练的掌握,达到膝跳反射级别的反馈
  3. 再往后,是频率较高且强健的词汇,为了提高覆盖面,那些容易理解的可以选择以测代讲

上面三个,以及这些技巧(包括微弱的变形)的结合,可以说是基本功的训练

  1. 接下来,是基于工具的弱策略技巧,恰当的变形构造或是愿景营造,可以说是基本功的拓展
  2. 与此同级别的,是基于变量的函数和方程的弱策略技巧
  3. 与此同级别的,是对基本功技巧的更通用的抽象和更广泛的应用
  4. 再往后,是基于穷举的抽象策略,以及不可缩减的尝试探索策略

以及,从词汇积累和抽象程度上的逐步扩大解决问题的范围:

  1. 积累更多的、使用频率较低的词汇
  2. 学习解决范围较大却抽象程度较高、不易训练的技能

先扎实基本功,再积累低频词汇

综上所述,课程结构的设计,既要考虑解决问题半径的逐步扩大,也要考虑学生学习效果的最大化。正如前文所说,教学者常常急功近利,贪多而不求精,相比多讲低频知识点,扎实掌握基本功更能事半功倍。

  1. 扎实掌握基本功可以建立信心,降低恐惧
  2. 熟悉实例的积累,降低陌生,加快抽象运算
  3. 常见路径的熟悉,更容易去掌握低频知识点
  4. 学生记忆容易褪去,扎实的基本功训练是最划算的投资

故而,在教学过程中,宜逐级训练,在某一级别上达到一定的标准后,再继续下一个层级的讲解和训练。正如前文所述,教学者常常希望通过少量的、综合的题目的讲解,来提高效率,一方面,教学者低估了这种讲法对学生的难度,另一方面,也高估了这种教学方法的效率,欲速则不达。

【案例】高考数学中一元函数的导数

第一环:基础技能

1.1 求导运算

为了进行求导运算,

  1. 需要掌握常见函数的导数公式,例如, $(e^x)’ = e^x$
  2. 需要掌握四则运算的求导,例如,$(fg)’ = f'g + fg'$
  3. 需要掌握复合函数的求导,例如,$(e^{x^2})’ = 2x e^{x^2}$

求导运算,作为导数的起点,是一种逻辑的结果,也可以看成是一种逻辑的初设。

因为现在我们讨论的是数学,是逻辑的计算结果,而对于科学,例如,$F=ma$,可以认为是一种特殊的逻辑初设,符合现实世界观察结果的一种模型初设。

1.2 求切线方程

求导运算,可以应用到求某一切点的切线,例如,$f(x) = e^x$ 在 $x=1$ 处的切线方程

求切线方程,是基于求导运算和已经掌握的技巧(点斜式求直线方程)而得到的一个新的技巧。

结合拓展:$A \& B \Rightarrow C$,在这里,$A$ 指的是求导运算,$B$ 指的点斜式求直线方程,$C$ 指的是求切线方程

1.3 讨论不熟悉函数的单调性

基于导函数的正负,决定原函数的增减,求解新鲜函数的单调区间,例如,$f(x)=x^3 - x$

可以根据导函数的性质,逐步提高难度:

  1. 导函数是熟悉的函数,例如,$f’(x)=3x^2 - 1$
  2. 导函数是两个熟悉函数的乘积,例如,$f’(x) = (x+1)e^x$

对于 $f’(x) = (x+1)e^x$ ,这个函数依旧是一个新鲜函数,但我们只关心正负性 ($\text{sign}((x+1)e^x)$) ,而对于它的大致图像或其他性质并不关心。

由于它是由两个熟悉函数乘积而成,可以分别讨论,尤其是 $e^x > 0$ 恒成立,那么 $\text{sign}((x+1)e^x) = \text{sign}(x+1)$,这样一步转化,将一个新鲜情景,转化成了一个熟悉的、简单的、可以解决的情景。

如果我们毫无助力的让学生解决:$f(x) = xe^x$的单调区间,我们就是把这一步,基于工具的策略,交给学生探索尝试,

1.4 讨论不熟悉函数的极值与最值

基于单调性,研究新鲜函数的单调区间

例如,$f(x)=x^3 - x$ 在 $[-2, 3]$ 的极值和最值

例如,$f(x)=e^x - x - 1$ 的最小值

第二环:必备技能

2.1 导函数需要二次求导

例如,$f(x) = 2e^x - x^2 - 2x$ 的单调区间

二次求导,就是把导函数当成是原函数,再次研究其性质。这需要对一次求导熟练掌握后,拓展其解决问题半径的一个新技能。

2.2 证明恒成立

例如,证明:$x \geqslant \ln(x + 1)$

例如,证明:$e^x \geqslant x + 1$

根据技巧 $1.4$ ,我们可以得到 $f(x)=e^x - x - 1$ 的最小值是 $0$ . 所以,这个技能是 $1.4$ 技能的应用,而为了利用上 $1.4$ ,我们需要对 $f(x) \ge g(x)$ 进行变形, $f(x) - g(x) \ge 0$,从而利用上 $1.4$ 。

这样,在没有这个技能训练前,这种题型,实质上是应用了“基于工具的启发策略”,需要解题者,自主的探索和尝试。从能力上,需要解题者对技能 $1.4$ 有熟练的掌握,能够快速的识别提取,对 $f(x) \geqslant g(x)$ 的常见变形式能够迅速展开。

在讲解了这个技能后,这种题型,就被弱化成了“强策略技术”,可以降低解题复杂度。一般来说,在高考情景下,大多考生是通过平时做题训练,潜移默化或刻意归纳出了这样的题型,而很少在考试过程中去应用通用的弱策略去探索尝试。讲解这个技能,一是降低了学生的探索成本,二是强化训练了技能 $1.4$ ,三是提高了学生对于应用导数的信心和熟悉感,四是积累了“基于工具的启发策略”的实例。相反的,如果没有类似的引导,也缺乏“基于工具的启发策略”的专门训练,就会让学生感到挫败,无法通过实例的积累,去归纳这类问题的共同特征。

2.3 导函数是三角函数

例如,求 $f(x) = \sin^2{x} \sin{2x}$ 在 $(0, \pi)$ 的单调区间

之所以,将三角函数,单独列为一个技能,一是因为三次函数、$e^x$、$\ln x$的导函数正负接近于解决一次函数,而三角函数增减区间复杂,形状差别较大,分离开来,可以降低技能的复杂度。二是因为相比较而言,三角函数的出现频率较低,倾向于让学生对三次函数、$e^x$、$\ln x$的处理更加流畅,从而分离开来。

但是由于三角函数使用类似的策略,在解决三角函数时,可以认为是进阶的去使用更为抽象的策略,之前三次函数、$e^x$、$\ln x$的技能为此提供了扎实的实例基础。

2.4 含参求单调性

例如,求 $f(x) = ae^x + x$ 的单调区间

参数的引入,增加了抽象程度,把之前一个明确的函数,变成了一类函数,随着参数的变化,找到可区分的不同情景。

2.5 未知切点

例如,若 $y=kx$ 与 $y=e^x$ 相切,求 $k$

解决这个问题,需要使用“基于变量的方程策略”,为了能够利用上导数,需要设出切点,建立起方程求解。

2.6 大致图像

例如,画出 $f(x) = \ln x - \frac{x+1}{x-1}$ 的大致图像

2.7 零点个数

例如,求 $f(x) = \ln x - \frac{x+1}{x-1}$ 的零点个数

第三环:进阶技能

3.1 含参数的需要二次求导的单调区间

例如,求 $f(x) = e^x + ax$ 的单调区间

3.2 含参数的恒成立问题

例如,若 $\ln(x+1) \leqslant ax$ 恒成立,求 $a$

3.3 特殊值零点的恒成立问题

例如,证明:$e^x > \ln (x+2)$

3.4 含参数的零点个数

例如,若 $f(x) = x^3 - kx + k^2$ 有三个零点,求 $k$ 的取值范围

第四环:拓展技能

4.1 结合放缩法,证明恒成立

例如,证明:$\ln n > \frac{1}{2} + \frac{1}{3} + \cdots + \frac{1}{n}$

根据放缩,我们可以把问题转化为 $\ln n - \ln (n-1) > \frac{1}{n}$

进而可以转化为技能 $2.2$,也就是,证明: $\ln x - \ln (x-1) > \frac{1}{x}$

也可以对 $\ln x - \ln (x-1) > \frac{1}{x}$ 进行转化,从而利用上 $e^x \geqslant x + 1$

$\ln \frac{x}{x-1} > \frac{1}{x} \Leftarrow \ln \frac{1}{1-t} > t \Leftarrow \ln (1-t) < -t \Leftarrow 1 + x < e^x$

4.2 端点效应

例如,若 $e^x - 1- x-ax^2 \geqslant 0, x\in (0, +\infty)$恒成立,求$a$取值范围

4.3 切线个数

例如,若过 $(a, b)$ 可做 $f(x) = x^3 -x$ 三条切线,求证:$-a < b < f(a)$

4.4 利用重要不等式

例如,证明:$e > (1 + \frac{1}{n})^n$ 恒成立

结构关系的确定

导数技能的关系图

导数技能之间的关系图(DAG),其中虚线代表可以依赖(结合)相关技能来拓展解决问题范围

技能层级的划分,是由训练回报率决定的

设技能的训练回报率为 $r$,考察分数期望值 $p$,训练期望时长为 $t$,依赖于本技能的子技能 $sc_i$,在子技能中的权重(按照训练时间比率) $w_i = \frac{t}{t_{sc_i}}$,那么有:

$$ r = \frac{p + \displaystyle \sum_{i=1}^n{w_i p_{sc_i}}}{t}$$

考察分数期望值是有考察频率和考察分值来决定的。不同的知识模块,由于回报率的不同,自然优先选择训练时长短,考察频率高的知识点,例如,高考数学中的集合和复数。

训练期望时长,由技能的复杂度决定,如果训练用时过长,因计算复杂或抽象,给学习者带来的痛苦过多,那么,我们要尝试分解问题,将其中一些困难步骤,剥离开来,形成一个新的技能点。

训练期望时长,同时受到学生本身认知能力的影响,对于一个学习能力、总结能力强的学习者,那么TA的训练时长就会短。

这样,在判断环数层时,我们既考虑了技能的复杂程度,也考虑了技能的使用频率。与此同时,因为技能之间的依赖关系,子技能的环数不能低于父技能。

如果考察的题目,都是外环的技能,例如,当前(2020年左右)的高考数学中的导数题目,也无法让学生越过基本功的训练,直接高强度的硬拔训练外环技能。这不仅要求学生掌握更高阶的技能,同时也对学生在低阶技能上的熟练度有很高的要求。也就是说,如果我们更早的训练外环的技能,那么学生要承受更大的复杂度的折磨,虽然训练效果不能更快的从测试中得到体现,但仍然要看到学生解决问题能力和解决问题半径的扩大,为娴熟解决高阶问题打好了基础。

如果不仅都是外环技能,要么需要多次使用通用的弱策略,要么需要积累大量的词汇,也就是说,每一种题型的复杂度都很高,无法通过简单的关联,从而缩减计算量,那么只能认为这样的验收题目难度很大,例如,高中奥数题目。如果这是在一个需要区分度的考试中,那么出现过多的弱策略探索的题目,可能会使得试卷缺乏对不同掌握程度的区分,例如,2003年全国高考理科数学题目。

所谓技能,就是免于探索的指明

$$\frac{5}{2-i}$$

上面这道复数题目,放在高考数学中,往往是全卷中最简单的题目,但如果一个学生只是知道 $i^2 = -1$ 这个定义的话,而没有技能的训练,这样一道简单的题目也是有挑战的,或许设 $a + b i$ 待定系数还算直接,但是乘以 $\frac{2+i}{2+i}$ 来化简,注意到平方差公式可以消去分母中的 $i$,就不那么容易想到。

在技能的遴选中,降低复杂度和提高通用性是一个艰难的平衡。通用性太强,增加了复杂度,也就增加了训练时长,训练的效果也可能不尽人意,也就是训练的回报率很低。如果过于具体,那么解决半径就有限,虽然为通用性积累的实例,但若是需要积累的实例太多,也就是技能的数量很多,那么训练的时长同样很长,回报率同样不好。这和机器学习中,偏差-方差的平衡(Bias-Variance Tradeoff)是类似的。对于那些困难的问题,就如同分叉很多的狭路,费神费力,而作为教学题目,应当和教学内容结合度高,处在学生短时间内可以探索到的范围之内。

训练回报率和最后的技能掌握程度有强相关性,主要原因还是因为学生的兴趣所致,例如,学习编程,如果学生使用Python开始学习,比使用C语言更容易简直

【案例】解决半径的提升,一元导函数

导数解决半径的扩大

导函数正负可以判定的函数:

类型1:$f’(x) = e^x - 2$ 是一个熟悉的、可以判断正负的导函数

类型2:$f’(x) = e^x(x - 2)$ 是一个恒大(小)于零乘除一个熟悉的函数

类型3:$f’(x) = (e^x-2)(x - 2)$ 是一个熟悉的函数乘除另一个熟悉的函数(包含了类型2)

类型4:$f’(x) = e^x - \cos x, \, x > 0$,是两个熟悉函数加减,但可以讨论出正负的函数

类型5:$f’(x) = e^x- 2x$ 是一个不熟悉的函数,但其导数是以上几种类型之一

类型6:$f’(x) = e^x- a x$ 通过增加参数,从而提高抽象的一类函数

基于导函数正负可以判定,来解决实际问题:

类型7:$f(x) = e^x - x - 1$的极值和最值

类型8:利用最值性质,证明恒成立问题:$e^x\geqslant x + 1$

类型9:利用图像性质,判断零点个数:$f(x) = e^x - x^2$

类型9:利用极值点性质,证明恒成立问题:$e^x\geqslant \ln (x+2),\, x > 0$

类型10:通过增加参数,从而提高抽象,解决一类问题:若$a e^x\geqslant x + 1$,求 $a$

不仅仅是解决问题半径在提高,学生对于知识的熟练度也在提高,例如,掌握类型6之后,对于类型1,就会显得非常轻松。与此同时,也提高了学生对于复杂以及抽象问题的容忍度。

既要考虑技能的离散频率统计,也要考虑技能的复杂度和技能间的内在关系

对于一个出色的考题,考察频率和技能之间的关系应该是有很强相关性的。

【案例】解决半径的提升,可以解决的原函数

导数解决半径的扩大

【案例】解决难度的提升

类型1:实例的变化,以及计算复杂度的提高

  1. 证明:$e^x \geqslant x + 1$

  2. 证明:$ \ln(x+1)\geqslant \dfrac{x}{x+1}, \, x>0$

  3. 证明:$(x+2)\ln(x+1)\geqslant 2x, \, x>0$

以上三个例题,虽然使用的策略是一致的,但是每一个题的本身的求导和讨论的计算复杂度是不一样的。而这些额外的复杂度,并不是技能所着重解决的,在最初训练时,应当降低没必要的复杂度,让更多的计算力放在对策略的通用性的理解上。

类型2:分步测试,多给积极评价和信心建立

证明:$e^x \geqslant x + 1$

  1. $f(x) = e^x -x-1$ 的导函数是什么?
  2. $f(x) = e^x -x-1$ 的增减区间是什么?
  3. $f(x) = e^x -x-1$ 的最小值是什么?

类型3:通用性的提高

  1. 参数的引入:$e^x\geqslant x + m$ 恒成立, $m$ 的最大值
  2. 策略的迁移:解不等式 $e^a \leqslant a + 1$

类型4:和其他知识点的结合

基于之前颗粒化原则,一般来说,知识点的结合不宜在颗粒化知识讲解中测试。

  1. 证明:$e^x$ 在 $x=0$ 处的切线,始终在 $e^x$ 曲线之下

【案例】微波炉的界面设计

例如,现在我们有一个微波炉,如果只有一个+30度的按钮,那么通用性就很强,入口也很清晰,但是如果有十五个按钮,对于不同的情景(加热玉米还是加热)都对应一个按钮,入口开始变得复杂。好处是,如果我们恰巧是

但一般来说,我们倾向于降低复杂度的技能训练,也就是对可训练度高的技能的训练,这样的好处前面已经表述,简而言之,如果学生洞察能力强,这种实例化的技能,有利于TA的归纳,如果学生不擅长于找到规律,至少TA能够解决一些特例化的情景,建立起对知识的信心和熟悉感,学习动力的提升为积累更多的实例,奠定了基础,提高了找到规律、归纳总结的可能性。