新用戶注冊完成之后,有幾個默認數(shù)據(jù):
- 學習量
- 默認個性化的學習序列
- 資源本身的序列
資源本身的序列

這個表中,排序,也就是1,2,3,4,5,6.。。。。。這個東西視為資源本身的排序。
默認的個性化的學習序列
每個新注冊用戶,自己的學習序列和上面的資源本身的排序是一樣的。除非我在后臺手工調整。學習序列的樣子是這樣的(因為現(xiàn)在我)
動畫片:1,2,3,4,5,6,7,......一直到動畫片最后一個
兒歌:同上
繪本:同上
學習量
動畫片,兒歌,繪本都是4
學習計劃的生成邏輯
學習計劃是針對每個孩子的,生成學習計劃時,用到的數(shù)據(jù)有2個
- 個性化的學習序列
2.學習量
例如:動畫片的個性化的學習序列是:
1,2,3,4,5,6,7,8,9,10(我們假設只有10個)
學習量是4
那么,第一周,用戶的學習計劃的內容是:
1,2,3,4對應的資源名稱
為何是1234,而不是12345,是因為學習量是4.如果學習量是5,那么就應該是12345.
雖然是4個數(shù),為何是1,2,3,4,而不是3,4,5,6, 原因是從孩子“個性化學習序列的最開頭開始計算,取4個數(shù)”
取來的數(shù),對應的名稱是那個呢?依據(jù)如下圖:

當然,我估計每個資源名稱有一個唯一的Id號,這個我不太清楚,需要你看看源代碼。
以上說的是第一周,這個周是怎么計算的呢。就是按照星期幾計算:
例如用戶注冊時,是周3,從用戶注冊那個時間點立刻生成一份學習計劃內容。
學習計劃內容什么時候發(fā)生變化呢?是在每周一零時零點零分,形成一個新的學習計劃內容:我們接著上面的例子,第二周學習計劃的內容就應該是:

就是去找5,6,7,8對應的資源的ID號對應的資源。
一周的學習計劃只生成一次,一旦生成之后,本周不能更改,即便是我更改了,系統(tǒng)也不認,只有到周一的零時零點零分時,才會重新計算。重新去計算時,主要看學習量和學習序列本身有什么變化,從哪個位置號開始計算等3個指標(位置號看下面的介紹)
人工調整“個性化學習序列”的處理邏輯

這個序列是系統(tǒng)自己產(chǎn)生的,如果我手工更改了怎么處理?
這里的方式是,用“,”(英文逗號隔開)的一串數(shù)字。例如我可以把這個孩子的“學習序列”手工改成
1,2,3,4,5,2,3,4,5,6,3,4,5,6,7,4,5,6,7,8,9,10
程序里面有一個判斷,這些數(shù)據(jù)是否超出了資源本身排序序號的最大值,例如上面這個例子中,資源排序一共就到10,如果我手工更改時,寫了11,16等等大于10的數(shù),則是無效的。
孩子已經(jīng)用了一段時間,我半中間想改這個孩子的學習序列,怎么處理:
還是按照上面的例子,這個孩子已經(jīng)走到了第二周,在第二周的星期6,我做了以下更改:
- 我把這個孩子的學習序列從1,2,3,4,5,6,7,8,9,10改成了1,2,3,4,5,2,3,4,5,6,3,4,5,6,7,4,5,6,7,8,9,10
- 學習量沒有改,還是4.
那么,周六我改完之后,用戶的學習計劃內容不變,直到第三周零時零點零分時,系統(tǒng)開始重新計算。這時,讓我們看一下,系統(tǒng)怎么計算

這個時候,系統(tǒng)計算學習計劃的結果應該是:5 6 3 4
這個圖,上面的紅色的數(shù)字,是位置號, 下面的黑色的數(shù)字,是資源的排序號,(因為資源都有一個唯一的id,這個id又對應著一個唯一的排序號,所以,可以理解這個黑色的數(shù)字就是資源ID)
前兩周,資源位置號已經(jīng)被用去了8個,所以,第三周,位置號要從第9開始。取4個,所以,資源ID就是:5 6 3 4
位置號是可以調整的
接著上面的例子,第二周的周六,我把位置號的調整起始位置改成了1,那么,第三周,學習計劃的內容就變成了:1 2 3 4
END
額外添加備注:
