李曉明




摘 要:信息技術(shù)應(yīng)該在新文科建設(shè)中發(fā)揮顯著的作用,其中一個(gè)重要的方面就是加強(qiáng)文科學(xué)生計(jì)算思維的培養(yǎng),一個(gè)正在興起的交叉學(xué)科就是計(jì)算社會(huì)科學(xué)。本文介紹了一門全新的文科課程的教學(xué)實(shí)踐,該課程以若干社會(huì)科學(xué)經(jīng)典問(wèn)題為抓手,從計(jì)算思維的視角展開(kāi)討論,落實(shí)到實(shí)際編程進(jìn)行相關(guān)模型的模擬分析,展現(xiàn)了在文科開(kāi)設(shè)具有深度計(jì)算要求課程的潛力。
關(guān)鍵詞:新文科;計(jì)算思維;教學(xué)實(shí)踐;問(wèn)題驅(qū)動(dòng)
文科學(xué)生需要加強(qiáng)計(jì)算思維的培養(yǎng),已成為一種普遍的共識(shí)。《新文科建設(shè)宣言》中所倡導(dǎo)的“融入現(xiàn)代信息技術(shù)賦能文科教育”“主動(dòng)適應(yīng)并借力現(xiàn)代信息技術(shù)手段,實(shí)現(xiàn)文科教育高質(zhì)量高水平發(fā)展”就包含這樣的指向。同時(shí),《新文科建設(shè)宣言》指出要“緊緊抓住課程這一最基礎(chǔ)最關(guān)鍵的要素,持續(xù)推動(dòng)教育教學(xué)內(nèi)容更新”“鼓勵(lì)支持高校開(kāi)設(shè)跨學(xué)科跨專業(yè)新興交叉課程、實(shí)踐教學(xué)課程,培養(yǎng)學(xué)生的跨領(lǐng)域知識(shí)融通能力和實(shí)踐能力”,強(qiáng)調(diào)了課程建設(shè)的重要性。
過(guò)去幾十年來(lái),文科計(jì)算機(jī)教育在我國(guó)高校是得到重視的,每個(gè)學(xué)校至少有一門專門的必修課,名為“計(jì)算機(jī)文化基礎(chǔ)”或“大學(xué)計(jì)算機(jī)”等。然而,隨著信息技術(shù)的發(fā)展,經(jīng)濟(jì)社會(huì)數(shù)字化轉(zhuǎn)型浪潮的興起,僅一門那樣的課程已不能滿足要求,人們呼吁更有深度的文科計(jì)算機(jī)課程的建設(shè)。作為對(duì)這種需求的響應(yīng),北京大學(xué)在2021年秋季新開(kāi)出了一門選修課“社會(huì)科學(xué)研究問(wèn)題的計(jì)算實(shí)踐”,面向社會(huì)科學(xué)專業(yè)二年級(jí)以上本科生,計(jì)2學(xué)分。
課程的初衷,是希望讓有興趣和志趣的文科生在常規(guī)的文科計(jì)算機(jī)課程之外,有機(jī)會(huì)對(duì)計(jì)算在社會(huì)科學(xué)問(wèn)題研究中的作用,從體驗(yàn)和認(rèn)識(shí)上達(dá)到一個(gè)新的高度。
一、課程設(shè)計(jì)思想
“社會(huì)科學(xué)研究問(wèn)題的計(jì)算實(shí)踐”課程描述中的學(xué)習(xí)目標(biāo)是這樣寫(xiě)的:通過(guò)本課程,預(yù)期學(xué)習(xí)者可以在問(wèn)題抽象、計(jì)算抽象、算法設(shè)計(jì),以及Python編程實(shí)現(xiàn)等方面,達(dá)到一定成熟度,初步形成一種通過(guò)計(jì)算的途徑來(lái)分析研究社會(huì)科學(xué)問(wèn)題的態(tài)度和技能。
為達(dá)成上述學(xué)習(xí)目標(biāo)的課程設(shè)計(jì)可能有多種方案。例如可能是以實(shí)驗(yàn)課的形式指導(dǎo)學(xué)生完成幾個(gè)大作業(yè),還可能是直接帶著學(xué)生分小組做幾個(gè)基于大數(shù)據(jù)的研究項(xiàng)目,等等。由于這些都還沒(méi)有現(xiàn)成的東西可參照,很大程度就看教師自己的偏好和積累了。
我們采用的是一種“問(wèn)題驅(qū)動(dòng),計(jì)算落地”的做法。這里的“問(wèn)題”,主要指社會(huì)科學(xué)經(jīng)典研究問(wèn)題,而不是應(yīng)用問(wèn)題。在課程說(shuō)明中是這樣寫(xiě)的:基于若干經(jīng)典社會(huì)科學(xué)問(wèn)題研究成果,從計(jì)算的視角展開(kāi)討論,強(qiáng)調(diào)通過(guò)編寫(xiě)和運(yùn)行計(jì)算機(jī)程序,觀察、推理和評(píng)估相關(guān)模型所展現(xiàn)的性質(zhì)和特征,探索相關(guān)社會(huì)現(xiàn)象的機(jī)制、原理和原因。所涉及的問(wèn)題包括(但不限于)社會(huì)網(wǎng)絡(luò)結(jié)構(gòu)分析、社會(huì)網(wǎng)絡(luò)演化規(guī)律、博弈現(xiàn)象、匹配市場(chǎng)機(jī)制、網(wǎng)絡(luò)結(jié)構(gòu)平衡的判別、網(wǎng)絡(luò)級(jí)聯(lián)的過(guò)程,以及富者愈富模型的仿真與驗(yàn)證、表決機(jī)制等方面。
總結(jié)起來(lái),有十多個(gè)這樣的問(wèn)題。所謂“問(wèn)題驅(qū)動(dòng)”,指的是在課堂上我們總是從這些問(wèn)題所體現(xiàn)的社會(huì)現(xiàn)象或社會(huì)機(jī)制開(kāi)始,進(jìn)行適當(dāng)?shù)某橄螅纬梢粋€(gè)研究問(wèn)題的表達(dá),進(jìn)而建立可供嚴(yán)謹(jǐn)分析討論的模型。對(duì)此,下一節(jié)分別有較為詳細(xì)的論述。
所謂“計(jì)算落地”,這里就是指對(duì)每個(gè)問(wèn)題的學(xué)習(xí)和理解,最后都要以一個(gè)計(jì)算機(jī)程序的形式予以體現(xiàn)。也就是說(shuō),對(duì)于所形成的模型,都要通過(guò)計(jì)算得到一種“解”。這樣,課上對(duì)每個(gè)問(wèn)題的討論基本都遵循圖1所示的框架。
不過(guò),特別值得強(qiáng)調(diào)的是,我不認(rèn)為這是一門單純的“編程課”,它是問(wèn)題和方法的學(xué)習(xí)和研究課。編程只是為了更好地學(xué)習(xí)。體現(xiàn)在具體教學(xué)實(shí)踐的時(shí)間安排上,就是每次課前面用大約80分鐘講問(wèn)題,后面20分鐘布置作業(yè)。總結(jié)起來(lái),學(xué)生需要完成如下所列的作業(yè)。
HW0:節(jié)點(diǎn)聚集系數(shù)和邊嵌入性的計(jì)算;
HW1:友誼悖論的驗(yàn)證;
HW2:同質(zhì)性作用下的網(wǎng)絡(luò)演化過(guò)程;
HW3:極化關(guān)系網(wǎng)絡(luò)的結(jié)構(gòu)平衡檢測(cè);
HW4:重復(fù)囚徒困境博弈的循環(huán)賽;
HW5:匹配市場(chǎng)的實(shí)現(xiàn);
HW6:網(wǎng)絡(luò)效應(yīng)下的價(jià)格策略比較;
HW7:網(wǎng)絡(luò)級(jí)聯(lián)過(guò)程的仿真;
HW8:富者愈富過(guò)程的性質(zhì)驗(yàn)證;
HW9:網(wǎng)絡(luò)中影響力與共識(shí)的關(guān)系;
HW10:孔多塞模型下的表決綜合。
二、課程主要內(nèi)容
下面簡(jiǎn)要介紹所討論的社會(huì)科學(xué)問(wèn)題以及相關(guān)計(jì)算實(shí)踐作業(yè)的要求,每一個(gè)問(wèn)題用兩個(gè)學(xué)時(shí),每次作業(yè)要求在一周內(nèi)完成。下面的順序也就是教學(xué)展開(kāi)的順序。
1.圖論與社會(huì)網(wǎng)絡(luò)基礎(chǔ)
這里講的圖論完全是“實(shí)用主義”的,即只是包括一些為社會(huì)網(wǎng)絡(luò)相關(guān)主題的學(xué)習(xí)所需要的基本術(shù)語(yǔ)概念。同時(shí),強(qiáng)調(diào)了鄰接矩陣(A)及其冪次在網(wǎng)絡(luò)結(jié)構(gòu)意義下的解釋,例如A2[i, j]表達(dá)的是節(jié)點(diǎn)i和j之間長(zhǎng)度為2的路徑的條數(shù)。在社會(huì)網(wǎng)絡(luò)的語(yǔ)境下,就是i和j的共同朋友的個(gè)數(shù),等等。它們是通常圖論課不涉及的。這樣做一是讓學(xué)生能學(xué)習(xí)矩陣運(yùn)算與網(wǎng)絡(luò)結(jié)構(gòu)信息的對(duì)應(yīng)關(guān)系,二是由于矩陣乘冪很容易用程序?qū)崿F(xiàn),作為起步是比較合適的。
這一課布置了兩個(gè)作業(yè)(HW0和HW1)。HW0從程序設(shè)計(jì)的要求來(lái)看很簡(jiǎn)單,基本上就是矩陣乘冪的直接應(yīng)用,算是“預(yù)熱”。HW1通過(guò)隨機(jī)生成一些社會(huì)網(wǎng)絡(luò)圖驗(yàn)證“友誼悖論”——節(jié)點(diǎn)的度小于鄰居節(jié)點(diǎn)度的均值,則是一個(gè)非平凡的任務(wù)了。
2.同質(zhì)性及其在社會(huì)網(wǎng)絡(luò)演化中的作用
關(guān)于同質(zhì)性的討論是社會(huì)科學(xué)中的一個(gè)常見(jiàn)話題,它對(duì)網(wǎng)絡(luò)結(jié)構(gòu)演化的影響可以抽象歸結(jié)為三元閉包、社團(tuán)閉包和會(huì)員閉包三種機(jī)制。這樣,如果說(shuō)上一次課討論的是社會(huì)網(wǎng)絡(luò)的靜態(tài)特征問(wèn)題,這一次課討論的就是網(wǎng)絡(luò)的動(dòng)態(tài)過(guò)程了,而這個(gè)過(guò)程正好也是可以用矩陣相乘的結(jié)果來(lái)驅(qū)動(dòng)的,于是我們?cè)僖淮慰吹搅司仃囘\(yùn)算可以揭示網(wǎng)絡(luò)結(jié)構(gòu)的意義。
這一課的計(jì)算實(shí)踐問(wèn)題(HW2)就是利用同質(zhì)性原理,在三個(gè)門檻值(分別對(duì)應(yīng)三元閉包、社團(tuán)閉包和會(huì)員閉包)的控制下,采用兩個(gè)矩陣,按時(shí)間步模擬仿真一個(gè)社會(huì)歸屬網(wǎng)中邊的變化,也就隱含了其中社會(huì)網(wǎng)絡(luò)的變化。
3.極化關(guān)系下網(wǎng)絡(luò)結(jié)構(gòu)的穩(wěn)定性
所謂“極化關(guān)系”,指的是網(wǎng)絡(luò)中的關(guān)系分為“友好”和“敵對(duì)”兩種,這在人際關(guān)系和國(guó)際關(guān)系的一些特定時(shí)期都是顯著的。在這樣的模型中,結(jié)構(gòu)的穩(wěn)定性是關(guān)注的重點(diǎn),即一個(gè)網(wǎng)絡(luò)結(jié)構(gòu)中的各個(gè)關(guān)系性質(zhì)是趨向于不變,還是趨向于改變?例如下面這個(gè)網(wǎng)絡(luò),用實(shí)線邊表示“友好”,虛線邊表示“敵對(duì)”,我們關(guān)心它是否穩(wěn)定。這里涉及一個(gè)相當(dāng)不簡(jiǎn)單的判斷算法,落實(shí)到計(jì)算問(wèn)題上,就是要檢測(cè)圖中是否存在包含奇數(shù)個(gè)敵對(duì)邊的圈。課上我們證明了:結(jié)構(gòu)穩(wěn)定,當(dāng)且僅當(dāng)不存在那樣的圈。在圖2中,就有一個(gè)2-5-6-11-10-12-9-4-2。包含5條敵對(duì)邊,因此是不穩(wěn)定的。
這一課的作業(yè)任務(wù)(HW3)就是要實(shí)現(xiàn)這個(gè)算法。盡管不簡(jiǎn)單,不只是矩陣相乘了,還要用到廣度優(yōu)先搜索等過(guò)程,但當(dāng)課程進(jìn)行到第4周的時(shí)候,學(xué)生們不但已經(jīng)能理解這個(gè)算法,而且也都能夠編程實(shí)現(xiàn)了。課程中對(duì)問(wèn)題的深入討論和理解,鼓舞了計(jì)算實(shí)踐的熱情。
4.博弈論基礎(chǔ)
類似于對(duì)圖論的處理,系統(tǒng)學(xué)習(xí)博弈論也不是本課程的目標(biāo)。我們只是通過(guò)一些例子,簡(jiǎn)略介紹博弈的基本術(shù)語(yǔ),參與人、策略和回報(bào),以及博弈中參與人互動(dòng)的含義,強(qiáng)調(diào)博弈均衡的概念——互為最佳應(yīng)對(duì)策略組。
這一課的作業(yè)(HW4)是舉行一個(gè)由班上所有學(xué)生參與的重復(fù)囚徒困境的循環(huán)賽,針對(duì)的是如圖3所示的囚徒困境博弈收益矩陣。
作業(yè)分為兩個(gè)階段:第一階段,每個(gè)學(xué)生提供一個(gè)策略函數(shù),教師收集后統(tǒng)一發(fā)給所有人;第二階段,每人基于前面得到的策略函數(shù)集,完成一個(gè)競(jìng)賽過(guò)程管理程序,兩兩循環(huán)比賽并積累積分,最后分析每個(gè)參與人總分的情況,觀察在重復(fù)多次的囚徒困境博弈中,人們的長(zhǎng)期行為是否基本都是傾向于合作的。
5.清倉(cāng)價(jià)格與匹配市場(chǎng)
這個(gè)問(wèn)題可以看成是博弈論的一種應(yīng)用。考慮n個(gè)商品和n個(gè)買家之間如何匹配,采用“物以稀為貴”的原理,發(fā)展出一個(gè)通過(guò)清倉(cāng)價(jià)格的形成,達(dá)成最優(yōu)匹配的算法。課程不僅導(dǎo)出該算法的步驟,而且也證明算法的性質(zhì)。由于這個(gè)算法是一個(gè)框架性質(zhì)的,相關(guān)步驟和應(yīng)用層的操作關(guān)聯(lián)密切,因而可能在這樣的課中學(xué)習(xí)。為了展現(xiàn)算法的實(shí)際意義,我們還采用了書(shū)籍拍賣的活動(dòng),提供一批書(shū)籍,讓同學(xué)們通過(guò)出價(jià)參與拍賣,目標(biāo)是形成一個(gè)書(shū)籍和學(xué)生之間的匹配。
這一課的作業(yè)(HW5)就是實(shí)現(xiàn)利用“物以稀為貴”原理的匹配市場(chǎng)算法,并基于前面學(xué)生給出的出價(jià)矩陣,算出匹配關(guān)系,并按照該關(guān)系進(jìn)行書(shū)和學(xué)生的分配。也就是說(shuō),每個(gè)人能算出自己該得哪本書(shū),而且大家算出的還不沖突。注意到這個(gè)算法的一個(gè)核心操作是檢測(cè)二部圖是否存在完整匹配,但該操作對(duì)應(yīng)的子算法比較復(fù)雜,不太可能在本課程中要求學(xué)生掌握,于是我們提供一個(gè)函數(shù),將接口交代清楚,讓學(xué)生可以進(jìn)行算法調(diào)用。這樣一種方式,不僅讓學(xué)生完成了一個(gè)很有獲得感的程序,而且也具體體會(huì)了一種方法——設(shè)計(jì)并實(shí)現(xiàn)應(yīng)用層框架性算法,認(rèn)識(shí)到一些子過(guò)程的必要性,但不一定都自己實(shí)現(xiàn),可以通過(guò)調(diào)用已有函數(shù)達(dá)成目標(biāo)。
6.網(wǎng)絡(luò)效應(yīng)
這個(gè)問(wèn)題與當(dāng)下的平臺(tái)經(jīng)濟(jì)相關(guān)。講的是某些產(chǎn)品或服務(wù)具有這樣的性質(zhì):其對(duì)于每個(gè)客戶的價(jià)值,與已有客戶的總量正相關(guān)。例如微信這樣的平臺(tái),參與的人越多,每個(gè)人感覺(jué)到的價(jià)值就越大。課上所要討論的就是這種正相關(guān)關(guān)系的具體特征,體現(xiàn)在幾個(gè)不同性質(zhì)的博弈均衡點(diǎn)上。對(duì)它們性質(zhì)的理解,有助于制訂合適的產(chǎn)品推廣策略,其基本追求,就是要讓市場(chǎng)規(guī)模盡快通過(guò)不穩(wěn)定均衡點(diǎn),從而啟動(dòng)市場(chǎng)自身的增長(zhǎng)過(guò)程。
這一課的作業(yè)(HW6),就是要在一個(gè)設(shè)定的網(wǎng)絡(luò)效應(yīng)模型下,從企業(yè)的視角出發(fā),比較幾種不同的價(jià)格策略,追求較大的利潤(rùn)。從數(shù)學(xué)上看,這是一個(gè)多變量非線性優(yōu)化問(wèn)題,不是這門課上合適的內(nèi)容,但從應(yīng)用背景的角度將模型說(shuō)清楚后,通過(guò)程序的模擬,學(xué)生們都能得到不錯(cuò)的結(jié)果。
7.網(wǎng)絡(luò)級(jí)聯(lián)
一種新事物會(huì)如何在網(wǎng)絡(luò)中得到傳播,或者說(shuō)傳播的效果將會(huì)如何,在鼓勵(lì)創(chuàng)新的年代,是一個(gè)尤為值得關(guān)心的問(wèn)題。網(wǎng)絡(luò)級(jí)聯(lián),即人們通過(guò)與有關(guān)系的人之間的互動(dòng)決定是否采納一項(xiàng)新事物(例如某一款新手機(jī)),是學(xué)界已經(jīng)形成的一類基本模型,其形象化的表現(xiàn)就是新事物在網(wǎng)絡(luò)中從一些點(diǎn)開(kāi)始,逐步向周邊擴(kuò)散,直至完全覆蓋所有節(jié)點(diǎn),或者到某個(gè)程度后再也不會(huì)擴(kuò)散了。作為課堂學(xué)習(xí)的內(nèi)容,我們會(huì)討論停止擴(kuò)散的充要條件。
這一課的作業(yè)(HW7),就是要編一個(gè)程序,在給定網(wǎng)絡(luò)結(jié)構(gòu)、初始節(jié)點(diǎn)集合和門檻值的條件下,模擬擴(kuò)散過(guò)程,一步步看哪些節(jié)點(diǎn)“接受了”新事物,直到不再有擴(kuò)散的可能。
8.流行性
一類事物的不同實(shí)例在社會(huì)中得到關(guān)注程度的分布,是信息社會(huì)和數(shù)字經(jīng)濟(jì)的中心話題之一。從學(xué)理上,涉及冪律、無(wú)標(biāo)度、“長(zhǎng)尾”、齊普夫律,2/8律,“富者愈富”等概念。教學(xué)目標(biāo)是梳理這些概念之間的一種關(guān)系,它們分別對(duì)應(yīng)流行性這種普遍現(xiàn)象背后的“規(guī)律”“性質(zhì)”和“機(jī)制”。我們也討論這些認(rèn)識(shí)的實(shí)用價(jià)值,即利基產(chǎn)品在長(zhǎng)尾市場(chǎng)中的意義。
這一課的作業(yè)(HW8),則是要仿真一個(gè)“富者愈富”過(guò)程,觀察所得到的數(shù)據(jù)是否呈現(xiàn)出冪律分布。課程進(jìn)展到這里,學(xué)生們對(duì)于完成編程所要求的任務(wù)已經(jīng)比較自如了,于是我們進(jìn)一步要求用盡量少的數(shù)據(jù)存儲(chǔ)空間來(lái)解決這個(gè)問(wèn)題。
9.社會(huì)網(wǎng)絡(luò)中的影響力和共識(shí)
在討論“一個(gè)人認(rèn)為哪些人在某個(gè)話題上的認(rèn)識(shí)比較靠譜,從而對(duì)他的認(rèn)識(shí)會(huì)產(chǎn)生影響”的語(yǔ)境下,有向圖模型就會(huì)自然地出現(xiàn)。于是我們?cè)凇皩?shí)用主義”地對(duì)有向圖概念做一個(gè)簡(jiǎn)單介紹后,馬上轉(zhuǎn)到一個(gè)人影響力的計(jì)算上,也就是PageRank,認(rèn)識(shí)到它(P)是一個(gè)任意規(guī)格化正行向量左乘鄰接矩陣的一種變形(A*)直至收斂的結(jié)果。然后討論一個(gè)初始列向量V右乘A*的含義,按照DeGroot模型,這對(duì)應(yīng)一個(gè)共識(shí)的形成過(guò)程,即收斂到一個(gè)相同的值c上。按照現(xiàn)實(shí)中的樸素認(rèn)識(shí),社會(huì)中一個(gè)人的影響力越大,他的認(rèn)識(shí)在社會(huì)共識(shí)形成中的作用也會(huì)越大。這樣一個(gè)樸素認(rèn)識(shí)通過(guò)PageRank和DeGroot模型得到了生動(dòng)闡釋。
盡管上述關(guān)系的數(shù)學(xué)證明也是可能在這門課上做的,但我選擇了讓同學(xué)們用程序(HW9)來(lái)驗(yàn)證。即他們的程序要先分別用PageRank算法算出P,再用DeGroot算法基于V算出c,然后看上述關(guān)系是否成立。
10.表決問(wèn)題
從孔多塞原則(少數(shù)服從多數(shù))開(kāi)始,看到孔多塞悖論現(xiàn)象,然后討論議程設(shè)置和波達(dá)計(jì)數(shù)法,它們一方面作為避免孔多塞悖論的方法,但另一方面又帶來(lái)了新的問(wèn)題,即組織者操縱和策略性投票的問(wèn)題。在簡(jiǎn)略提到阿羅不可能定理后,轉(zhuǎn)到對(duì)投票人單峰偏好的要求,進(jìn)而提出并證明了中位項(xiàng)定理,即如果每個(gè)人的投票都滿足相對(duì)于一種特征序的單峰偏好,則不會(huì)有孔多塞悖論出現(xiàn)。并且,群體排序可以按中位項(xiàng)定理的操作獲得。
這一課的作業(yè)(HW10),實(shí)際上就是課堂涉及內(nèi)容的一個(gè)綜合練習(xí)。給定m個(gè)人對(duì)n個(gè)項(xiàng)目按排序的投票,程序要確定其中是否隱含有孔多塞悖論。如果沒(méi)有,就直接給出群體序;如果有,就按照一個(gè)特定的屬性序,指出哪些投票是不滿足單峰性質(zhì)的,認(rèn)為它們是“廢票”,剔除后按照中位項(xiàng)定理給出群體排序。
為什么選擇這樣一些問(wèn)題?主要有如下考慮。第一,希望能觸及社會(huì)科學(xué)的多個(gè)領(lǐng)域。從上面列舉的能看到,問(wèn)題涉及社會(huì)學(xué)、經(jīng)濟(jì)學(xué)、政治學(xué)、傳播學(xué)等。第二,希望所討論的是經(jīng)典學(xué)術(shù)問(wèn)題,而不是應(yīng)用解決方案,盡管它們都有實(shí)際的背景。可以看到,這些問(wèn)題都對(duì)應(yīng)有過(guò)去幾十年甚至幾百年前的研究成果。第三,便于從本科生課程教學(xué)的層面,對(duì)問(wèn)題進(jìn)行建模,并有相適應(yīng)的計(jì)算方法。
加州大學(xué)的Martin Hilbert教授在他的計(jì)算社會(huì)科學(xué)慕課上展示了如圖4這樣的圖,表示的是計(jì)算社會(huì)科學(xué)的學(xué)理框架。其中,“模型”是中心概念,對(duì)此我是認(rèn)同的,因此在本課程的設(shè)計(jì)中也特別強(qiáng)調(diào)了模型,涉及編程的計(jì)算實(shí)踐在一定模型基礎(chǔ)上才可能展開(kāi)。
三、教學(xué)實(shí)踐體會(huì)
這樣一門課教下來(lái),作為教師的第一感觸就是學(xué)生們的潛能真是很強(qiáng)。對(duì)于有興趣和動(dòng)力學(xué)習(xí)的內(nèi)容,盡管目標(biāo)初看起來(lái)很難達(dá)到,只要教師給搭上適當(dāng)?shù)摹澳_手架”,他們就能攀登上去。這門課作為一門選修課,最初有14個(gè)同學(xué),來(lái)自哲學(xué)、社會(huì)學(xué)、經(jīng)濟(jì)學(xué)、法學(xué)、政府管理等多個(gè)領(lǐng)域,從大二到大四都有。前三次課下來(lái),有4個(gè)同學(xué)覺(jué)得不適應(yīng),選擇了退課,剩下的10個(gè)一直堅(jiān)持到最后。10個(gè)學(xué)生,似乎受益面很小,我也的確認(rèn)為這樣一種要求的課不太可能適應(yīng)大面上的教學(xué)。但我想大學(xué)應(yīng)該提供各種有特色、有深度的課程,讓有興趣有能力的學(xué)生有機(jī)會(huì)去展現(xiàn)他們的潛力。
一個(gè)很明顯的現(xiàn)象是,在前幾周,多數(shù)同學(xué)感覺(jué)頗有挑戰(zhàn),畢竟他們以前沒(méi)有寫(xiě)過(guò)需要幾十行Python代碼才能解決問(wèn)題的程序。為此,在開(kāi)始兩周增加了兩次自愿參加的補(bǔ)課,指導(dǎo)他們?nèi)绾螌?xiě)出算法程序。在那之后,一些同學(xué)依然有困難,但已經(jīng)知道怎么去自己克服了。課程結(jié)束之際,問(wèn)學(xué)生在這課程的教學(xué)中哪些做法應(yīng)該保持,有同學(xué)說(shuō)那兩次補(bǔ)課的安排應(yīng)該保持。看來(lái)對(duì)他們真有幫助了。
回到前面提到的本課程的學(xué)習(xí)目標(biāo),一輪教學(xué)實(shí)踐下來(lái),我感到有較高的達(dá)成度,學(xué)生們明顯成長(zhǎng)了。后面幾個(gè)作業(yè),即便布置給計(jì)算機(jī)類專業(yè)的學(xué)生做,也不算是很簡(jiǎn)單的。這一批文科學(xué)生能完成,很大程度是因?yàn)榻虒W(xué)讓他們了解了作業(yè)背后問(wèn)題的意義,以及建模的過(guò)程,從而有興致去做。一個(gè)學(xué)生談體會(huì)說(shuō),這門課的作業(yè)與課堂內(nèi)容緊密相關(guān),是其他很多課程沒(méi)有的特點(diǎn)。在我看來(lái),那就是“問(wèn)題驅(qū)動(dòng)”教學(xué)應(yīng)有的效果。