適不適合寫程式?做就對了!文組初學程式分享

Ashley Hsueh
Oct 23, 2020

--

楔子-將擔心轉化為行動

就在一個月前,被告知失業的我,徬徨地思索著接下來的職涯規劃,腦袋不停地打轉,想著自己一定要培養一個往後可以帶著走的謀生的技能,在網路上看到不少自學程式的例子,似乎露出了些曙光…但其實深知轉職並不容易,內心深處也不斷地懷疑從小數理被當到大的我,真的能學好程式嗎?深怕自己浪費了錢又浪費了時間,不過這樣窮擔心,還倒不如先上點課來看看。

在課程的選擇上,因為只想先試水溫所以就選擇了 Alpha Camp,畢竟資策會學費近 12 萬的學費實在負擔不起、半路學不成的風險也大,而 Udemy 的課程雖然便宜,但受限於英文能力以及教學方式,還是只好放棄。最後,我買了 Alpha Camp 的課程,對我來說可以線上即時問問題(助教回覆的速度真的快!)、作業批改及影片、圖文敘述的教學形式都是必要的,更出乎意料的是 Alpha Camp 不只教程式本身,還有告訴同學如何去建立自身學習的風格和方式!

學習的過程-挫折與成就感交織

目標設定

對於程式新手來說,想踏入這塊領域注定是條漫長的路,所以在參加「學期 1:程式設計入門」時,我給自己設定的目標:

  • 完成每一週課程規定的進度
  • 盡量完成每一項作業
  • 勇於在學習平台上發問

關於作業練習

身為一個初學者,在一開始寫作業時,大多的時候難免會面臨想破頭也想不出來時,很多時候不得以得去觀摩同學的作業才能完成,但學習很多時候就是從模仿開始的,並不是單純抄,而是要從觀摩別人的解題方式,去思考為何是這樣進行,再去修正自己思考的角度,同時也可以知道自己的弱點在哪裡,趕緊回去那個不熟悉的章節複習觀念、或者向助教提問。

回顧課程內容

學期一的課程內容,我大致上粗分為 JavaScript 與 HTML/CSS 兩大的項目,整個學期學完我初步學到了寫程式最基本的運算思維和觀念,及可以簡單的運用 HTML、CSS 排版出一個簡單靜態網頁的能力。

以下我回顧一下我覺得對我個人來說在學習上比較需要花費時間的程式觀念,而其中我覺得 JavaScript 學起來較吃力:

(一)、JavaScript

在學 JavaScript 的時候,剛開始是蠻挫折的,因為需要花費很多時間去釐清基本的觀念,然而還要練習用運算思維的方式去解題,也就是用要將想法轉換成給電腦的指令。同樣是題目用以往數學的方式去算就可以了,但在程式語言中就必須用運算思維才能解開。

變數/資料型別/運算子
可以說是基本功,也是我花很多心力去讀的地方。
其中,就變數來說,我自己的理解是:

記憶體就像一個很大的抽屜櫃,而變數則像其中一個有特別命名的抽屜,存放著資料

迴圈:for/while
迴圈大概是我覺得整個課程最困難的地方,在寫作業時也卡很久的一個單元。還記得在寫期末考的時候又遇到「迴圈」這個大魔王,想了整晚,最後終於懂了迴圈真正的用法,因而感到興奮無比,那真是令人難忘!

作品分享:

擲骰子 10 局積分賽:運用 for 迴圈控制執行次數、 if/else 控制流程、console.log 輸出結果
用 for 迴圈畫出一張中秋賀卡

(二)、HTML/CSS

在還沒有在 AC 上課前,我曾在 Youtube 上有大概的學過一點點的 HTML、CSS ,因此對我來說比較容易上手,學習 HTML 可以說是用一個個標籤架構網頁的骨幹,再加上 CSS 語法的排版美化網頁。在上課的過程中,碰到了很多的 HTML 的標籤與 CSS 語法,雖然看似複雜,但不需要死背,多多嘗試即可熟悉。若是遇到沒碰過的標籤或語法 Google 一下好了。

CSS 切版
需掌握由上而下、由左而右、由大到小的原則。

Flexbox 排版系統
這邊是我覺得很複雜的地方,剛讀完時一頭霧水,必須熟悉不同語法組成的效果,我透過下面這個小遊戲來練習的:
https://flexboxfroggy.com/
藉由讓青蛙移動到荷葉,讓熟悉 Flexbox 排版系統的過程變得更有趣的!

作品分享:

幫鋼鐵人打造履歷網頁
幫先前的擲骰子 10 局積分賽用 CSS排版出漂亮的介面

結語

最後,我想說學習的過程必然艱辛,但我很享受思考的過程,尤其把程式完成時的感受成就感是無可取代的!老實說在學之前我也擔心,我到底適不適合寫程式,但後來發現好像白擔心了,踏出舒適圈嘗試才發現原來我也可以做出一點點的小東西出來!雖然只是小小的程式初學者,但經過這幾周的學習,讓我更有勇氣繼續學下去了。

--

--

Ashley Hsueh
Ashley Hsueh

Written by Ashley Hsueh

社會新鮮人,記錄著學習的一切。

No responses yet