--- title: insideAPCS Day 11~15 tags: insideAPCS --- # insideAPCS Day 11~15 [ToC] ### Day 11 手把手帶你安裝 APCS 虛擬環境 昨天提到如何從 OJ 練題,但有些同學反映他們在剛開始決定要寫 OJ 練題時不知道該怎麼設置環境,因此筆者將在這裡帶領不知道該怎麼建置寫程式環境的同學們安裝 APCS 考試的虛擬環境。 1. 下載 VirtualBox 及 APCS 官網提供的環境(iso) 並安裝 VirtualBox 目前在 [APCS 官網的系統環境列表](https://apcs.csie.ntnu.edu.tw/index.php/info/environment)可以看到使用的作業系統是基於 LXDE 的 Lubuntu。這個作業系統是從 Ubuntu 發展而來的分支,目的是創造出更輕量的作業系統,即便是舊式的電腦也能夠順暢運行。 我們先從 [APCS 官網](https://apcs.csie.ntnu.edu.tw/index.php/info/environment)上下載他們提供的 iso 檔案,並在 [VirtualBox](https://www.virtualbox.org/wiki/Downloads) 上下載適合在自己的電腦運行的版本。 我是使用 MacOS,下載完後會長這樣子:  再將 VirtualBox 安裝在自己的電腦上:  有時電腦會要求你開放權限給 Virtual Box,只要一一許可就好。  2. 新增虛擬機器並設定 按下左上角的新增虛擬機器,並按照以下操作進行。(也可自行設定)   3. 利用剛剛下載的 iso 開啟虛擬環境 在之前下載的 iso 可以放在自己記得的位置,我自己是直接放在 Virtual Box 創的資料夾內避免誤刪。   再來只需要等他開機,當全部完成後便可以試著用這樣的虛擬環境寫程式了。 - 使用 Code::Blocks  - 使用 vim + EXTerminal   在桌面上也有教學可以觀看,若想要用其他語言撰寫也可以參照裡面的教學影片實際操作一次。  ----- 若是沒有操作過 Linux系統的人可能會對於這種作業系統不熟悉,若不想要在考場因為作業系統不熟而慌張的話,請務必操作一次試試看喔! ### Day 12 APCS 實作題考試技巧 在 APCS 歷屆考試下來,能夠拿到五級分的人數僅佔所有考生的 1~2%。光是程式設計能力好是不夠的,若要一次就能夠把五級分全部拿到,必須要在 150 分鐘內將四題全部答對,最多只能扣滿分 400 的 40 分。因此我和身邊的朋友搜集了如何在短時間拿到越多分數越好的技巧,在這裡整理給大家。 > 以下的技巧是針對想要考滿實作五級分的同學而設計,如果是初學者想要拿到三級分的部分可能沒辦法幫上忙喔。 1. 務必先把四題都先理解完再下手 APCS 的實作題總共有四個題目,難度則是按照順序提升,題目敘述的複雜程度也會越來越高,而能不能夠把所有題目的分數都拿到,有很大一部分和時間有關。通常看完第一題時我們會覺得題目很簡單就直接開始寫,但有時寫第一題消耗的時間比想像中還要久,導致沒辦法把剩下的題目在時間內寫完。為了要適當的**分配時間**,非常建議先把題目都看完一遍再決定要先寫哪一題。困難的題目要不要先認真想解法?簡單的題目有沒有需要在後半段想後面題目解法時順便寫?這些都是在考試時需要注意的。 2. 確實將演算法思考清楚 APCS 實作題是採後測制。也就是說,在考試結束前我們是沒辦法確切知道自己的分數。範例測資有時候很弱,不要以為範例測資過了就以為會 AC,要多多思考會有哪些極端的資料會讓自己的程式沒辦法順利運行。同時,不要因為題目太長而懶得看題目直接切入主題,通常這種想著僥倖得分的心態很容易在那一題什麼分數都沒有拿到,只是浪費了自己的時間。 在此提醒,APCS 考試不僅為後測制度,也會參考各位的程式是否真的能夠應付所有的狀況。或許在其他程式競賽中可以用猜題的方式得分,但在這裡是沒有用的。 3. 善用且妥當分配時間 150 分鐘其實非常短。不僅比大部分其他比賽還要短,也不能攜帶任何參考資料入場考試,因此要更確實分析自己的實力和剩下的時間決定要寫哪些題目。在第 3、4 題會有根據資料範圍給分,因此就算當想不到拿滿分的解法,也要試著拿到最基礎的分數,因為有很多時候在寫這種程式的途中,就會想到滿分解法,就算沒有也至少可以拿一些分數。**不要放棄任何能夠拿到的分數**。 4. 請睡飽,並保持最高專注力 在程式競賽中,體力和專注度是非常重要的。為了不要在寫程式中渙散或是失去注意力,我們會用自己習慣的方式去打造自己的環境。像是我非常討厭在白底黑字的情況寫程式,因此我會去查詢如何在考 APCS 時能夠用自己習慣的視覺畫面寫;若想不到題目可以趁機去上廁所,因此也可以練習在上廁所時順便想題目解法的習慣。但在所有條件下,在考試時擁有專注力是最重要的,所以請大家在考試前務必將自己調整為最佳狀態。 5. 使用暴力對拍法驗證困難題目 為了確認自己的演算法是否是正確的,我們可以使用暴力對拍法來驗證自己想出來的演算法是否正確。除了自己寫出來的程式外,可以**寫一份雖然會TLE但絕對正確的暴力程式比對**。配上自己想出來的極端測資,或許能夠找到自己程式的漏洞。 ----- 雖然個人沒有考過實作五級分,但在各種程式競賽也是通用的,當然也推薦多參加大大小小的程式競賽增加自己的經驗,避免自己在考試時手忙腳亂。 ### Day 13 高中競賽程式活動懶人包 要從新手入門程式其實很困難,若沒有學長姐直接帶領的話很容易無法釐清方向。以下的資訊通常是各校資訊領域社團的學長姐會介紹的內容,考慮到不是所有人都有這種學長姐能夠帶領,也在這裡供新手參考。 #### 國內程式評測系統 國內有各種大大小小的評測系統 (Online Judge, OJ),除了各大學自己建立的 OJ 外,也有專門給高中生的評測系統可供使用。題目通常比較平易近人,因為一起寫題目的人都是高中生,因此也會比較有動力一起寫。 > 個人最推資訊之芽 OJ,自己就是透過這些題目練起來的 - [高中生程式解題系統](https://zerojudge.tw/) - [建國中學程式解題系統](https://tioj.ck.tp.edu.tw/) - [台中女中程式解題系統](http://tcgs.tc.edu.tw:1218/) - [資訊之芽程式解題系統](https://neoj.sprout.tw/) #### 國外程式平台 若是能夠接受英文環境且想要更深入探索,可以參與目前全球最熱門且題目最優質的 Online Judge。 > 若想要更深入了解可以看 [Wiwi Ho](https://hackmd.io/@wiwiho/CPN-online-judge) 的介紹 - [Codeforces](https://codeforces.com/) - [UVa Online Judge](https://onlinejudge.org/) - [AtCoder](https://atcoder.jp/) #### 定期比賽 若是想要參加比賽增加自己的經驗,也可以參加各種不同比賽。雖然和 APCS 考試的制度都不太相同,但能夠感受時間的壓力會讓自己寫程式的錯誤率受到影響。除了 Codeforces Div. 以外,每個 - [Codeforces Div.](https://codeforces.com/contests) - [HP CodeWars Taiwan](https://www.facebook.com/hp.codewars.tw/) - [YTP 少年圖靈計畫](https://www.tw-ytp.com/) - [TOI 推廣計畫](https://toi-reg.csie.ntnu.edu.tw/) - [全國資訊學科能力競賽 模擬賽](https://www.facebook.com/pre.nhspc/) #### 正式競賽 若是想要更深入遊走在競技程式內,可以從校內的校隊開始一路破關斬將。 > 我僅止步於台北市佳作;; - 校內資訊校隊選拔 - 各縣市資訊學科能力競賽 - 全國資訊學科能力競賽 - 國際資訊奧林匹亞競賽 #### 由學生主導給高中生的程式課程、讀書會、競賽 若是覺得自己沒有辦法從頭開始自學,可以參加不同課程或同學舉辦的讀書會及競賽。不用擔心自己的學校為何,只要有心想要練習會有很大的機率可以一起學習! > 非常推薦資訊之芽培訓計畫! - [資訊之芽培訓計畫](https://www.facebook.com/ntucsiesprout/) - [師大附中/延平中學 競技程式讀書會](https://www.facebook.com/hsnu.yphs.cp/) - [NHDK 四校聯合初學者程式設計練習賽](https://www.facebook.com/NHDK-%E5%9B%9B%E6%A0%A1%E8%81%AF%E5%90%88%E5%88%9D%E5%AD%B8%E8%80%85%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88%E7%B7%B4%E7%BF%92%E8%B3%BD-100900825156112) #### 由學生主導的程式集訓營 若想要趁寒暑假增加自己的程式能力,非常推薦參加由各頂尖大學舉辦的程式營隊,在短時間的密集練習進步幅度會非常驚人。 > 你將會遇到非常多程式好手和非常厲害的前輩(當然還有滿滿的關懷) - [APCS Coding Camp 台大程式設計能力培訓營](https://www.facebook.com/apcscodingcamp/) - [IOI CAMP 台大程式解題競賽集訓營](https://www.facebook.com/ioicamp/) - [ION CAMP 清大暑期程式競賽集訓營](https://www.facebook.com/nthuioncamp/) - [NCTU PCCA Winter Camp Contest](https://www.facebook.com/NCTUPCCA/) - [全國高中數理科學競賽培訓營](https://www.facebook.com/SCMS.for.edu/) > 如果有任何疏漏歡迎在下面留言喔! ### Day 14【推坑】考 APCS 升大學大有優勢 提完了那麼多有關 APCS 的事情,這次想要分析考 APCS 能夠有怎樣的好處。 #### 權威性: APCS 是目前針對大學以下唯一關於程式設計能力的測驗標準,也是普遍被認為在升大學階段最能夠代表程式設計能力的權威。 #### 備審資料: 在現今的「大資訊時代」,程式設計日顯重要。各個大學的招生方針也越來越多元化。在目前升大學的管道中,若將 APCS 成績當成特殊選才/學測的備審資料,不管是不是資工系,只要是資訊相關的課系都是非常大的加分。 #### 資工主流考試: 能夠拿到高級分的人數比例非常低,由台灣教育領頭師大的資工教授親自出題,能夠準確鑑別考生程式設計能力的高低。加上 APCS 在國內升學非常熱門,在近期的每一次考試都超過三千名考生,是公信力非常高的考試。 #### 眾多免費資源: 通常證照考試都需要花費大把金錢才能夠報考,但 APCS 在推廣期間則是完全免費!也不用擔心非市區的同學需要大老遠考試,全台都有很多考區能夠報考,完全不用擔心考不到! #### 考試平易近人: 即便沒有辦法拿到高級分,透過簡單的程式設計基礎,再使用適當的學習資源拿到六級分絕非難事。在網路上也有非常多的教學資源可以參考,FB 也有社團有很多人能夠回復你的問題,最重要的是有一篇非常完整的鐵人文。沒有學不會,只是還沒開始學。 #### 特設學測名額: 在各個資工系及資訊相關科系中,甚至為學測特別設置 APCS 組,給在高中有程式設計能力的同學報考。若想要透過此管道上頂大資工系,只需要達到觀念 4 / 實作 4 就可以報考所有頂大的 APCS 組。就算實作掉一級分,也可以申請中字輩方面所有學校的 APCS 組! #### 錄取機率激增: APCS 組能夠讓學測的容錯率非常高,相較於透過正常方式入學的組別,APCS 組的每科級分能夠降低2~3級分,本來上不了的學校瞬間多了希望。 綜合以上所述,APCS 絕對能夠為升大學帶來極大好處,還在等什麼,[快點點我開始學習!](https://youtu.be/dQw4w9WgXcQ) ### Day 15【雷坑】千萬別肖想用 APCS 升大學 事實上一現在的情況來看,若是要用 APCS 成績當作升大學的跳板是完全不建議的,理由如下: #### 高手獨佔的考試 在高中的程式競賽圈中,大部分的獎項都是集中由幾位程式設計及演算法非常強的同學一手包辦。若是沒有辦法達到那種等級,想要和他們爭奪獎項是很困難的。此外,APCS 要拿到高分不僅需要大量練習,也需要很多觀念和技巧訓練,若沒有好好練習很容易拿不到分數。 #### 考試準備費時 在高中的課業壓力會開始上升,若沒有在高一就決定要開始練習,高二後的備考會讓準備 APCS 的時間壓迫很多。加上光是要學會基礎演算法就需要花上不少時間,若將相同的時間拿來準備大考,投資報酬率一定會比較高。 #### 升大學名額稀少 雖然各大學資工系有增設 APCS 組別,但事實上名額非常少,2021 年台大資工首次增設組別有只有一位能夠進入,其他頂大單一校系 APCS 組也一直限制在三位以內。若自己沒有能夠擠進 APCS 分數前段班,能夠因此而考上頂大資工系的可能性非常低。 #### APCS 不是全部 若是以在大學前先修的心態學習程式設計,雖然是好事,但程式設計只是所有資工領域的一小部分,演算法和資料結構固然重要,但光是這些絕對沒辦法概括所有資工領域。在真正進入資工系後,也才發現除了競技程式以外,還有非常多的路可以走,若是在高中就被競技程式阻礙雙眼是非常可惜的。 #### 實作三級分以上才有用 能夠到達實作五級分的人通常不是資訊奧林匹亞的國手外,就是能夠進入國手訓練營的選手,頂多在加上全國資訊學科能力競賽名列前茅的人,而若是細數目前 APCS 的名額數,已經把頂大的 APCS 名額佔滿了。剩下若是想要排在後面,也至少要練習到實作三級分以上,否則 APCS 的分數會很難看,甚至會被其他人當作笑柄。 #### 紅利級分只會越來越少 在前幾年的 APCS 組剛增設時,因為考試的人不多,因此同時能夠考好學測且拿到不差的 APCS 分數的人非常稀少,導致當時的 APCS 組能夠正取的學測分數比一般組低非常多。但 108 課綱後擁有這些條件的人越來越多,能夠偷到的紅利級分只會越來越少,到最後 APCS 組的優勢差距也會逐漸縮小。 ---- 不要再肖想了,[快去唸書](https://www.rulin.com.tw/)。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up