Alpha Camp 學期 2–2 心得

回顧自己的進步(一個直接把作業標題拿來用的概念 again)

Johnny Fang
9 min readDec 24, 2022

最後更新時間:2022–12–24

一個精神時光屋的概念 | Photo by Harry Cunningham on Unsplash

前情提要

竟然又到了要寫學期心得的時候了,果然是精神時光屋,每週都覺得時間過好快,按這個速度應該沒多久就要退休了(wait, what?),之前兩篇心得如下:

Alpha Camp 學期 1 心得

Alpha Camp 學期 2–1 心得

學期 2–2 在幹嘛?

主要分成幾大部分

  • API 串接:終於進行到撈外部資料了,反正就是教你如何串 API
  • 功能優化:延續前一學期做過的作業,實作優化功能,例如網頁底下分頁、搜尋、收藏功能與收藏頁面、瀏覽模式切換(卡片與列表)等,藉由熟悉的作業,一步步教你如何把某些常見功能做出來
  • 翻牌遊戲 — 微型專案設計:就是把一個小遊戲實作出來,但不只是做遊戲而已,而是藉由這個過程初步瞭解打造一個簡易產品所需概念,就像是管理一個微型專案一樣,包含流程拆解、狀態機介紹、程式碼管理的 MVC 架構等,也順勢帶到洗牌演算法、簡易 CSS 動畫等
  • Git & GitHub:先介紹終端機,然後說明如何進行程式碼版本控制,包含本地端的 Git 與雲端的 GitHub,以及相關前置作業如軟體安裝設定,最後則是 Git 指令說明與練習
  • 學期 2–3 選課引導:下一學期課程將分流為前後端,所以課程尾聲更詳細說明前後端差異,提供決策參考

有什麼特別的嗎?

這學期進行方式滿順的,先介紹 API 讓你可以串東西,然後就能做出比較真實的作業而不是原本少少的內容,有真實資料後再開始優化各項功能,有承先啟後的感覺。接著進入比較複雜的 MVC 架構,學習如何組織越來越多行程式碼,最後再介紹版本控制,整體課程安排順暢。就挑兩個比較特別的部分來談吧

🃏翻牌遊戲 一開始先看遊戲 demo 就不禁想說,這現在的我真的做得出來嗎,後來一步步跟著做還真的成功做出來,滿爽的其實。藉由這個遊戲,除了剛剛提到的 MVC 架構,也在過程學到很多小功能,例如用 CSS 旋轉 HTML 元素、做簡單動畫效果、瞭解洗牌演算法等,感覺學了翻牌遊戲就像收到一個澎湃包

🧑‍💻Git & GitHub 之前查資料就一直碰到 GitHub,覺得這個東西很神奇,似乎一堆工程師在用,上面有數不清的專案,而且許多工程師都會在自介或部落格放上自己的 GitHub 連結,在 Medium 也有些人用 GitHub 做 Medium 文章列表,有時又看到很像部落格會出現的文章但卻發佈在 GitHub,搞得我像隻貓十分好奇,到底這個同時是專案集散地、工程師履歷、文章管理表、部落格的東西是什麼(GitHub 吉祥物要不要乾脆從章魚貓換成希臘神獸奇美拉),但因為知道這學期會講到 GitHub,所以強忍好奇,決定到這章節再一次學一學,所以到這章時我已迫不及待想瞭解一切。

這邊課程設計得很好,可以幫新手少走許多冤枉路,一開始就手把手地帶大家設定環境,搞定各種安裝,而且還準備 Mac 與 Windows 兩種版本,剛好我有兩台筆電兩個版本各一台,於是全都跑過一遍。接著也學著用終端機、Sourcetree、將本地 Git 版本控制檔案上傳至 GitHub 等,這種一解心中疑惑的感覺真棒。題外話,後來才知道 GitHub 早在 2018 年已被微軟以 75 億美元收購,發現這件事的我就像當初第一次發現火的原始人一樣驚訝(其實這邊有個思考謬誤,那就是我無法確保第一次發現火的人類是驚訝的,說不定是好奇,也說不定根本無感只想著待會要去哪裡狩獵)

回顧自己的進步:ORID

不知道 ORID 的人可以參考這篇說明,簡單說就是一套自我反思工具,每週我們都會交一篇,這篇無意外地也是作業之一XD,本週寫的是特殊版,相較每週版本,本次像是一個階段反思。

🎇OBJECTIVE:用「現在的你」來比較「 1 個月前的你」,你是否感覺到自己某方面的技能進步? 如果越來越帥不算的話,那大概還有以下幾點

  • 組合技:當學得越來越多,學過的技術有時能串起來,例如這次印象最深的是想到利用三元運算子(Ternary Operator)搭配 Template Literals 來依情況渲染所需畫面,想到的當下滿爽的
  • 優化程式碼:之前我都秉持先把作業做出來再說,現在會開始運用一些基本功把程式碼在一開始就寫得簡潔一些,例如越來越愛用的箭頭函式,也會在寫完整個作業看一下哪邊重複性很高,嘗試簡化
  • 拆解漸趨複雜的目標:隨著學習推進,作業一定越來越複雜,已經滿習慣用運算思維先把流程想一遍,一一拆解成小任務再各個擊破
  • 相關工具使用:終端機、Git、GitHub、Sourcetree等,原本完全沒用過
  • 各種硬實力提升:學了許多語法,也更熟悉相關專有名詞

🎇REFLECTIVE:針對你說的進步點,這個進步點是怎麼累積出來的?在過去幾週你經歷了什麼樣的過程?過程中的哪些環節刻意練習到了這件事? 從學期 2–1 開始我的作息就很固定,也要求每週達成一定學習時數,而我認為也不算刻意練習,就是順著課程安排投入高時數專心學習,只要以解決問題為核心(白話講就是遇到問題時想著這到底要怎麼解決?拆解流程後接著就把所學想一遍,沒學過就查),基本上這些進步可以水到渠成

🎇INTERPRETIVE:根據你這次的「成長經驗」,若要「持續學習,持續進步」,是否能提煉出任何「對你來說行得通的行為/心態」?或者你有沒有發現什麼行為/心態是行不通的?

  • 行得通:不斷強化輸入輸出循環對我來說很有效,尤其在輸出部份,不管是協助回答同學問題、做筆記、寫技術部落格、甚至講出來,都會讓我更有效理解,並且印象深刻
  • 行不通:在盡力之前就先看解答是行不通的,容易養成看答案的習慣,而且印象不深刻,看過沒多久就忘,反而靠自己想出來都能記比較久

🎇DECISIONAL:總結。為你在下一階段的學習,給自己一些意見。 持續高時數投入專心學習並強化輸入輸出循環,另外也建議別太依賴 ChatGPT,可以當輔助,但別過度,畢竟初學者打好基本功並不是一種選擇,而是義務,要對自己的學習負責,而且當地基不穩的樓不夠高或尚未經歷風雨時都沒事,一旦越來越高、甚至遇到狀況就容易倒,讓地基從一開始就紮實是最務實的做法

延續前面學期心得中那些👍的部分

體驗延續到現在基本上品質仍算穩定:

  • 2–2 教材依舊編得很好,白話、清楚明瞭、由淺入深
  • Lighthouse學習平台好用
  • 助教群一樣支援度超高
  • Discord社群還是很好用
  • 支援體系豐富,包含學長姊、工作人員、學習教練等

那有👎的部分嗎?

跟前兩篇都一樣,目前還好,不過有件事可以提一下,就是關於選擇前後端,由於學期 2–3 就要分流,前後端選擇問題開始浮現,關於前後端其實可以再寫一篇因為我做了不少功課,不過這邊不贅述直接講我認為 AC 可以更好的地方,就是建議在課程設計中融入更多後端元素,因為到現在其實尚未實作到太多後端內容,大部分偏前端或通用技能。不過 AC 應該已經算很好了,提供許多其他輔助方法,例如官網關於前後端的文章、教材中針對前後端詳細說明、社群活動時可以問、職涯 RPG 也有軟體產業常見角色介紹(不知道這啥?可以看我寫的這篇)等等,再加上自己找資料、問朋友,其實資訊已經不少,但之所以難做決定並不是因為資訊不足,而是因為沒什麼機會實作,對於沒做過的事要拿來比較並選擇對我來說可能稍微困難,因此或許課程融入更多後端內容自然就知道如何抉擇,當然也可能只有我這樣需要親自做過才知道怎麼選😂

題外話一下

選前後端讓我回想到高中選類組,以下跟 AC 無關,單純抒發想法。台灣教育體制當時讓人覺得十分莫名,國中三年就是認真讀書,如果可以,每一科不管喜不喜歡都盡量考高分,因為很現實地就是要考試升高中,當時學校不管國中高中都不會引導學生探索興趣,結果到了高一下學期突然就要我們選類組!?如果我也寫一本自己版本的《二十年目睹之怪現狀》,這件事大概會被我寫進去。試問當時的教育官員,您要一位在不重視探索興趣的教育體制下成長的 17 歲高中生突然選類組,您期待他怎麼選,擲骰子?我不是那種從小立定志向大學沒唸完就輟學創業然後生出一隻獨角獸甚至變成商業帝國的天縱英才,相信多數人當時都有選擇困難症,我猜 90% 的人應該都用自己擅長科目有哪些來判斷,但如果有人平均表現都還可以,那怎麼選?我的話很簡單,因為根本無從判斷自己喜歡哪個,所以用兩個因素直接做決定,一是我想賺大錢,二是我所有科目中最弱是物理,所以得出一個結論:商管科系為最佳解(再怎樣至少直接跟賺錢相關),因此當時直接填社會組,因為商管隸屬該組。我很幸運,商管領域很有趣所以不覺得白讀,但我也相信認為自己選錯領域的大有人在。有人可能會說,高中選哪一類組根本不是個事,因為選某類不代表只能選該類科系升學,即使大學讀該類科系,研究所也能換,找工作更沒有人限制你,這些我都 100% 認同,但可惜的是,這個論述點出事實,當事者聽到會比較安心,覺得「選錯了也不至於人生崩壞」,然後呢?然後當事者還是不知道怎麼選,因為對他說「選哪個其實沒差」對於做抉擇本身幫助不大。最後強調一下,或許只有我讀的學校這樣,說不定其他學校不管國高中都竭盡所能幫學生探索興趣與未來發展,我只是單一樣本,就算把我同儕加進去樣本數也不具代表性。講這麼多,有沒有覺得選前後端跟當年選類組有許多相似處?(結果這段題外話竟然不小心寫了快七百字,到底當年是多不爽哈哈哈)

結尾

其實滿想全部複製貼上前一篇心得結尾,因為結論差不多XD,總之滿推 AC 的,只要認真做每個環節,課程設計、教材、支援體系等都能讓你不知不覺成長很多,只要跟著 AC 腳步走基本上不會走偏到哪,有好奇想問的可以 email 聯繫我,能幫得上忙就盡量分享,或是你也可以到官網聯繫 AC 哦:

--

--

Johnny Fang

把 Medium 當 Notion 用,寫一下 coding 學習筆記 | email: johnny781222@gmail.com | LinkedIn: www.linkedin.com/in/johnny-fang-9356b2156 | Discord 使用者名稱:johnnyfang