我在Alpha Camp 學期一心得收穫
在我分享之前,我會主要分享3個部分為主軸。
A.初衷
最大原因是因爲自己未來打算畢業擔網頁軟體開發工程師。雖然自己有相關程式底子,但我還是希望可以透過專業課程培訓,讓自己畢業前就具備專業級的能力。
B.收穫
B1.基本程式邏輯(Javascript)觀念建立
一開始就先讓學員學習基礎觀念,也蠻貼心會提供許多細節上新手很難注意的部分,這真的可以打下扎實的基礎觀念,對之後學習進階javascript技術觀念會比較有效率。
作業部分也蠻挑戰,因爲需要用到所有課程學過觀念,自己理解觀念后,再去使用適合語法把作業需求就可以了。
建議先自己寫一遍,可以訓練自己思考解決問題能力。若卡關了,也可以嘗試看看上網查相關資料來幫助自己解決作業。
再不行,就可以參考其他已完成作業夥伴。在AC 觀念說參考別人程式是可以的,因爲每個人程度不一樣,不可能都懂所有東西,所以借力使力,在自己弱點部分可參考其他範例,理解后再寫出屬於自己程式,那自然解決問題能力再大幅度提升。
B2.基本html,css
因爲之前有上過類似綫上課程,主要是code along方式教學,以爲這樣就理解觀念就好。
但在Alpha Camp 除了給觀念,也會設定很多作業把之前學過東西應用出來,會發現自己弄作業時,碰到許多問題,代表自己沒有完全融匯貫通所有學到觀念。
如果過程有卡著代表可能自己某些觀念沒弄清楚,需要再自己重複理解觀念。這樣刻意練習,會發現自己之後在反思學到觀念上確實速度變快,且慢慢可以融匯貫通做出來作業期望效果。
B3.程式開發工具
B3I.replit.com (適合程式邏輯教學平臺)
對javascript 學習則是使用 codepen教學,我個人覺得對新手蠻好入門,可以直接看到結果。
而且提供fork功能,對於參考其他學員程式會是很大的助力(假如大家有這方面需求)。
B3II.codepen則是練習前端html+css絕佳平臺,因爲很清楚看到呈現頁面最終效果,對整理頁面細節會很容易。當然具備fork 功能,可以參考別人程式碼(如果大家這方面需求)
B4.出錯工具方法
B4I.使用瀏覽器開發者功能
使用 chrome瀏覽器預設的功能console對 javascript 除錯起了很大幫助。
B4II.至於 dev tools 話就對前端除錯是很大幫助,可以清楚幫你看到目前html及css在改網頁呈現的真實狀況,不管是大小幅度,顔色設定,位置等等。
B4III.認識console 錯誤訊息表達意思,這樣話每次執行結果,不如預期話,可以很快查到問題來源,以及有問題程式碼位置做出錯動作。
B5.運算思維重要性
雖然大學有在教,但在Alpha Camp上有新收穫就是說,當你希望把新想法,迅速轉換成可以最小可行性的應用程式,那學會構建流程圖或虛擬碼后,可以更快寫出你期望的應用程式。
B5I.運算思維
這與人類直覺思考在開發程式有很大問題。簡單的需求,可以很快用直覺思考寫出來,但如果是複雜的問題,那直覺思考在這時候沒辦法發揮最佳效率。
所以學習運算思維技巧后,之後不管複雜度如何,可以很快有效率找到適合方法開發我們期望的應用程式。
B5II.虛擬碼&&流程圖
在寫程式前要做的事情,因爲圖片或文字表達可以幫我們在思考邏輯上的盲點,瞭解后,就修改,讓整個邏輯是完整,並可以達到開發完整應用程式。
B6.設計網路應用程式
B6I.User Story
在軟體開發的生產線裡,工程師負責「開發」,也就是把「點子」變成可以使用的軟體。然而,工程師絕不可能埋首只顧程式碼。
所謂的「點子」,從模糊到具體,需要不停地摸索、測試、修改、迭代。工程師也需要參與評估開發可行性,協助將點子變成具體的產品規格。
B6II.wireframe
線框稿的目的是確認內容、排版、功能等等所有的頁面元素符合你的整體設計,根據線框稿,你可以在實際開發產品之前釐清關鍵行動並適當的配置資源。
B6III.Userflow
使用者流程圖則顯示使用者在我們的網路應用程式中執行操作的路徑。通過設計使用者流程,你可以為你的網路應用程式 (或是行動應用程式),規劃更好的使用者體驗。
B7.社群力量
一個人自學難度蠻大,考到很多因素(時間安排,經濟,動力,自律性)會讓我們效率下降很多。
但如果有旁人一起陪伴努力,那成長幅度是n 倍的。因爲在這裏如果有困難可以直接問助教或教練。
當然也可以參考其他學院遇到問題,説不定可以直接解決你的疑惑
這樣在遇到卡關時,可以很快剋服,繼續往成長道路前進。
C.總結
整堂體驗下來,發現自己學習效率變高很多,而且觀念不斷更新變得更深,因爲有社群學習,讓自己常常保持動力完成所有教材與作業。
鼓勵對程式開發有興趣探索或想轉職成網頁開發工程師朋友參與,因爲這扎實培訓課程,不管是教材或作業,甚至額外資源都好,只要認真投入學習,課程結束能力提升是可以明顯改變。