想在大學前就開始接觸程式有很多方式。不論是學校中資訊教育的課程、參與各種線上論壇/年會、甚至參與校內相關社團如電算、網管、機器人社等管道都能夠精進自己的實力。但若想要測試自己的程式設計能力,唯有參加舉辦給國高中生的程式設計競賽。在其中,正式比賽只有各個縣市舉辦的資訊學科能力競賽,此外僅有大學程式先修檢測(APCS)能夠作為程式設計能力的指標。身為此檢測主辦校系的學生,我想要趁這次30天的鐵人賽深入探究,從不同視角切入觀察,並藉由訪問不同參與者了解 APCS 的真面目,並歸納出學習程式的最佳模式,想給要在國高中加入的朋友一些想法及指引。
本系列文章將分成以下五大部分:
在進入正題以前,我想先大略先從小開始學習的經驗、做過的各種專題研究、接觸程式競賽的契機、歷程等開始回想,嘗試在這仍半生不熟的時間點紀錄自己的程式學習歷程,也能夠給各位參考。
APCS 的考試項目主要分為觀念題和實作題兩種,其中都有考試的範圍及學習技巧。本篇想要列出在不同階段精進程式設計能力的方法,和在考前應該如何準備,及分享由許多同學及準備花費大量時間製作出的教學內容。
APCS 從 2016 年開始辦理,第一屆考過 APCS 的考生現在也大多從大學中畢業了。持續至今已經來到 2021 年,每次報名總是一席難求,每年仍然只舉辦三次,也沒有向考生收取任何費用。本部分想和各位簡介 APCS 並大略說明近期考試的實際情況。
在高中的程式設計社群中,有非常大量的學生曾以 APCS 為目標。除了訪問準備過的前輩及同學外,期望也可以向程式設計的教學者、程式競賽選手,甚至是大學端的教授,期望能夠以多角度分享對於 APCS 的看法及期望。
今年學測將會是 108 課綱的學生正式參加大學入學考的第一次,同時也正式敲響了多元入學的鐘聲。在如此潮流下,APCS 是否能夠代表成為高中生程式設計能力的指標,以及未來類似考試的發展將如何進行,將在這一部分深入探究。
今年是我第三次參加iT鐵人賽,前兩次寫的主題都和我在學校的專題研究相關的內容,也算是研究期間能夠讓自己增加動力的筆記。而今年的鐵人賽想要把過去所有關於我當時稱以為是「資工」但其實只是其中一小撮的部分拉出來,寫在這個地方沈澱,當作是即將進入大學的墊腳石。Peace.
https://hackmd.io/@skyhong2002/insideAPCS_TB
https://hackmd.io/@skyhong2002/insideAPCS_6_10
https://hackmd.io/@skyhong2002/insideAPCS_11_15
https://hackmd.io/@skyhong2002/insideAPCS_16_20
https://hackmd.io/@skyhong2002/apcs_interview_dufu
https://hackmd.io/@skyhong2002/apcs_interview_JacobLinCool
https://hackmd.io/@skyhong2002/apcs_interview_WiwiHo
https://hackmd.io/@skyhong2002/apcs_interview_Bogay
https://hackmd.io/@skyhong2002/apcs_interview_Colten
https://hackmd.io/@skyhong2002/apcs_interview_tom1484
https://hackmd.io/@skyhong2002/apcs_interview_jason
https://hackmd.io/@skyhong2002/apcs_interview_howard
https://hackmd.io/@skyhong2002/apcs_interview_jayinnn
沒想到自己能夠成功挑戰第二次鐵人賽。
若從這個時間點回去看,從第一篇寫到現在,不管是寫的時間還是內容表達的完整度都有很明顯的提升。在第一篇連自己的事情都講的不是很理想,光是想要怎麼寫就花了大半時間,又不知道用哪些字彙去描述,導致寫起文章的效率非常低迷。本來以為會這樣到完賽,但寫到後面擬稿越來越順暢,就算是早上才偶然想到的題目也能在短時間歸納出大綱,寫內容時也很容易將腦袋的想法轉化成文字。
從這個系列的第 21 篇開始,連續邀請了九位接觸過 APCS 的同學參與訪談。這些人不僅透過不一樣的管道認識了程式,在隨後學程式的媒介、語言和學習方式也各不相同,但最終都和 APCS 這個考試碰上了邊,並且透過自己的程式設計能力繼續學習新的事物。
有人是從小就開始接觸,靠自己在網路上查,看有什麼資源可以看,有什麼有趣的東西想用程式做出來,以此燃起了學習程式的火苗;有些人則是在國中碰上了 NPSC,開始接觸程式競賽,慢慢了解程式的不同知識;最後,也有人是在高中才開始正式開始接觸程式,在高一高二兩年間學習程式設計的能力,學的比其他人都還要認真。
不論最終結果如何,這個 APCS 檢測絕對不會是終點。在爾後各種開發、研究等實作和理論推導中,程式設計能力確實會是這些領域的基礎,而我們只要仍然在資訊工程圈努力著,這個能力只會越來越穩固,自己能夠透過程式做到的事情也絕對越來越多。
事實上,就算是花了那麼多研究 APCS 這個檢測,相較於前半段的專題文章,我在這段時間學到最多的可能是從和認識的同學、學弟妹和學長訪談的這些時間。與其說訪談是想知道是怎麼一路學上來的,不如說想知道的是他在當時內心想著什麼,未來想要做些什麼事等等,問完別人後再捫心自問自己未來到底想要做什麼,現在應該要從哪裡開始努力等等,透過這些對話讓未來的藍圖越來越清晰。
在這裡祝福各位能夠找到自己的目標,並朝著理想前進。
期望未來能夠在鐵人賽的舞台上再相見。
2021.10.14
在先前的訪談中有談論到一些有趣的話題,本來想要獨立一篇出來,但很不巧地來到了最後一篇,因此想在這裡簡單整理一下:
補習 / 自學
觀念題
實作題
考試制度
此外,也有一些疑問是和訪談者討論時沒有得出答案的一些問題,想在這裡提出來,希望未來能夠歸納出來:
這些問題都是個大哉問,需要考慮到非常多面向才能夠合理的回答。但或許在下一篇能夠為這些問題得到一些解答:)
沒錯 請期待第 31 篇鐵人文~