程式導師計畫助教回顧

24 min read

# review

今年在 Lidemy 擔任程式導師計畫第四期的助教以及快樂蹦跳的小夥伴,在從助教、系統開發、課程設計、也同時作為曾經的參與者等多重角色下去深入程式轉職教育之後,啟發了我對教育的新的想像。

以下將會從課程本身嘗試的內容去反思跟回顧,並基於這半年的經驗提出自己對自學、技能教育的提問跟發想,作為這半年的總結。

Lidemy 程式導師計畫第四期

在計畫裡面跟老師的合作老師給予我很大的空間去做各種嘗試,這邊不管怎麼說還是感謝老師的這個機會,也謝謝同學不吝給予一些回饋,雖然在工作跟計畫之間的平衡抓得還不是很好讓一些時程延誤,但總算沒有什麼毀滅性的打擊走完了這半年。

Code Review

改作業跟回答問題是助教的主要工作內容,由於自己也是剛開始就業的新手,在看同學的程式碼的時候也學習到很多新寫法,更重要的是學習看懂別人寫 Code 的邏輯,這件事尤其在改作業中練習到最多。

而在 Code Review 上一直思考什麼樣的內容是無法預先列在作業檢討,而且是特別需要一個人來給予回饋的 Review,參考了關於 Code Review 文章以及回顧自己的學習狀態,思索出來的答案是對程式碼以及程式範圍的品味。

會有這樣的推論是因為反思自己剛進入職場的時候,最希望的就是不要寫出太醜的程式碼跟對於程式碼可以有更周全的想像,但這些事情屬於主觀判斷跟經驗上的事情,所以在作業上除了功能測試外,會盡量提出程式碼品質跟 edge case 上的想法。雖然這些是主觀、沒有絕對對錯的建議,但我覺得這類內容是最難僅憑看資料學習就能感受到的。

除了 Code Review 外,助教另外一個工作就是在回答問題上,對於自己回答問題的方式就不是那麼滿意,缺乏引導式的回答大多都是非常細節或是直接點出結果的答案,這點對於讓同學發展解決問題的策略不是很有幫助,而且這也會把回答問題的時間拉得很長,這一塊可能自己還要再拿捏一番,多研究關於 mentoring 的技巧。

之後覺得可以嘗試的是在改作業上,把功能測試的部分自動化,然後將改作業的重點做一些分級跟分類,讓不同狀態的同學會得到對應程度的回饋,或者助教也可以對自己比較有趣的面向去做分工,不然看作業還是看得太慢,或是糾結太久對於同學來說不是一件好事。

Podcast

這是一個助教工作之外的嘗試,由於今年人數更多、加上原先預計沒有固定的小樹屋空間,所以聽到台通還是百靈果提到 Podcast 是一個著重陪伴感的媒體的時候,我就覺得有什麼比Podcast 更適合聊內梗、來陪伴同學學習呢?

感謝 Clay 陪我嘗試這個瘋狂的計畫,幫忙我很多 Podcast 上的事情,而 Podcast 的內容著重在讓同學可以輕鬆的了解其他人跟計畫進展的狀況,加強同學對計畫的連結,所以我們訪談了一些願意接受訪談的同學、計畫中的其他人、也有嘗試過外部的人、以及單口內容與直播。

Podcast 單元大致涉訪談對象的討論、社群風向、學習心得回顧、留言內容,藉此補充一些程式上的軟性知識,從數據表現來看每一集至少一半的同學會聽 Podcast 的內容,

內容完成度大概在 1/3 ~ 2/3,畢竟一集常常長達兩個小時這是一個我自己覺得比較遺憾的地方,由於時間有限,在內容的精緻程度上真的有待加強,後製上應該多花一些時間讓同學更容易收聽,這一點大概是下一期如果有繼續這個內容可以努力的方向。

小補充一些 Podcast 的意外之喜,因為後製重聽自己講話,默默地發現了自己很多說話上的壞習慣,像是語速過快、以及一些反覆咀嚼試圖講得更周全的碎語,這些都在 18 集中慢慢修正。

學習系統開發

今年因為有了助教,所以多開發了作業跟批閱系統,這次體驗在公司外的專案中怎麼跑 PM 流程,由老師出 User Story 接著畫出 Wireframe 跟老師對過內容來實作,由於沒有嘗試太特別的設計這一邊就不先贅述,倒是過程中有一個印象深刻的趣事。

由於學習系統與平常的溝通平台是分離的,有同學提出了透過 Badge 的方式製作私訊連結來進行溝通,後來覺得這個方式實在太有趣了聯繫了同學並跟老師發想成留言模板系統,是一個由同學發起最後實踐的一個小功能。

明年自己想在工具面做比較大的嘗試,但功能還在收斂跟提案先點在這邊。

社群活動

對於線上學習來說,社群活動是凝聚同學的少數機會,我個人傾向社群活動應該以娛樂跟連結為主,畢竟平常同學學習已經非常緊繃,這次嘗試再推推看地區性的小聚跟最後的結業活動,並把結業活動的娛樂性拉到更高。

地區性小聚我覺得對於初期所有人都是網友的狀態算是一個不錯的引子,另外由於這次 Final Project 同學們組團的狀況還不錯,所以最後的結業活動也比想像中的活躍,歸結了一下 Final Project 的活躍,猜測可能的原因是:對於 Final Porject 重要性的推廣、興趣導向或地區導向的小社群前期凝聚、以及 PM 流程的課程,這些讓同學要起頭一個 Final Project 更加容易。

不過也有觀察到隱憂,小群體的凝聚會讓本身可能對社群有興趣、但不擅長社群的同學更加無所適從,這一塊是可以思考的部分,如何讓喜歡社群的人有一個自在的群體、讓不喜歡或不擅長的人也不會有被邊緣化的疑慮,簡言之,給予需要的人有一個這樣的存在,但不需要也沒關係,是社群上經營還在思考的方向。

課程製作

這一塊真的感謝老師願意給我這樣的機會錄製 CSS 相關的課程內容也補充了去年製作的 r30:challenge 遊戲小挑戰,這次在課程內容製作上不是非常順利,但所幸最後有成功產出,這次嘗試跟老師路線很不一樣的課程內容風格,更加簡短、結構化、比較像是 Youtube 影片,除了課程補充外也是想知道大家對不同風格內容的需求狀況。

在同學的回饋上有一些啟發,也許這類內容比較適合作為課程的前情提要補充,有點像是老師課程的影片筆記,在更難的內容與學習者之間多一個不同風格的鋪陳。

雖然原先課程設計上,程式知識說明上覺得已經接近很多人思考的心智模型,但內容設計上最有趣的就是永遠都有不一樣的視角可以切入,也許是比喻或故事、也許是圖像、也許是結構等等,如果這些鋪陳內容可以讓人更容易根據自己的學習風格去選擇,感覺也是一個可以嘗試的方向。

助教群

謝謝千提出 TA 會的點子,雖然本來就是會一起聊天的工程師朋友群,但嘗試了在助教工作上固定的交流後,除了對於改作業上的經驗跟預習新的課程內容上很有幫助外,另外做了平常職場上的經驗交流或是讀書會也很有幫助。

類似的活動也許可以慢慢歸結出一些讀書會的經驗運用在同學間、畢業生與同學間或是畢業生之間,雖然今年有嘗試在同學間舉辦讀書會,但我覺得一來自身難以負荷,二來同學在學習前期要嘗試額外專案也不容易,

所以怎麼讓讀書會親民又不會太花時間準備,實在有很多還可以學習的地方,希望這個自主活動可以在大家的嘗試間慢慢摸索出一套能複製的方法。

小結

以上大概是在第四期的回顧了,小結一下自己的回顧,我對自己的期待或是得計畫的回饋是:維持主線有跡可循的基調下、系統性的提供更多選擇,並讓學習者掌握到自己選擇的脈絡,建立自己的學習論述。

會有這樣的期待是今年前線接觸到學習者的一個感慨,願景是希望能設計出對學習特質平等的生態,學習者總是有習慣學習的人、還在摸索學習方法的人、可能用到不適合自己方法的人、或是更心理層面掙扎的人,只要前提他們都是還在嘗試努力沒有放棄的人,那麼面對不同特質,提供不同的學習者他需要的資源,並讓他能從通用的方法上建立自己的方法,是我對教育的想像。

對教育的想像

當然回歸到實務,繼續延伸這個議題,資源有限,我們不可能提供前者的全部,如果做不到前者的環境,怎麼協助後者論述的建立?這啟發我對教育的想像,我相信這不是什麼新的內容、只是我沒有接觸過相關專業跟理論,以下是僅就自己的體驗跟一點點接觸所做的一點整理

教育之中的角色

過去我們將教育裡面的角色定位成老師、學生、助教,然而這樣的角色關係其實不構成一個知識上的生態,老師跟學生之間的交換一個提出知識、一個提出金錢,而助教在其中處理老師委外處理的內容,同樣以自己的專業去跟金錢做交換,上述的觀點是一個市場出發的觀點。

然而,從學習的角度來看,一個學習生態裡面每個人都都是學習者的同時,並輔以下面幾種角色,透過這些角色來學習,並以不同的作法來實現下面這些角色:

  • 知識提供者:提供原生知識的角色
  • 知識轉譯者:將原生知識轉為可以被吸收的內容的角色
  • 學習支持者:協助學習者持續且可以收到回饋的角色
  • 系統維護者:提供上述可以持續存在環境的角色

帶入到傳統角色定位中:

  • 老師就是核心的知識提供者、透過課程規劃跟影片錄製作知識轉譯者,並同時以精神象徵的方式作為學習支持者以及主要系統維護者維護學習系統。
  • 助教則是補充性的知識提供者,從自身 mid level 的開發經驗提供入門的知識,並透過留言、作圖來做轉譯,而在學習支持部分則是透過日常私訊相處以及社群參與來支持大家的持續學習,並參與部分的學習系統維護。
  • 學生之間則是透過親身實踐的經驗來做知識提供,在知識轉譯上則是部落格文、合作、code review 來傳達,並透過學習心得系統跟分組來做學習支持,最後在教材上的 side project 作為學習系統的補充。

有了上面的想像,過去我們很重視學習者本身的敘述跟追蹤,對於系統本身的描述就相對不足了,這些看不到系統本身的可延續性,甚至知識系統內部的利用率,有時看起來有成效,是因為我們從別的資源系統,調度資源投入在這個系統之中,而非原生資源本身的循環。

所以有沒有可能設計出這樣的學習環境?

學習過程的自然溢出就能帶動學習系統的循環?

許多學習環境的案例著重在更多沈浸感、激發創意跟促進交流的環境設計,但這邊想像的目標是有沒有可能可以創建一個構成循環、得以持續、自然而然的生態呢?

知識提供者

在過去老師就得是全職的教學者,但在轉職教育裡面這不是一個好的選擇,因為業界的技術一直在變化,如果知識提供者與業界脫節,對於轉職教育來說絕對不是一件好事。

但會技術的人不見得會教學、會教學的人可能已經離開業界許久,兩者兼具的人我覺得很少見,兼具也不一定在所有開發領域都有涉略,尤其面對足以轉職的專業教育裡面,僅僅只是科普是不夠的。

所以知識提供者除了需要一位足以架構起整個學習框架並擅長教學的人作為核心之外,我認為承襲一樣學習思路的人在轉職後可以回來分享所學,並由學習者做知識轉譯是一個比起直接尋求外部大大,更好的知識提供補充的來源。

另外整合外部資源也是一個很好的做法,但怎麼輔助學習者去做適合課程本身基調的內容整理又是另外一個議題。

知識轉譯者

知識轉譯也許有一天不應該是一個專門的工作,而是學習過程中的自然溢出,這個敘述有一個前提,相信費曼技巧對學習的幫助,無論是教學、對自己重述、筆記整理,這些能傳達跟整理知識架構的產出是學習必然的過程。

在這樣的前提下,這一塊有兩個階段要努力,第一個是提高自然溢出的品質,另外一個是將這些產出放到與主線內容對應的位置。

工程師本來就有鼓勵部落格的文化,產出方面相對容易,然而更期待的是除了部落格、有沒有可能支援其他種形式的產出、例如:同學們自行開設的共享螢幕、問答、或是透過重述的方式等等,將這些內容也可以作為知識轉譯的一部分,提供不只敘述性知識,包含程序性知識的轉譯……

接著就這些一併被系統化的整合與課程內容銜接在一起,做到更好的內容策展?

學習支持者

這一塊是過去觀察線上教育最無力的地方,不過在這邊要先區隔培訓營與非培訓營形式的線上課程平台,以及分析線上教育中的獲利模式,若是獲利模式並沒有綁定學習最終目標的成效,那課程賣出的當下其實已經獲利,比起課程實際執行的狀況,課程形象上的包裝、服務是加價的籌碼,但支持本身對於盈利就不是這麼重要。

而學習支持又分兩種,一種是學習知識上的支持、另一種是學習情緒上的支持,前者如果溝通管道暢通、有人可以協助加上好的知識管理也還算容易執行,反而後者是現今很多服務中看不見的。

目前在後者的執行上比較多是透過社群,但我覺得除了社群外也可以多營造一些學習情緒上正相關的活動,例如:好想工作室在面試中安排 Life Design 的流程、學習過程之間開啟螢幕共享、Podcast 的嘗試等等,這些讓學習者得以持續的小小力量,是可以多多嘗試而且設計在數位環境上更容易執行的。

系統維護者

上述提到的各種功能在線上環境上需要有人整合、設計跟開發,這塊可以設計更多切入點讓學習者有興趣去做自主投入是一個很棒的循環,加上系統維護是關乎學習環境的基礎建設,能投入其中會得到更高的成就感、跟在社群中的投入感,覺得是可以多多發展更多可能性的角色。

也是現階段還沒有看到什麼教學平台在發展、也最沒有想法的項目。

結論

說了那麼多心得感觸,除了非常謝謝大家之外,簡言之就還是很喜歡自學教育、教育科技跟資訊設計相關的內容 XD

沒有意外明年也會繼續投入在這個議題,時至今日我還是覺得可以設計為人們賦能的服務、並在其中與人一起走過變強這段路,是一件非常非常開心的事情。

當然自學不一定是所有人人生必然的答案,但如果你想嘗試看看、或已經在路上覺得饒富趣味,歡迎一起交流對於教育的想像。