趙 寅,韓思瑤
(北京市十一學校,北京 100039)
隨著課程改革的深入,學生在自己的學習上將擁有更大的選擇權利,傳統的基于行政班的排課顯然無法滿足學生的選課需求。因此,“排課后選課”或者“選課后排課”模式將成為幾乎所有學校的必然選擇。越來越多的學校將不僅僅為學生提供包括高考課程在內的不同類別課程的選擇,也將開設分層選擇課程以滿足不同層次學生需求,甚至在教學班的班級容量、學科教室建設等方面給學生更合理的學習環境。于是,學校的排課和選課將變得非常復雜,優質的排課能夠讓學校在有限的資源情況下完成更多的教學實踐,因此一次排課、選課活動就要同時考慮多種因素,包括教師資源、教室資源、課時資源、班級容量、分層科目、分類科目、教師時間個性化等等。
十一學校2011年開始課程改革的試點工作,從2011年到2016年5年的時間內,學校經歷了分層、分類、特需的課程體系建設,各年級對應的分層分類課程的選課組合也由簡單的34種發展到112種之多。立足學生的發展方向、學習方式和課程的難度,北京十一學校首先對數學、物理、化學和生物等傳統的理科課程實施了分層設置。對于語言與文學領域的語文和英語,則依據學科自身的特點和學生的學習需求情況,按照“必選基礎課程+分類自選課程”的設計思路實施。以數學為例,從數學Ⅰ到數學Ⅴ難度不斷加深。如果一位學生打算將來做精算師這樣的職業,高中數學就需要選擇最高層次的數學Ⅴ;如果想成為一名工業設計師,選擇數學Ⅱ的難度就可以了;如果將來想從事歷史、文學等人文方向的工作,學習數學Ⅰ即可。[1]
經過幾年的實踐探索,北京十一學校逐漸形成了一套課程體系,包括 269門學科課程、34個綜合實踐課程、60個自主管理課程、70個職業考察課程、250個社團課程、12個高端項目研究課程、8個游學課程和6個書院課程以及若干個援助課程等。學校希望,當這套課程體系呈現在學生面前的時候,在選擇與嘗試中,他們那些潛在的、真實的興趣、需要和發展潛質能夠被慢慢發現和喚醒,選擇性的課程可以幫助每一位學生慢慢找到自己的優勢領域,促進其發現自我并認識自我。[2]
為滿足較多約束條件下多需求的分層走班選課的排課需求,我們正在探尋并提煉適合國內實際情況的可推廣使用的解決方案,包括復雜情況下的排課思路、具體的選課流程、排課選課教師工作手冊、選課指導及培訓資料等相關資源,排課選課的網絡平臺等。本文將十一學校近幾年來對多約束條件下分層走班選課的排課思路與實現方案進行簡要闡述。
在十一學校高中開始完全分層走班之后,我們開發了三種排課思路,分別適應不同的要求,下面做一個簡單的介紹。
思路一:學生分組
此思路是十一學校分層走班后最早的思路,當時分層較簡單,此思路足以滿足所有要求。思路是將所有學生分成若干大組,每組中各科開設等量的班,學生的各科班級均在本組中,排課(將各個教學班安排好上課時間)時將每組當作一個大班級來排,也就是每組中各科排在同一時間,但不同科時間不一樣。
以一個年級直升的理科為例:該年級直升理科共10個語文班、10個數學班 (4個高層班)、10個英語班、10個物理班 (4個高層班)、10個化學班 (3個高層班)、10個生物班(2個高層班)。我們可以按如圖1形式分成3大組,其中III表示高層,II表示低層,B表示直升,阿拉伯數字表示班號:

圖1 3組排班情況a
若某一個學生是數學、物理、生物高層,則應被分到B1或B2組。只需在B1組或B2組中為他選擇合適的班級,如圖 所示

圖2 某學生分班情況a
同時,在學生具體分組和分班時,還需考慮人數均衡、男女生均衡等各種細節要求,這也是一項比較復雜的任務。本思路的優點是排課自由度較大,教師和學生的課表都會相對舒服一些。但也有不足,學生選擇性小,只能在同組間選擇班級,當分層更復雜或者各科分層不均衡時完全不可用。因此其適用范圍為:文理分科或者6選3、7選3均適用,但要求無分層或分層情況比較簡單。
思路二:課程分組v1.0
當十一學校的課程分層又進一步細化時,思路一就不能滿足排課需求了。比如數學高層中,我們將競賽學生放在同一個教學班,將學AP和自招的學生分在兩個教學班,還有一部分學生雖然愿意學高層,但并不學自招或競賽課,這樣的學生又放在另一個教學班。對于一個很多科都是高層的學生來講,他的高層班幾乎是被指定的。因此按思路一排課的話,很難同時滿足所有學生的需求。為了解決這個問題,我們提出了思路二,也就是課程分組的方法。
此思路將所有課程分成若干大組,每組中各科開設一些班,排課時保證不同組的任意教學班上課時間不一樣,每組中的教學班可以排在同一時間,學生各科跨組選擇班級。在學生具體分組和分班以及排課時,仍需考慮很多細節問題。
以一個年級為例:此年級直升理科共有10個語文班、10個數學班【III(B)1競賽、III(B)2&III(B)3AP和自招、III(B)4普通高層】、10個英語班、10個物理班【III(B)1競賽、III(B)2&III(B)3AP 和自招、III(B)4普通高層】、10個化學班【III(B)1競賽、III(B)2&III(B)3普通高層】、10個生物班(2個普通高層)。我們可以按如圖3形式分成3大組:

圖3 3組排班情況b
此分組形式表示每組中的數學和生物不能一起上課,且每組中數學或生物有可能和物理、語文一起上,也可能和化學、英語一起上,并且要保證不同列的課時間一定錯開。
如果某一個學生是數學高層且要上自招 【數IIIB(2)或數 IIIB(3)、物理普通高層(物 III(B)4】、生物普通高層,那么該學生數學只能分在B2或B3組,又因為物理只能在B3,所以數學不能分到B3組,因此只能在B2組,于是生物也只能在B2組。此學生可以按照圖4形式分班

圖4 某學生分班情況b
此思路學生的選擇性大,但對排課的限制較大,課程分布較分散。只適用文理分科,但分層情況可以很復雜。
思路三:課程分組v2.0
由于早幾年十一學校每屆學生文科班較少,因此思路一和思路二都只考慮了理科的排課,理科排好后,文科單排即可。但2017級新高一開始高考科目6選3,不再有文理之分,加之十一學校又開始進行語文和英語學科的分類課程,因此,僅高考科目學生就有將近5000種選擇。此時不但要將政治、歷史、地理一起分組,物理、化學、生物、政治、歷史、地理各班所開教學班數量還各不相同。因此課程分組v1.0方法就不再適用,基于此方法進行改進,我們提出思路三:由于語數外三科是必選內容,分組時將此三科綁定,而其他六科另行分組。此思路對文理分科或者6選3、7選3均適用,且分層情況可以很復雜。
以十一學校2017級高一為例,此年級共有9個語文班【一個語文 III(B)、一個語文 I(B)、7個語文 II(B)】、9個數學班【數學 III(B)1競賽、數學 III(B)2AP和自招、數學III(B)3普通高層、3個數學 II(B)、3個數學I(B)】、9 個英語班【3 個英語 III(B)、5 個英語 II(B)、1個英語I(B)】、8個物理班【物理 III(B)1競賽、物理 III(B)2&III(B)3&III(B)4AP 和自招、4 個物理 II(B)】、8個化學班【化學III(B)1競賽、化學III(B)2&III(B)3普通高層、5個化學II(B)】、5個生物班【生物III(B)1競賽、生物III(B)2普通高層、3個生物II(B)】、4個歷史班、2個地理班、2個政治班。
我們采用了如圖5、6所示的分組方式:

圖5 語文、數學、英語分組

圖6 物理、化學、生物、歷史、政治、地理分組
與課程分組v1.0不同的是,每組中物理、化學、生物、歷史、政治、地理各科班級數如何配比才能保證學生能夠無矛盾且較均勻地分配好是一個巨大的問題。單靠人工計算來完成分組,需要大量的時間。因此從2017級高一開始,我們借助云校公司的自動排課系統進行學生的分組和分班,并取得較好的結果。
在2017級高一學生的排課中,借助云校系統的自動排課算法,我們成功完成了新高考形勢下的走班排課。這個過程相比以前復雜很多,利用算法與工具的提升,結合人的個性化判斷與經驗,共同解決了人工無法處理學生選擇性的量級增長的問題,同時提取出教務排課規劃,并形成走班排課規則集合。
整個自動排課過程大致分為以下三步:(見圖7)
第一步:資源評估
在排課前期,項目組需要對整個學校的各項資源情況進行匯總、分析、評估,才能根據實際情況進行規則制定。

圖7 自動排課過程
排課需求分為基本信息和特殊規則。基本需求包括課時安排、學科分層信息、學生選課信息、教師信息、教室信息等。特殊規則包括指定節次年級不排課、指定節次教師不排課、指定節次課程不排課、指定節次上課程限制、教學班人數限制、指定節次學生不排課、指定學生在指定教師名下課程等。
分析發現,雖然上述需求均屬于比較常見的需求,但其難度卻遠遠高于之前的排課方式。分層使學生可以選擇適合自身難度的課程,但同時也會大大增加走班排課的難度。分層數越多,將導致學生選課組合的可能性越多,從而使排出課程表的難度大大增加。學生選課組合越多,越難保證每個學生都能上到自己所選的課程。
針對現有資源的情況以及學校對課程開展的需求,排課項目組會在走班方式(大|中|?。?、作息安排等方面進行排課的調整,以保證排課能正常完成。
第二步:自動排課
資源評估完成之后,就是自動排課環節。排課教師會根據具體情況,設置自動排課的各項要求,如滿足學生的選科需求、滿足教師對任課時間的需求(教研活動、教案齊頭、個性化要求)、課表無時間沖突、教學班男女生比例均衡、同科目不同教學班學生數量均衡、有更多自主空間。
接下來平臺的自動排課算法會根據需求,進行后臺計算,完成排課。關于自動排課算法,早在上個世紀七十年代,就成為一個學術問題被廣泛研究,代表性研究范式被視為NP完全問題來解決。NP問題是一個涉及多因素的優化組合問題,難以從數學上給出解的存在性,求解算法。[3]作為一種借鑒了自然選擇、變異機制的隨機搜索算法,遺傳算法利用群體搜索技術,可以高效解決組合優化問題。在探索自動排課算法的過程中,本項目組基于“走班制”的排課約束,給出了智能化遺傳算法,定義了相應的選擇算子、交叉算子、變異算子和適應度函數等,解決“走班制”模式下的排課問題,從而有效提高學生學習效率,降低教務管理工作的復雜度,提高高校教育教學計劃完成力度。
第三步:教務微調
自動排課的算法,能處理批量計算,解放手動排課的繁雜工作,但很難完全滿足一線教師與年級的全部個性化需求,比如特殊學生、教師的班級調整,因此自動排完課之后,仍然需要教務教師根據需求在平臺上進行適當調整。如教師上課時間微調、學生分配微調、學生換科調層、學生上課時間與自選課微調等。
經過教務教師調整之后的課表,能在現有資源下,盡可能地在更多方面滿足師生的課程需求。
在學生日益增長的個性化課程需求的基礎上,排課的復雜度呈指數級增長,研發一套適合國內實際情況的可推廣使用的排課解決方案的需求十分迫切。十一學校在過去的幾年中不斷探索研究、在實踐中不斷總結經驗,提出了一套在多約束條件下分層走班選課的排課思路,并與云校合作實現了自動化排課功能。為學校的走班選課改革提供了強有力的支持。
排選課是個復雜的系統工作,但同樣也是個逐步標準化的產品。課題研究團隊接下來將在排課流程優化、提升學生個性化選擇滿意度、提升平臺工具易用性、智能化策略推薦等方面繼續探索研究,并通過改進設計與案例匹配來更快速地完成排選課流程。
參考文獻:
[1]李希貴,秦建云,郭學軍.普通高中育人模式創新及學校轉型的實踐研究[J].中國教育學刊,2016(1).
[2]李希貴,郭學軍.普通中學學校轉型:路徑選擇與實施策略的研究[J].課程·教材·教法,2014(4).
[3]杜立智,符海東,張鴻,黃遠林.P與NP問題研究[J].計算機技術與發展,2013(1).