iT邦幫忙

2021 iThome 鐵人賽

DAY 2
1
自我挑戰組

深入高中程式設計能力指標 APCS系列 第 2

02 自學的契機

由於想要完整將自己從小至今的學習歷程完整敘述,容我從小一開始接觸程式的故事說起:


從記憶中對實作的印象是國小二年級,跟著國小課後班一起玩類似智高的積木課。而真正開始觸碰 NXT 等連結小電腦的積木玩具是在三四年級,記得是三五個同學和老師一起組各種不同的東西,上課的老師和地點都許多改變,地點也常常會更改,但最後常在附近的某間海洋大學上課。當時大多都是透過 NXT 配上當時 LEGO 字型設計的圖形化語言介面實作。印象中當時做出比較有趣的企劃有:

  • 抓球機器人。能夠透過多個按鈕操控手臂,能夠自由地將球抓起並在指定位置放下。

  • 用超音波感測器、噪音感測器和按鈕做出的長號。在氣孔、兩個按鈕及滑把的輔助下,練習一陣子可以發出大小聲,且有一個半到兩個八度(含半音階)且能夠演奏簡易曲子。

  • 能夠到處晃且不怕踩空碰牆的車子。那時最喜歡的在上課前拿一台車在學校到處晃,在下課時尋找他跑到哪裡。

  • 各種不同型態的車子。因為大部分的企劃都是製作車子,因此開始做出分別在3分鐘、5分鐘、10分鐘內就能做出來的車子,各自有不同結構穩定度、能夠裝感測器的位置分佈等。

最後一學期跑到了某一間國中和那裡的同學一起上課,身為唯一國小生的我很怕生,加上當時被老師規定要用能夠操控 NXT 的文字語言 NXC 來寫程式,有如手腳被綁一般變成什麼都不敢做。但當時知道有個大學辦的 NXT 機器人比賽,我對其中的循跡車很有興趣,因此那段時間我就在很短的時間內就做出了一台車,並在上面放上四個紅外線感測器。

在之後的課程便只有不斷的調整參數,希望能夠在最短的時間走完賽道,但在一開始要在不離線的情況下走完全程就是個問題。當把感測器的部分調整好後,把轉速調高又有不同問題需要解決。經過多次嘗試才變成下面的樣子,能夠利用最高速走完全程。最後成功獲得當時國小組的第一名,也是印象中最後一個 NXT 專題。


到了國中碰巧認識了 Scratch 這個程式語言(即便我現在不承認他是),激起了我原本想要做遊戲的想法,再加上剛好有比賽可以參加,決定趁這次機會做出來。因為從文字介面回到能夠用指令方塊堆疊,因此學習速度也非常快。最後用了快兩個禮拜的時間終於做出了像樣的 平面跳躍遊戲 Space Crisis

https://ithelp.ithome.com.tw/upload/images/20210916/20103852ClNBqF7adK.png

我不敢說我透過這個遊戲學到了什麼東西,但這或許是我有史以來第一次在沒有老師指導的情況下,自己從 0 開始自學,全部內容都是找網路上的文章學習的。或許現在回頭看不算什麼,但這有很大部分奠定了之後在這條路上的學習方式。


上一篇
01 寫在前面
下一篇
03 從專題研究中學習
系列文
深入高中程式設計能力指標 APCS30

尚未有邦友留言

立即登入留言