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