跳到主要內容

推動大學程式設計教學Logo

訊息專區

不只是檢定,更是通往未來的機會--「推動大學程式設計教學計畫:程式能力檢定分享會」側記

學英文的人想要檢測能力,會想到全民英檢、多益、托福等檢定考試,那麼學程式的人若想了解自身實力,怎麼辦呢?上網搜尋關鍵字「程式檢定」,跳出「CPE大學程式能力檢定」、「APCS大學程式設計先修檢測」等搜尋結果,甚至不少坊間補習班、出版社、YouTuber推出相關教戰守則。究竟CPE、APCS是什麼樣的考試?誰可以參加?檢定目的為何?而108課綱學生將進入大學,究竟他們的程式設計能力程度如何?大學高教體系如何運用這些檢定資源來了解學生的能力,以制定相應的接軌課程?

臺灣師範大學資訊工程學系蔣宗哲副教授主持的「教育部推動大學程式設計教學計畫」之分項計畫「資料分析領域及學習評量推動團隊」,於111年6月6日舉辦「程式能力檢定分享會」,邀請CPE及APCS的重要推動者,銘傳大學資訊工程學系謝育平教授及臺灣師範大學資訊工程學系李忠謀教授兼副校長分享執行經驗。

「教育部推動大學程式設計教學計畫」自107年推動以來,各校課程、師資陸續到位,全國已有72%大學生修過程式設計相關課程。蔣宗哲老師表示,目前各校針對學生程式能力檢測的作法不同,有些學校自辦程式能力檢定,有些學校採分級制度,規劃不同能力的學生修習不同程度課程,有些學校採競賽方式,觀察及鼓勵學生的程式學習,也有學校用跨域學程來結合學生原本專業與程式設計能力,「其實除了校內自辦制度,CPE、APCS這類行之有年且規模成熟的檢定考試,也是相當好的外部輔助資源。」二者目的與偏重面向略有差別,建議可依需求妥善運用。

CPE:人人都可以證明程式實力的舞臺

「CPE」為「Collegiate Programming Examination」的縮寫,中文名稱為「大學程式能力檢定」。對象以大學生免費參加為主,也接受社會人士及高中以下學生付費參加。受試者透過現場程式上機考試,利用電腦自動評判,檢測程式設計能力。

謝育平老師介紹,CPE始於2010年,起初只有國立中山大學與國立交通大學兩所學校試辦,「當初發展的動機,是兩校老師覺得應該在畢業前給同學一個簡單的測試,確保同學具備一定的程式撰寫能力。」從兩校開始,陸續有學校加入,到2013年大致為40餘所學校協辦,每年舉辦4次,單次應試人數最高達2,900餘人,是國內相當成熟的程式設計檢定制度。

由於初衷是為提升資工系學生的程式能力,CPE測驗對象以資工相關系所學生為主,原則上採英文命題,涵蓋程式設計、資料結構、演算法、解題思維等,適合大二「資料結構」課程以上程度者,可用C/C++/Java/Python等語言。而隨著近年教育部推動程式設計教育普及化,也有學校運用這項檢定作為非資工科系同學的通識教育課程學生程式能力檢測,如中山大學即規定全校所有大一新生都須通過兩題中文命題的考試。

謝老師說,CPE的目標是作為全台灣「程式能力檢定」的標準,有如英文的多益或全民英檢,「學英文的人想要證明自己英文很好,可以去考英檢;那程式能力很好的人,要去哪裡證明自己?這是我覺得CPE存在很重要的意義。因為不是每個學程式的人都能成為選手去參加比賽,但大家都可以來考CPE,這是一個『給每個人證明自己程式能力』的舞臺。」其成績除了依題數區分級別,也有客觀的成績排序,不但是國內許多資工相關系所的學士班畢業門檻、抵免標準或碩班招生參考,也成為許多廠商招聘人力或敘薪嘉獎的標準。謝老師說,甚至曾有國手挑戰CPE檢定,排名在18、19名左右,當即表示願以百萬年薪聘請排名在他前面的應試者,一時間讓CPE冠上了「百萬年薪」的傳說。

而CPE現行採用平台是由謝老師負責的「瘋狂程設」評判系統,該系統結合線上解題系統與整合式開發環境,可在斷網環境中執行自動批改,大幅減省批改答案的人力,也具有防弊效果。除運用在CPE檢定考試,也可用於各類競賽或課程上機作業與考試。謝老師表示,當初開發這套系統,主要是苦於傳統上機考試人工批閱困難且防弊不佳以及作業抄襲嚴重等情形,同時也是為了改善學生「學」與「習」的落差:「教程式設計這麼多年,我覺得這真是一門『術科』,學生如果只有『學』而沒有『習』,那就只是聽懂而已,要寫的時候卻寫不出來。」因此「瘋狂程設」其中一項特點是可以與學生即時循環互動,反饋編譯或邏輯上的錯誤,幫助學生練習學寫程式,「我也期待『瘋狂程設』在程式教學場域有更多元運用的可能,歡迎有興趣的老師一起來合作。」

APCS:讓程式力成為升學選才的一種機會

「APCS」為「Advanced Placement Computer Science」的縮寫,中文名稱為「大學程式設計先修檢測」,模式參考美國大學先修課程(Advanced Placement)而來。APCS目前參加者以高中生為主,但也開放其它各級學生以及社會人士報考。

APCS每年1、6、10月舉辦,考試內容除了以C/C++/Java/Python實際撰寫程式的「實作題」,還有考驗運算思維、問題解決與程式設計概念等單選題型的「觀念題」。二者成績分別計算,依原始總分間距分級,級別均為1至5級分。李忠謀老師表示,從受試者所得級分便可觀察其程式能力,「修完高中資訊科技概論必修課的學生,大概可以拿到觀念題3至4級分、實作題2至3級分,是為『基礎能力』。如果拿到觀念題4級分以上、實作題3級分以上的同學,大概已具備大學資工系一年級學生的程度,可進一步修習進階的課程,是為『進階能力』。」

除了可以作為高中程式課程的學習成效檢測,APCS成績亦可用於大學個人申請入學。因應十二年國教與108課綱「適性揚才」的素養導向,教育部自107學年度起試辦大學申請入學「APCS組」,意指資訊類學系可將學生的程式學習歷程項目納入第一階段篩選,107學年度之首屆開放46個名額,有14所大學22資訊領域校系參與,而後逐年增加,111學年度有33所大學47校系共118個名額,均創新高。其中,臺大資工系在110學年度首度參加,111學年度又增開2個名額,備受外界關注。

李老師說,APCS之所以能作為入學選才的能力證明,公信力十分重要,「所有題目都經過嚴謹的程序,確保鑑別度與信效度。」呼應教育部的政策,APCS的考題也從107學年度起有所調整,於觀念題加入資料結構與演算法的題目,觀念題調整後,達到進階能力的人數下降,但達到觀念題基礎能力以及實作題的基礎與進階能力的人數比例都是成長的,「這顯示108課綱實施後,整體學生在程式學習的能力上確實有所進步。」

而從近三年(108、109、110學年度)畢業生的成績來看,也同樣反映出108課綱實施後,高中生的程式能力逐漸成長;相較於108學年度,110學年度達成基礎能力和進階能力的人數都有成倍的增加。不過,李老師也提醒,雖然數值是成長、進步的,但目前畢業生達基礎能力的比例還不到一半,還需要大家共同持續努力。

104105學年度累積至今,APCS已舉辦18場,單場報名人數最高達3,800餘人,報考總人數高達45,000餘人。李老師肯定,APCS78年一路走來,影響是正面的,「資訊教學開始受到學校跟家長的重視,對於有這方面學習興趣的同學來說就得到保障。」也因為APCS具有嚴謹的信效度,所以教育部將APCS列為升學參考標準,對於喜歡程式設計的學生來說,就多一個明確具體的目標,可以用APCS去申請資訊相關科系。除了高中生,APCS同樣也接受社會人士報名,也常有大學生、研究生、資訊工程師、第二專長資訊教師等報考,可見程式能力檢定確實帶來更多未來發展的機會。

(整理/曾令愉)