Mind Trace 理念的的一切
對學習一無所知的結果是什么?是學習效率低下和排名落后的焦慮嗎?
不不不。你看看你旁邊的清華北大同學,他們可是上了清華北大的。
并不是你我對學習一無所知,而是所有人都對學習一無所知。然而為什么同樣是一無所知,有些人成為了學習的佼佼者,有些人成為了班級的吊車尾?你可以想想老師經(jīng)常在講臺上大言不慚說的話:在同一個班上課,同一個老師教,為什么xxx學習這么好,你學習這么差?每次聽到這種話我真的很想罵回去:你問我?我還想問你呢。
對學習的一無所知,不是我在這里泛泛而談。具體而言,這是基于如下這一串問題:
你知道 / 理解 / 能復述 你今天學了什么東西嗎?
你記得 / 理解 / 能復述 你昨天學了什么東西嗎?
你記得 / 理解 / 能復述 你七天前學了什么東西嗎?
你記得 / 理解 / 能復述 你一個月前學了什么東西嗎?
你知道自己分配給每一門學科的日均時長是多少嗎?
你記得自己近些天新學的 知識A 和知識B 是哪個先學,哪個后學,之間的時間間隔是多長嗎?
你意識的到自己學習一門學科的學習路線內(nèi)在有無邏輯上的合理性嗎?
...
任何科學的、具有說服力的理論,離不開源于實際的、足量的數(shù)據(jù)的支持。然而我們遇到的卻是這樣一種情況:我們確實進行了學習,且進行了大量的學習,且因為這類大量的學習掌握了部分學科能力,但是,我們完全不清楚自己的學習軌跡是什么。你或許會說,啊我今天大概學了什么什么,昨天大概學了什么什么,上個星期,上個月好像學了什么什么來著?諸如此類。確實,我們可能會有模糊的印象,但這些印象距離形成建設性的理論與意見,太遠太遠了。
直到人類發(fā)展出能夠將人腦內(nèi)至少是以語言形式呈現(xiàn)的思維活動以錄音或文本的方式外化的技術之前,要徹底地研究一個人的一切思維活動,這是不可能的。然而為了解決問題,這又是一件不得不做的事情。至少,我們得嘗試以簡陋的方式外化人關于某門學科具體的知識體系,這樣形成的結構性數(shù)據(jù)雖然稱不上能給出建設性的意見,但至少在當前的技術條件下,我能夠開發(fā)出這樣一個軟件。
Mind Trace的基本理念就是,把一切學習記錄下來,然后根據(jù)學習數(shù)據(jù),為你的學習和復習規(guī)劃提供建議與參考。這種記錄主要是兩個維度上的記錄:一是記錄你的知識體系具體是什么,這是一張思維導圖就能完成的事情;二是每個知識點本身的學習記錄,包括這個知識點何年何月何日被創(chuàng)建,何年何月何日進行了一次復習這類。這兩類記錄實質上都不是軟件完成的而是用戶自己完成的,軟件為用戶提供記錄學習的平臺,用戶能夠像日常做筆記那樣使用軟件,數(shù)據(jù)記錄在使用上成為了附帶的好處。
這一附帶的好處恰恰是軟件的核心功能。有了每個知識點的學習數(shù)據(jù),就可以計算用戶對這一知識點的掌握程度。具體的算法在這里不加贅述了,總之技術上實現(xiàn)的歷程是比較曲折的。最后的展現(xiàn)是這樣的:

熟練度評分滿分100分,幾乎可以一目了然自己那些知識點很久被忽略(如偏灰色的節(jié)點),哪些知識點還沒來得及學(如紅色節(jié)點),哪些知識點剛學(如藍色節(jié)點)這類信息。
知道了這些信息,下一步的學習規(guī)劃就很容易確定了。如果整體上知識點的掌握程度都比較好,就可以考慮添加新的知識節(jié)點,學習新的內(nèi)容;如果有某一部分的熟練度差,就可以找相應的學習資源進行集中復習。相較于使用這個軟件之前只能憑借感覺估算自己的學習狀況,Mind Trace真的實現(xiàn)了通過一個最簡單的數(shù)字指標來將一個人知識體系的熟練度維度可視化地展現(xiàn)出來。
這一熟練度信息還能用來做很多事情。比如,可以根據(jù)不同節(jié)點的熟練度差異,選出掌握程度最差的節(jié)點針對性生成一張專題試卷,通過做題來進一步復習。
具體而言,這涉及到了Mind Trace的第二個主要機制,那就是知識以卡片的形式存儲。使用anki的經(jīng)歷讓我看到了卡片作為知識載體相較于平白筆記的優(yōu)越性。一張卡片由正面和反面組成,直觀理解就是正面是問題,反面是答案,所有知識點都需要被轉化成若干問題,而知識本身就存儲在對問題的回答之中。下圖是一個例子。



卡片的一個巨大的好處就是便于復習,也正是卡片機制使得Mind Trace通過熟練度生成試卷成為了可能。試卷就是由一張張卡片組成,正面做題,反面對答案,做完題后添加一次復習記錄,如果覺得掌握得好就打高分,掌握不好就打低分,Mind Trace同樣收集卡片的復習數(shù)據(jù),完成度低的卡片會優(yōu)先復習。
如果僅僅是離散地記錄知識并規(guī)劃復習的話,市面上已經(jīng)有成熟的軟件做這件事情了,anki就是很好的例子。然而以前的使用經(jīng)歷告訴我,anki幾乎不能適配體系化知識記錄的需求。anki原本的功能是用來背單詞,而數(shù)學物理這類體系性知識,用背單詞的形式,把軟件直接當作錯題本,這種方式的效果是很差的,anki絕大多數(shù)情況下會誤判人對這類體系性知識的掌握程度。
為了實現(xiàn)體系化記錄知識的目的,Mind Trace采用了樹形知識結構的方案。從上面的知識熟練度可視化圖可以看出來,每個知識節(jié)點都有其親代節(jié)點,這體現(xiàn)了知識之間的層級關系。通過這種層級關系,Mind Trace能夠在親子代之間傳播熟練度評分,對子代知識點的復習會影響到親代知識點的熟練度,對親代知識點的復習同樣會影響到子代知識點的熟練度,這種體系性的關系更好地表征了知識在人腦內(nèi)存儲的關鍵特征,事實上也是更加科學的知識體系外化結構。

Mind Trace的一個重要理念是,知識不一定要以平白的文本形式存儲,事實上存儲知識最理想的載體,其實是一個人學習這個知識時所處的時空片段。也就是說,復現(xiàn)你在昨天課堂上聽講的那兩個小時,是你在課堂上學習的知識的最好的外化方式。當然這種需求是不可能實現(xiàn)的,但是有次選方案,那就是想辦法獲得當時學習的錄屏等多媒體文件。在現(xiàn)實世界上的課,Mind Trace僅僅作為一款軟件并沒有辦法干預;但是如果是網(wǎng)課,你完全可以把網(wǎng)課的視頻地址粘貼到Mind Trace相應知識點的Learning Repository中,并注明相關片段是從第多少分鐘到第多少分鐘,這樣就能實現(xiàn)類似時空重現(xiàn)的效果。Mind Trace在這方面的功能還相對簡陋,只提供了一個便捷的快捷鍵鏈接功能,實際上視頻觀看或pdf閱讀等都是在軟件外進行的。下一個開發(fā)目標,就是把這些行為內(nèi)置到軟件內(nèi)部,不僅可以進一步便捷使用,更重要的是能夠進一步細化學習數(shù)據(jù)的記錄,這些數(shù)據(jù)可以想見具有甚至更大的研究價值。
以上就是Mind Trace理念上的全部了(也許不是)。Mind Trace這個項目是我大一上學期開始著手的,我是邊開發(fā)邊使用地一直到了現(xiàn)在,軟件經(jīng)歷過很多次迭代,大多數(shù)的原因是自己的編碼能力有限,寫了難以維護和拓展的爛代碼,于是對整個項目進行一次又一次的代碼重構?;蛟S軟件還有很多bug,我自己在使用過程中是找到一個修一個的狀態(tài),但無論如何,現(xiàn)在應該絕大多數(shù)時候能夠正常運行了。我不知道這個項目還會發(fā)展多久,但這是一個長期項目是毋庸置疑的,我會將Mind Trace迭代到確實具有了階段性成果為止。
安裝包:
鏈接:https://pan.baidu.com/s/1U76Beg9mre3GhdLwTueY_Q?pwd=lmbv?
提取碼:lmbv?
--來自百度網(wǎng)盤超級會員V4的分享