三個好習慣讓程式學習之旅啟航

許多人學程式、轉職工程師,目的是想培養應對未來的能力。不只是在職者,ALPHA Camp 常收到許多年輕學員,甚至是高中生詢問學習規劃,希望為未來提前做準備。

在快速變化的時代,基本學歷已難滿足所需,「學習力」才是應對當今社會的必備能力。如何培養自學能力,從實作中學習、從社群中交流成長,是關鍵所在。為了幫助更多學生能夠不受時間、空間的限制,我們在 2018 年推出了全端網路開發線上課程。我和 AC 的 Student Success Team 每週固定關注學生們的進度和成效。

零基礎也學得會!緊密學習社群的程式設計入門課

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

一、融入社群 團隊合作

Fred 白天在公部門上班,晚上奮戰學程式,家裡還有妻小要顧。他在 ALPHA Camp 與兩位隊友從零開始,打造出一個遊戲化的程式學習平台。

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

這種和隊友一起「組隊打怪」學程式的氛圍,是我個人最享受,也是希望 AC 能建立的學習模式。我們的目標是建立一個「有活力的學習社群」,為了讓學生不只是孤單、被動的看影片自學,我們設計了自己的學習平台、建立了分組專案。以及各式不同的學習活動,購物車系統與金流串接等線上工作坊,學員可以跟著助教的直播講解一起實作。還有 Google 和 honestbee 企業參訪、職涯說明會、聖誕趴、桌遊趴等實體活動。

(了解更多ALPHA Camp的學習體驗)

ALPHA Camp 帶學員參訪 Google 辦公室

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

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

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

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

另外,ALPHA Camp的學生們可以兩三個學生組成一個團隊,一起從無到有做出一個模擬的 Twitter 網站,以及期末專案。在高分群的學生當中,高達 83% 的比例有加入分組專案,更加顯示社群支援、團隊合作對學習成效的重要性。

(不能錯過:最有溫度的線上課程)

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

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

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

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

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

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

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

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

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

Medium)‍許多軟體工程師推薦的寫筆記方法:Sublime Text3 + Evernote(圖片來源:Fred 的 

   

三、勇於出擊 解決問題

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

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

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

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

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

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

‍Twitter 期中考的前端介面設計稿,學員須依照設計稿打造出簡易的 Twitter (圖片來源:ALPHA Camp)

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

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

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

(同場加映:亞洲最完整最有系統的程式課)

期末畢業專案

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

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

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

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

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

好評推薦,最有系統和學習社群支援的程式入門課程