正在加载题目……
本页测试各课教的内容:“Python 和本地 AI”课程大纲里的每一课,以及 Start Python 带你去的每一课。每一课是一个主题。本页每次问 15 道题。它为每个主题记一个分数,找出你最薄弱的三个主题,就问这三个。每答完一题,它会说明原因,并给你一个链接,通向这道题所出自的那部分课程。
先学完一课,再来测这一课。在测试下方,你可以选出大纲里已经学完的单元,测试只在这些单元里出题。
你只需要这一个页面。你的分数只保存在这个浏览器里,不会发送到任何地方。
正在加载题目……
测试里没有任何 AI。它只是对你给出的答案做算术,全部过程都写在本页上。
每一轮就是这个循环转一圈。测试从你最薄弱的几课里选题,记下你的答案,调整你每一课的分数,下一次再选更难或更容易的题。
测试用 Elo 等级分来跟踪你对每一课掌握得怎样,并用这个分数来选择你下一轮的题目。
掌握度曲线(S 形曲线)
从左到右是分数 θ,从 −3 到 +3。从下到上是掌握度的百分比。每一课都有自己的 θ。它从 0 开始,也就是 50%,你的答案会让它上升或下降。
一次 Elo 更新的三个步骤
公式
Elo 更新: 新 θ = 旧 θ + K × (right - expected) right 是 1 或 0
预期: expected = 1 / (1 + e^(-(θ - difficulty)))
掌握度: mastery = 1 / (1 + e^(-θ))
优先级: (1 - mastery)² × untouched × 1 / (1 + 0.1 × attempts)
在一课的前十次作答里 K 是 0.6,之后是 0.3,所以分数一开始变化很快,然后稳定下来。对一门从没被问过的课,untouched 是 1.3,否则是 1。attempts 是你在这一课上作答的次数。每道题都有一个难度 difficulty,从 −1(容易)到 1(难)。
这和国际象棋的 Elo 等级分是一个道理。你的对手不是另一个人,而是每道题的难度。答对一道难题,比答对一道容易的题得到更多的 θ。
每次你按下开始,测试就为你组成一轮 15 道题。这些题不是随机抽的。测试找出你最薄弱的三课,每课出五道题,让你练在最需要的地方。
你的档案
测试为每一课记一个分数 θ。每个 θ 都从 0 开始,也就是 50% 的掌握度。按上面的 Elo 公式,答对让它上升,答错让它下降。你的档案保存在这个浏览器里,所以下次打开本页时它还在。结果页面上的从零开始会把它清除。
组成一轮
测试给你所选单元里的各课排序,取优先级最高的三课,每课选五道题:难度最接近你这一课 θ 的那些题。你见过的题在接下来的三轮里不会再出,除非这一课已经没有别的题了。
题目的种类
大多数题给你四个答案来选,每次四个答案的顺序都不一样。少数题要你输入一个单词,比如一个命令的名字。每道题都属于一课,并有一个难度,所以这一课的分数能跟着你走。
正在加载……