讓自己的程式學習之旅啟航!三個好習慣助你成就感加倍

大家好,我是 ALPHA Camp 的 Bernard

我曾經在深夜接到學生的 FB 私訊,學生滿心期待地來報名 ALPHA Camp(AC)的課程,在過程中卻卡關了。看到其他同學的進度往前推進,擔心自己一直學不會,覺得非常焦急。

焦急的原因不只是遇到挫折,而是他把這門課當作翻轉人生的關鍵機會,他滿心期待學到新技能後,能夠找到更好的職涯,甚至出國工作,脫離現在不滿意的薪水和生活。

像這樣對未來職涯焦慮的學生,他不是唯一的。所以我常常思考, AC 到底可以帶給學生什麼樣的價值、如何針對不同的學生,給予他們最適合的幫助?

雖然 AC 自 2014 年創立以來、在香港、台灣、新加坡各地有近400位優秀畢業生,有的創業築夢、有的在 Facebook、騰訊等科技公司工作,各自有一片天。但這些學生當初入學時都有經過嚴格的篩選過程,有一定的 survival bias。如何照顧到更多不同特質、背景的學生,是我們努力的方向。

自創立 AC 以來,我和團隊的信念就是「以新創思維辦教育」,也期望學生能學到「創新思維」。根據我過去海內外工作與創業的經驗,技術只是入場券,而創新思維和自學能力,是維持競爭力的「必備」條件。  

新旅程啟航! 優秀的舵手都是這樣煉成的

為了幫助更多學生能夠不受時間、空間的限制,我們去年推出了「大航道計畫」線上課程,教授全端網路開發。自 2017 年 9 月開課以來,我和 AC 的 Student Success Team 每週固定關注學生們的進度和成效,並且用質性、量性的資料分析學生的學習體驗和進度,作為優化課程設計的參考。

經由各種資料洞察,我們發現,在大航道計畫中表現良好、收穫豐富的學生,不一定有程式經驗或相關學經歷,而他們能夠「有效學習」的關鍵,在於以下三大秘訣:  

一、融入社群 團隊合作

Fred 白天在公部門上班,晚上奮戰學程式,家裡還有妻小要顧。他加入大航道計畫後,與兩位隊友從零開始,打造出一個遊戲化的程式學習平台「ERM 暗碼局」,讓用戶可以和網友組隊破解程式任務,得到積分和經驗值,兼具學習、交友和遊戲功能。

以初學者之姿,卻打造出讓業界導師紛紛按讚的作品,Fred 回想起當時的奮戰情景:「好隊友真的是會互相激勵,當你看到隊友生出一個不得了的功能,你就覺得千萬不要拖累他。」雖然忙累,但樂此不疲。

這種和隊友一起「組隊打怪」學程式的氛圍,是我個人最享受,也是希望 AC 能建立的學習模式。我們的目標是建立一個「有活力的學習社群」,為了讓學生不只是孤單、被動的看影片自學,我們設計了自己的學習平台 (Learning Management System, LMS)、建立了學伴計畫、實體交流會和分組專案。

我們舉辦的活動包含 Rails 工作坊、購物車系統與金流串接等線上工作坊,學員可以跟著助教的直播講解一起實作。另外還有 Google 和 honestbee 企業參訪、職涯說明會、聖誕趴、桌遊趴等實體活動。  

大航道計畫學生參加 Google 企業參訪。

經由我們學習平台數據分析發現,積極參與上述活動的學生,平均成績普遍越高。經常參與活動的學生在課程中獲得的積分,甚至是未曾參加活動的學生的 4 倍以上,如下圖:

  學生們做隨堂考、繳交作業和報告後,會得到相應的成績 (積分)。積分越高,表示學習進度快、參與的考試、作業項目多,若提交優秀作品,也會得到額外加分。

通常,對學習有熱忱的學生比較願意排除萬難參加活動,而參加活動時獲得的社群支持對學習動機更有激勵作用,這是一個很強大的正向循環。如果只是自己排進度上課,但未曾和社群產生連結,很容易因為現實的壓力感到挫折甚至放棄。

學生們除了參加活動、在課程平台上熱烈討論,令我們感動的是,許多同學也自發性地組成讀書會,定期聚會討論、督促進度。有了義氣相挺的夥伴,學習路上不再孤單。

另外,大航道課程的學生們可以申請加入「學伴計畫」,兩三個學生組成一個團隊,一起從無到有做出一個餐廳評論網站、模擬功能複雜的 Stack Overflow ,以及期末專案。在高分群的學生當中,高達 83% 的比例有加入學伴計畫,更加顯示社群支援、團隊合作對學習成效的重要性。  

二、學習反思:用自己的方式複習、內化知識

除了融入社群和團隊合作,有效學習的另一個關鍵,在於「學習反思」。許多學生會透過提問、幫助別人解題,以及做筆記的方式反思、複習所學到的知識。

在卡關中成長是學程式必經的過程,因此我們鼓勵學生在課程平台的討論區上提問,也可以和其他同學互相切磋。我們發現,願意加入互動的學生們不僅學習進度穩健,比較不會半途而廢,而且成績更為優異。

我們的線上課程平台已經累積了超過一萬筆的討論,大多是學生提問、助教或同學幫忙解答。數據顯示,在討論區較多留言的學生,普遍成績越高,如下圖:

  這些高分群的學生們有一個重要特質,就是勇於發問,而且提出的問題清楚有邏輯。當自己行有餘力時,也會回覆其他同學的問題,彼此教學相長。

為何發問也有助於學習?因為要問一個好問題必須要建立清晰的脈絡。我們建議學生問程式問題時,必須寫明「你要解決什麼問題?你做了什麼步驟?遇到哪些障礙?」

清晰有條理的問題,才能讓讀者瞭解並知道可以如何幫忙,自己組織問題的過程中也能進一步釐清觀念,反思自己不懂的地方。

無論是發問、還是貢獻解答,都有助於自己反思、內化知識。有些同學也會大方分享自己發現的解題方式,形成讓大家腦力激盪的討論串,如下圖:  

我們線上課程平台的討論區截圖,關節同學分享他的作業小秘訣,吸引很多同學討論。

除了線上問答,寫筆記、統整上課重點也是幫助自己複習的好方法。做筆記就像為自己量身打造教材,用自己的語言消化吸收課程內容。大航道學生們有的用紙筆、有的人嘗試用職業軟體工程師做筆記的工具例如 Markdown、Sublime Text3 + Evernote (如下圖)。

                      許多軟體工程師推薦的寫筆記方法:Sublime Text3 + Evernote

圖片來源:Fred 的 Medium

三、勇於出擊 解決問題

唯有將按表操課的「學習」轉化為「體驗」,你才能將學到的技能,變成自己的一部份。想要達到這樣的境界,你必須勇於出擊、解決問題。

解決問題有兩個層次,一個是解決自己學習的問題,另一個是解決真實世界的問題。

想要解決學習問題,最快的方式就是做中學。大航道學生們會經歷的一道「天險」,就是要自己架設一個功能完善、類似 Twitter 的社群網站,作為期中考驗收。

即使之前在作業、小考拿高分的學生,在挑戰期中考的過程依然經歷了一段撞牆期。有的學生甚至越挫越勇,繳交 5 次才通過期中考。

雖然這個試驗,只要能靈活運用課程上所學到的語法就可以達成,但難度在於:沒有標準答案,也沒有任何與 coding 相關的提示。

只有一張使用者介面設計稿(如下圖)、一長串的 user stories (例如:規定除了註冊和登入頁,使用者一定要登入才能使用網站),學生必須自行將一大串的產品需求轉換為實際步驟,按部就班將介面、後台、各項功能串接起來。

                                 Twitter 期中考的前端介面設計稿,大航道計畫的學生須依照設計稿打造出簡易的 Twitter 。

圖片來源:ALPHA Camp

有的學生驚呼:「直到挑戰 Twitter 期中考,才知道原來之前沒有學懂!」之前的小作業,只要跟著教案一步一步寫 code 就能過關,但打造一個 Twitter,必須要活用之前學過的內容,自行思考如何設計元件、做出像Twitter 一樣靈活的版型,並且還要做出網址變化、能夠撈取資料。

透過 Twitter 期中考,學生不只增加實戰經驗,還能突破自己過去學習的盲點。挑戰成功的學生們,實力和經驗都大幅躍進。

程式畢竟是工具,而我們期望學生有機會透過打造產品,創造價值。而要打造好產品,得學會「定義問題」,也就是觀察真實世界的需求,以及消費者尚未被滿足的痛點,並提出解決方案。

大航道計畫有一個期末專題作品 Khroma,是一個以色彩學的概念,幫使用者自動搭配服裝並導購的網站。發起提案的學生「關節」,因為本身買衣服不擅長配色,於是提出「幫助使用者搭配適合的顏色和造型」的解決方案。他和組員們打造一個具備爬蟲、配色推薦等功能的網站,來幫助其他因配色而苦惱的消費者。

                      大航道計畫的期末專題作品,由學生打造兼具服裝配色建議與購物的網站 Khroma

學生參加期末專題最大的收穫,在於觀察真實世界的問題、並打造出解決方案,讓技能成為實現創新的養分。學生必須自行定義目標客群輪廓、找出產品核心價值,和隊友分工合作打造每一個細節。

有學生製作期末專題時有感而發:「我發現自己同時是 PM、工程師、設計師,不只看到局部功能,而能理解產品的整個面貌。」這不只是期末考,更是學生的里程碑。

「融入社群、學習反思、解決問題」這關鍵三招,是優秀學習者必經的歷程,在學程式、外語、才藝或其他技能都可以受用無窮,讓你的學習路上擁有更多成就與感動,看見不一樣的風景。

ALPHA Camp 自誕生以來,累積了很多失敗與學習。「大航道計畫」的開始更是 AC 與我個人職涯上碰到最大的挫折之一。經歷了無數個人仰馬翻的深夜,不斷從各種難關中學習、成長。我們希望能將傳承這些寶貴的經驗。接下來,我們將以一系列部落格文章分享 AC 在產品開發、解決難題的 know-how,敬請期待!