【老文放出】【思考】基於目前OO課程的一些制度問題引發的思考

本文寫於2018-06-08 11:19,之前爲僅在內部傳閱的思考文,於近期(2020-12-12)得以放出

在博文中,筆者已經講述了目前遇到的一些比較明顯的問題,也進行了一些初步的思考。

然而,通過進一步的思考,筆者覺得,很多的問題,看似無關,實則背後有着很相似的邏輯共性。

筆者將在這篇文章內對這些問題進行制度思維方式層面上的討論。(不僅侷限於OO2019的課程改革,更可以作爲日後全部課程改革的一些理論依據)

明確課程定位與方向

這門課程,全稱叫做“面向對象設計與構造”。

看似簡單的標題,然而,要說定位的話,可能性實際上非常多

  • 讓大家掌握面向對象的Java語言(包括多線程)程序編寫?
  • 讓大家熟練運用並理解面向對象設計構造思想?
  • 讓大家體驗工程開發,領悟工程思維?
  • 讓大家全面養成工程素養,形成產品意識?

然而,根據筆者和老師們、和學長學姐們(包括往屆的各個助教們)的交流,卻發現,大家對這門課程的定位差距相當大

  • 大多數同學,認爲應該第一種定位(甚至更低,面向分數編程的人也不在少數)
  • 其中一位14級助教認爲,滿足第一種定位就差不多了,能第二種更好,不過也沒關係(因爲覺得代碼規範工程規範啥的,進企業之前都有入職培訓,沒有大關係)
  • 筆者本人認爲,應該最起碼達到第三種定位層次(實際上第四種已經接近軟件工程和產品設計範疇了,不過儘早學習也是件好事)
  • 吳際老師本人的大致意思,大概是至少第二層次,理想狀態下達到第三層次,且保證大家都具有第三層次實實在在的體驗(JSF、單元測試、正確性論證等)。

根據筆者對於同學們實際學習效果的觀察,大家實際的收穫如下:

  • 大部分同學,實際上課程結束後能達到的水平,大概不到第一種定位(看似能寫程序,但實際上Java根本沒入門)
  • 對於較爲優秀且以前零基礎的同學,大概能勉強達到第二種定位(基本理解一般的面向對象設計思想)
  • 對於極少數以前有豐富代碼與工程經驗的同學,可以進一步強化第三種甚至第四種定位

不難發現,大家(甚至包括課程制度制定與改進者內部)對這門課程的目標與定位是存在明顯的認知差異的。而同學們實際獲得的收穫更是參差不齊(或者說整體水準偏低)。

定位這件事,一定是要明確清楚的。因爲這將直接決定學生們爲什麼目標而努力,直接決定助教們應該如何找到一個合適的平衡。總的來說,定位,決定了整門課程的走向,以及所有人努力的目標

問題永遠應該儘量在上游解決

就拿我們OO2018課程來說,很多地方都在體現着這樣的思維方式——不公平、不正義,沒關係,反正後方有其他政策支撐呢。

這種思維方式的制度看似的確挺合理。可是,實際情況大家都看到了,這樣的制度體系飽受詬病。

這是爲什麼呢?我們再來分析下這背後的邏輯。

首先,一般什麼樣的制度會被用來當做後備保障制度呢?很顯然,這樣的制度常常具備以下的一下特點:

  • 高度的可靠性和質量
  • 同時,成本較高,不方便大範圍採用(如果方便廣泛使用的話,那麼根本就沒必要擺在最後)

所以很明顯,後備保障制度的正確打開方式是——在主流問題已經得以妥善解決的情況下,確保漏網之魚也能得到妥善解決

換句話說,後備保障制度是用來掃尾的,所以根本不應該允許太多的問題流入後備保障制度環節

最典型的例子,OO2018課程中,助教的仲裁處理相當不及時。

表面看上去,似乎助教工作不力,似乎助教團人手不足。可是根據筆者從助教那邊瞭解的情況,每次作業的仲裁都至少有大幾十條甚至上百條,如果想認真負責地全部處理的話,其工作量可想而知。

之前看過有些同學的吐槽,還有覺得助教團應該如何如何的。可是,這件事情的根源在於本不該流到後備保障環節的問題還是太多了

不僅如此,從影響的角度考慮,正義也應該儘可能一步到位,不正之風應該從源頭上杜絕。畢竟,無論從哪個方面來看,正義都具有明顯的時效性。維護風景最好的方法,應該是不讓花瓶掉下桌子,而不是該瞅着點的時候在那溜號開小差,然後花瓶掉下桌子之後手忙腳亂用膠水給糊上

綜上,筆者認爲,在設計制度的時候,應該在上游就充分解決問題,後備保障制度僅僅應該作爲規模可控的補充手段。這樣不僅利於提高整個制度體系的運轉效率,也能極大減少對外的負面影響,讓大衆更加相信我們維護正義的能力,這一點至關重要

專業化理想化的模型,未必都適合還在成長期的學生

其實,目前的課程制度,不管被如何如何的吐槽,其合理性依然是存在一些的。畢竟是老師等專業人士們指定的政策,其出發點一定都是讓學生有所收穫的

或者,也可以說,如果目前制度的玩家,都是一羣訓練有素,且具備基本職業道德和職業素養的工程師們的話,根本不會有現在的問題,一個都不會有。

可是,事實上我們的玩家都是一些學習階段,且並不具備任何工程思想也基本不具備職業素養的新手學生

具體的來說就是這樣的:

  • 工程師

    • 我們如何構建可靠地工程
  • 科學家

    • 我們如何在學術上取得突破
  • 學生

    • (較弱的學生)我們如何不掛科
    • (普通的學生)我們如何拿高分
    • (普通的學生)我們如何順利畢業
    • (稍好的學生)我們如何順利保研
    • (優秀的學生)我們如何學有所成

沒錯,這就是思想層次的巨大差異

然而,不僅如此,這些思想層次的差距,還並不是短時間內可以有效彌補的(從根本上而言是長期教育的問題,本文與本課程不作過多討論)。

既然如此,我們不難發現在用戶定位上,這件事就已經存在了較大的差異。那麼直接將產業用工具或方法,運用在學生身上,則十有八九是不合適的

懲罰措施應當適度,濫用高傷害無益於解決問題

說到這個,現實中這樣的例子有很多:

  • 秦朝,崇尚法家思想,嚴刑峻法。一點點小罪就動輒敲膝蓋挖眼睛,戍邊隊伍遲到一天就全員斬首。結果呢——“今亡亦死,舉大計亦死,等死,死國可乎?”。戍卒叫函谷舉,楚人一炬可憐焦土。秦朝成爲了中國歷史上最短命的封建王朝(公元前221年-207年,從統一六國到滅亡僅有14年)。原因呢?族秦者,秦也,非天下也。使秦復愛六國之人,則遞三世可至萬世而爲君,誰得而族滅也?
  • 現代社會,似乎文明瞭很多,甚至很多令人憤恨不已的罪行最終只是關上幾年就放了。殊不知,二戰前的美國發布了禁酒令,且配套了嚴厲的懲罰措施。結果呢?酒在明面上買不到了,在黑市上卻大火了起來。而喫這行飯的各個黑幫也藉此機會大賺一筆,實力蓬勃發展。而後由於黑幫之間爭奪利益,官黑勾結等情況,造成了嚴重的社會動亂,最終不得不取消了這一法令。
  • 殊不知,曾經臺灣立法,規定綁架犯一概死刑。怎麼樣解氣吧?兇殘吧?結果呢?犯罪率絲毫沒有下降。最爲諷刺的是,綁架案中人質的生還率倒是降低了很多,爲啥呢?因爲罪犯一看情況不妙,紛紛選擇直接“毀滅證據”,賭上一把,反正大不了橫豎是個死。

最典型的例子,在我們的課程中,JSF的評價傷害極高(動輒二三十分,而一般情況下找bug幾乎超不過10分,整個作業的基礎分也只有二十多分),且公平正義難以保證(即便實際上保證了,但是大衆不這麼認爲的話等於沒保證)。這對於制度內的學生,則意味着:

  • 同學們的一切努力,在JSF的傷害面前,都不夠塞牙縫的。
  • 同學們找對方再多的bug,在JSF的傷害面前,更是微不足道。
  • 同學們再實事求是,再對學術負責,也沒有有些良心從來不痛的投機者過的滋潤,賺的分多。

所以,這些結果是明顯可以預見的:

  • 同學們不再那麼願意努力寫程序,反正再努力要被JSF扣死的。
  • 很多同學不再那麼願意找bug,反正再努力也要被JSF扣到負分的。
  • 甚至部分同學已經開始不再願意實事求是,而是靠JSF的投機來試圖賺取暴利(而且還零成本,排除道德的話,目前的制度下這種做法真的可謂是零本萬利)。
  • 鑑於以上情況,同學們交了善良稅。於是從此寒心,徹底選擇佛系,放棄努力(這就是自從規格作業上線後,大家的真實狀況。事實證明,哪怕一顆老鼠屎也是可以腥掉一鍋好粥的)。

綜上,筆者覺得,高傷害不是解決問題的萬能手段。適度施加壓力,平衡制度剛需與人心,讓大家重視且恰到好處,纔是更爲妥當的方式。實際上,因勢利導,從源頭上減少不良情況的發生纔是終極思路

制度內的人眼中的世界,比制度制定者眼中的世界更重要

正如上文中的那句話——即使實際上保證了,但是大衆不這麼認爲的話等於沒保證

就這門課程而言,同學們如何看待OO課程,很多時候不完全取決於我們做了什麼,而取決於我們讓他們認爲我們做了什麼

而一定程度上,同學們如何看待OO課程,也在影響着大家的配合程度。

而配合程度,則很大程度上決定了開展工作的順利程度,以及同學們真實的體驗。

所以,筆者覺得,應該儘可能讓大家對課程制度更有信心並理解我們的付出。例如:

  • 部分信息應該透明公開,讓大家心中有數
  • 申訴仲裁處理應該更爲高效,讓大家相信公平正義的存在
  • 其他一些相關政策也可以制定的更加友好一些,讓大家更有努力的慾望

綜上所述,筆者認爲,雖然作爲一門課程,首要任務是培養學生的素養和能力。但是,也正是因爲這個,所以這些制度上的問題更加是不可迴避的。如不加以妥善的解決,則必然導致學習體驗難以提升。

說到制度,都是面向人服務人的。而既然和人打交道,且要達成預定目的,那就自然應該首先從人的角度考慮問題,而不應片面強調學術層面的需求。筆者認爲,這一點也正是目前OO課程大部分制度缺陷的根源所在。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章