Coder

Coder【尚無正式翻譯】

現在是全民寫程式的時代。藝術家寫程式碼創造藝術,音樂家寫程式碼創造音樂。經理寫程式碼分析商業數據,玩家寫程式碼建立遊戲腳本。只要是寫程式碼的人,都可以稱之為Coder。

寫程式碼,現今世界已經有許多相關活動。內容千奇百怪,讓人沒有時間感到無聊。我打算一一介紹各種活動,不過不是馬上介紹。我想到什麼寫什麼,陸陸續續補完內容。

Sebastian Lague
https://www.youtube.com/channel/UCmtyQOKKmrMVaKuRXz02jbQ
Sergei Galkin
https://twitter.com/sergeyglkn

Coding Bootcamp寫程式碼的訓練營

資訊之芽培訓計畫
對象:中學生
主辦:台灣大學學生、台灣清華大學學生
類別:C++語法班、Python語法班、算法班
講師:主辦人
時間:上半年

南臺灣學生資訊社群
對象:中學生
主辦:嘉義、台南、高雄三地的高中學生
類別:演算法、資訊安全
講師:安排教師與業師授課
時間:下半年

Open Collaboration公眾協作

https://g0v.tw/
https://www.mozilla.org/zh-TW/

Indie Production獨立製作

Developer

Developer開發者

https://roadmap.sh/
https://www.sololearn.com/
https://developers.google.com/
https://developers.facebook.com/
https://developer.nvidia.com/
Learn X in Y minutes
https://learnxinyminutes.com/
Project Based Learning
https://github.com/practical-tutorials/project-based-learning

Open Source Project開源專案

The Architecture of Open Source Applications
https://aosabook.org/

Open Source Guides
https://opensource.guide/zh-hant/how-to-contribute/
https://github.com/public-apis/public-apis
https://github.com/kamranahmedse/developer-roadmap
https://github.com/danistefanovic/build-your-own-x
Google Summer of Code
https://summerofcode.withgoogle.com/

若你喜歡民族主義大旗,那我們來點在地人主導的開源專案。

https://github.com/hexojs/hexo
https://github.com/pencil2d/pencil
https://github.com/notepad-plus-plus/notepad-plus-plus
https://github.com/audreyt/ethercalc
Open Source 開源社群的第一門課 | 如何成為 Apache Committer
https://byronhsu1230.medium.com/451d42e853d6

Technological Community技術社群

一群人組織團體,三不五時聚在一起討論技術,心血來潮齊心合力舉辦會議,平常維護開源專案改造社會。可以想成是早起會、廣場舞、太極拳、救國團,成員從大哥阿姨變成了Coder。

台灣神手 開源義肢
https://sites.google.com/view/twgodhand
開源社群推廣目錄
https://hackmd.io/@SITCON/floss-community-list

Question and Answer Website技術問題討論區

有人發問、有人解惑的網站平台。當然會有面向開發者的網站平台。寫程式碼寫不出來,那麼可以上去發帖提問。文思泉湧無處宣洩,那麼可以上去尬聊幾句。

台灣人習慣在臉書或LINE建立技術問題討論區。由於這些網站被稱作社群網站,所以很容易被誤認為技術社群。其實那是一群陌生人在找家教。

https://stackoverflow.com/
https://www.quora.com/
https://www.reddit.com/
https://www.zhihu.com/
https://www.facebook.com/groups/backendtw/
https://www.facebook.com/groups/f2e.tw/
https://www.facebook.com/groups/twjug/
https://www.facebook.com/groups/pythontw/
https://www.facebook.com/groups/rust.tw/
https://www.facebook.com/groups/node.js.tw/
https://www.facebook.com/groups/augularjs.tw/
https://www.facebook.com/groups/reactjs.tw/
https://www.facebook.com/groups/vuejs.tw/
https://www.facebook.com/groups/tgadc/
https://www.cakeresume.com/resources/groups-for-engineers-and-tech-jobs

Technical Documentation技術文件

軟體開發團隊,撰寫教學文件、規格文件,指導大眾使用軟體、開發軟體。

甚至翻譯成各國語言,降低學習門檻。

https://developer.mozilla.org/zh-TW/docs/Web/HTML
https://learn.microsoft.com/zh-tw/docs/
https://web.dev/explore/

Developer Community開發者社群

系統開發公司,提供函式庫、技術文件、業務消息,指導工程師使用自家公司產品。

甚至舉辦產品發表會,邀請工程師參與。

https://developers.google.com/
https://developer.nvidia.com/
https://io.google/

Publisher

Technology Magazine技術雜誌

熱心人士收集新知,讓大家增廣見聞。

https://www.ruanyifeng.com/blog/weekly/
https://news.ycombinator.com/
https://spectrum.ieee.org/
https://www.nae.edu/theBridge
https://hellogithub.com/
https://www.rsipvision.com/computer-vision-news/
https://twitter.com/cvcnd
https://www.zhihu.com/people/cver-38

Technology Blog技術網誌

Coder編寫網路文章,分享心得感想。

工作室、公司行號,安排專人分享心得感想。

甚至有人專門經營網誌平台,讓大家有地方分享心得感想。

https://www.csdn.net/
https://ithelp.ithome.com.tw/
https://www.facebook.com/will.fans
https://blog.darkthread.net/
https://newtoypia.blogspot.com/
https://medium.com/sharkie-studio

Tutorial技術教學

教學影片、教學資料、youtube channel。

https://www.w3schools.com/
https://javascript.info/
https://zh.javascript.info/
Online Tutorials
https://www.youtube.com/@OnlineTutorialsYT
The Coding Train
https://www.youtube.com/@TheCodingTrain
小哈片刻
https://www.youtube.com/@HaskaSu
ChaoCode
https://www.youtube.com/@ChaoCode
控制狂Control Monster
https://www.youtube.com/@controlmonster/
OPENHOME.CC
https://openhome.cc/Gossip/
鳥哥的Linux私房菜
https://linux.vbird.org/

Maintainer

Crowdsourcing眾包

Online Encyclopedia線上百科

https://en.wikipedia.org/wiki/Wikipedia
https://github.com/sindresorhus/awesome

Open Data開放資料

https://ithelp.ithome.com.tw/users/20103852/ironman/5889

Website Builder網站建置

Web Management網站管理

Maker

Maker自造者

現代高科技工匠。在工作室裡面用高科技打造東西。

https://www.youtube.com/user/kobebeefg
https://taipei.makerfaire.com/
https://vmaker.tw/
https://www.facebook.com/FablabTaipei/

Hackathon黑客松

大家心血來潮就會舉辦黑客松。大家聚在一起,腦力激盪發明點子,利用資訊科技解決主辦單位現實遭遇的問題。參賽者幾乎不眠不休,在時間限制之內,通常是半天到兩天,迅速產出一份簡報、一份試作品,請資訊界網紅協助評審。

這類競賽的功能是社會服務、娛樂消遣。

https://www.ait.org.tw/zhtw/tag/nasa-hackathon-zhtw/
https://presidential-hackathon.taiwan.gov.tw/teams.html
https://hackathon.gov.taipei/
https://smartcity.org.tw/hackathon/
https://data.coa.gov.tw/Hackathon/
https://tws.twcc.ai/2022tainanhackthon/
https://hackathon.lawsnote.com/
https://jothon.g0v.tw/
https://2022.meichuhackathon.org/
https://mathhack.emath.tw/
https://sustainabilityhackathon-tw.org/
https://sites.google.com/hcvs.kh.edu.tw/hsh/

Challenge挑戰賽

科技公司每年舉辦比賽,比賽內容跟自身專長相關,比賽目的是讓大家幫忙想出好問題、想出好解法。參加對象主要是在學學生。有時候則是學術單位團隊、研究單位團隊。

這類競賽的功能是,一方面回饋社會,一方面宣揚科技,一方面招聘人才,一方面尋覓商機。

https://imaginecup.microsoft.com/
https://developer.ibm.com/callforcode/
https://challenges.quantum-computing.ibm.com/
https://developers.google.com/community/gdsc-solution-challenge
https://summerofcode.withgoogle.com/
https://jaxa.krpc.jp/

Hacker

Hacker駭客

鑽研資訊系統底層細節、瞭解各種旁門左道的人。

平板電腦與智慧手機興起。生活大小事,通通數位化。安全措施也日益重要。

以交通安全作為比方。路邊裝設護欄、地面裝設減速丘,預防8+9自稱賽車手,一時鬼迷心竅超速行駛,自渡渡人,阿彌陀佛。數位資訊當然也需要這樣的安全措施,預防詐欺犯自稱資安專家。

學校沒有教導這方面的知識,導致民眾缺乏常識,事故層出不窮。因此熱心民眾辦理研習活動、策畫商務會議,呼籲大眾重視資訊安全。更有甚者,成立諮詢公司,協助大眾預防與補救各種事故。

另一方面,台灣政府受到中美影響,積極鼓吹資安危機意識,強勢推動資安法規與資安通報機制。一方面責成企業設立資安職位,一方面敦促學校成立資安系所。小弟拿著扁鑽向前衝,扁鑽還得自費。發展資訊安全儼然已是治國方針,保家衛國人人有責。

https://ais3.org/
https://infosecdecompress.com/
https://gotyour.pw/resources.html

Wargame【尚無正式翻譯】

攻擊遊戲。熱心人士提供伺服器,運行各種程式。熱心人士巧妙設計程式,使之有隙可乘,然後發布任務,請使用者入侵攻擊。使用者連線至伺服器,觀察程式運作,推敲程式漏洞,以便完成任務。

Capture The Flag奪旗

資訊安全解題競賽。主辦單位提供伺服器、電子設備,設計數個任務。任務內容涵蓋資訊安全各種主題,任務過程宛如益智解謎遊戲。參賽者操作電腦系統,連入伺服器、電子設備,解決指定任務,取得完成證明。參賽者必須盡快完成任務,甚至阻止對手完成任務。

https://zh.wikipedia.org/wiki/DEF_CON
https://github.com/apsdehal/awesome-ctf
https://github.com/firmianay/CTF-All-In-One
https://apsdehal.in/awesome-ctf/
https://picoctf.com/
https://bamboofox.cs.nctu.edu.tw/
https://blog.tdohacker.org/
https://scist.org/
https://ctf-wiki.github.io/ctf-wiki/
https://ctftime.org/team/8299
https://ymsir.com/teaching.html

Coder

Coder碼農

另一個意思:只會填程式碼的人。背後原理一竅不通。

用於程式設計專業人士,帶有貶義。一般用於自謙、自嘲。

Coding Challenge刷題

起初只是線上的程式設計訓練、益智訓練。

大公司湧入大量面試者,每年高達數萬人。為了節省人力物力,大公司以刷題初步篩選面試者。例如Google。

接著有人成立刷題網站,專門針對面試者。例如LeetCode。

接著有人成立刷題補習班,專門針對LeetCode使用者。

接著有人成立刷題專欄,專門針對想要花錢補習的人。

如此不斷接連下去,於是刷題造成空前轟動。人類真會玩。

The 10 most popular coding challenge websites for 2020
綜合介紹。

fucking-algorithmlabuladong的算法小抄
手把手撕LeetCode题目,扒各种算法套路的裤子。

算法通关手册
「算法与数据结构」 基础知识的讲解教程
AtCoderアルゴリズム実技検定
日本的證照考試。

PAT计算机程序设计能力考试
中國的證照考試。

CPE大學程式能力檢定
台灣某些教授聯手搞出來的證照考試。你懂的。

Interview Preparation面試準備

https://www.geeksforgeeks.org/
https://www.nowcoder.com/
https://www.careercup.com/

Certification證照

科技公司、科技基金會,舉辦證照考試,增加收入。

證照適合想要求職卻一無所有的人。拿不出實際成果,又得不到相關文憑,只好去考證照。

Certificate文憑

發源自英國的A-level與AS-level、國際的IBDP、美國的AP,這些教育制度,功能相仿。其中跟台灣有關係的是AP。

Advanced Placement是美國的教育制度:學科成績優秀的高中生,往後學期可以申請修習進階課程,課程難度是大學程度,稱作AP課程。高中生預先修習大學程度課程,未來可以折抵大學學分。

學校聘請具備教學資格的老師來開課,甚至學生可以選擇線上自學。課程結束之後,學生參加檢定考試,以獲得修課證明。至於詳細規定,我沒有仔細查詢。

另有熱心人士提供教學資源。參考書:例如Schaum's Outlines系列。教學影片:例如線上課程平台edX網路上找到的清單

大學招生會參考AP成績。有些大學明確表示AP是加分項目。

AP由美國大學理事會統籌規劃。人文與科學,各種學科都有AP課程。計算機科學目前有兩門課程。官方網站提供了說明文件,包括課程綱要、考試範圍。根據文件內容,我認為這兩門課程大致對應大學一年級的程式設計、計算機概論這兩門課程。

AP Computer Science A
https://apcentral.collegeboard.org/courses/ap-computer-science-a/

AP Computer Science Principles
https://apcentral.collegeboard.org/courses/ap-computer-science-principles

台灣沒有這種教育制度。熱心人士嘗試引進。計畫名稱是高中資訊科學人才萌芽與深耕計畫,負責單位和負責人是臺灣師範大學的李忠謀教授。目前只有一個學科:計算機科學。因此叫做APCS。

APCS評量架構
https://apcs.csie.ntnu.edu.tw/index.php/questionstypes/

很不幸的,APCS引進台灣之後,遵循黨的意志進行各種魔改。

一、沒有課程,只剩考試。官方宣稱學校現行課程足以涵蓋考試範圍。

二、原版APCS課程內容,包含Class、Documentation,都是現實工作必定用到的知識。台灣APCS評量架構,將這部分魔改成資料結構和演算法,包含Greedy Method、Dynamic Programming,都是現實工作未必用到的知識。官方沒有公開原因。

我猜測主要原因是原版課程內容無法自動閱卷,必須人工批改,宛如批改作文。由於人工批改顯得不夠公平客觀,於是捨棄了需要人工批改的部分。我猜測次要原因是黨國高層當時正在推動演算法,例如台灣和中國是全世界「演算法工程師」職缺最多的地方。不過我沒有直接證據。

三、APCS最初做為大學申請入學的參考項目、加分項目。後來各校發現:APCS成績優異者,恰是大學學業表現優異者。因此各校提議替APCS開設升學管道。名額相當稀少,每校系不超過3名。開設升學管道之後,大學學業表現尚待統計追蹤。目前官方沒有公開任何數據。

四、一大堆的人,不具備資訊教育專長、不具備程式語言專長,開設補習班、辦理營隊、出版書籍,充分體現了台灣的補教文化。

主辦人李忠謀教授已經透過新聞聲明:「只要在校好好上課、多練習題目,要過關不難。」教育部也表示:「就考試跟它的性質來說,他其實根本不需要去補習。」

明年31大學校系採計APCS 恐不利弱勢生
https://news.pts.org.tw/article/413995

補教業APCS課程標榜「頂大門票」 台師大畫清界線
https://web.archive.org/web/20220902130033/https://udn.com/news/story/6925/4269491

卻有人偏要做校外教學。這些做事不講根據不按道理的人,包括但不限於:

巨匠電腦
橘子蘋果
台灣程式教育協進會
CodingBar
猿創力程式設計學校
臺北科大推廣教育中心
演算法海牛,無照營業
台灣大學學生劉俊緯等人的程式設計能力培訓營

根據這些外行人提供的課表,令人懷疑他們是否研讀過美國APCS官方說明文件、台灣APCS評量架構,令人懷疑他們是否學習過教學原理、教材教法、程式語言理論。

換個角度想,可能是因為師資不足,才導致外行人搶鋒頭:

師資不足選修課難多元 高中資訊課淪APCS培訓班
https://web.archive.org/web/20220903023728/https://udn.com/news/story/6885/4699070

五、一部分的人,故意將APCS掛勾Competitive Programming,並且誘導大家「APCS是Competitive Programming的低配版」、「擅長Competitive Programming,得以勝任APCS教師。」

這些人故意將升學掛勾競賽,一方面為自身創造名利,滿足個人私慾;一方面迎合黨的意志,說服大眾適應愚民教育。事實上,這兩個活動幾乎無關。這兩個活動的唯一相同之處是「上機寫程式解決問題」。本網頁介紹的所有活動都需要「上機寫程式解決問題」。

AnnCode!安可程式教育的APCS實作題練習方法,在Atcoder提升你的APCS實作!

台灣是鄉下地方,胡搞瞎搞,避無可避。大家開心就好。

Programmer

Programmer程式員

寫程式的專業人士,製作軟體、網站、電腦系統,瞭解數學、工程學、自然科學與人文科學,重視功能、效能、耗能。平常喜歡喝咖啡與吸貓,不喜歡喝豆漿與遛狗。

Competitive Programming競技程式設計

演算法解題競賽。這個活動跟本站的關聯最為密切,因此我以超長篇幅介紹它。請見後面章節。

Data Science Competition資料科學競賽

產業界鼓吹大數據、人工智慧,應運而起的競賽。

主辦單位提供自身業務所收集的大量數據,並且提出特殊需求、規定效能指標。參賽者利用數據,嘗試達成需求,盡量提升效能。

競賽期間通常為期一至兩週。期間參賽者分析數據內容、建立統計模型、設計演算法、上傳分析結果。主辦單位即時評比效能、列入即時排行榜。

https://zh.wikipedia.org/wiki/Kaggle
https://careers.shopee.sg/codeleague/
https://signate.jp/
https://towardsdatascience.com/2995e9dad93c
https://www.facebook.com/groups/datasciencemeetup/

Trading Competition程式交易競賽

https://tradingcompetition.uchicago.edu/
https://game.fincloud.tw/games/2021game

Robotics Competition機器人學競賽

https://www.zhihu.com/question/29919960
https://robot.nstm.gov.tw/2022/
https://zh.wikipedia.org/wiki/機器人世界盃
https://en.wikipedia.org/wiki/Eurobot
https://zh.wikipedia.org/wiki/FIRST機器人競賽
https://robotx.org/programs/robotx-challenge-2022/
https://www.nspo.narl.org.tw/activity/kibo_rpc_3/

Problem Solving解題

熱心人士設計許多題目,讓大家激盪腦力。數學、生物資訊、電玩、對局、解謎、……。

https://projecteuler.net/
https://rosalind.info/
https://www.codingame.com
https://adventofcode.com/
http://azspcs.com/
http://www.pythonchallenge.com/

Competitive Programming

Competitive Programming

The International Collegiate Programming Contest (ICPC)」是針對全世界大專院校學生的比賽,考驗選手臨場的演算法設計能力、程式編寫能力。

ICPC帶動了演算法程式設計的風氣。世界上許多大專院校的資訊系所,仿照ICPC比賽模式,紛紛自行開發出即時線上比賽系統,能夠自動批改、評分、計時、統計。學生不必齊聚一堂,而是透過網路,互相切磋程式設計技巧。比賽結束之後,將比賽題目編列題庫,開放自動批改程式的功能,供學生賽後練習檢討。這套系統大家稱呼為「Online Judge」。

從事這項活動,不僅可以熟悉程式設計、學習演算法、鍛鍊智力,還可以培養自主學習與獨立解題的能力──此即程式設計師的核心價值。因此這項活動逐漸獲得大家重視。產業界舉行演算法競賽,發掘優異人才;學術界開設課程,促進演算法發展。這項活動大家稱呼為「Competitive Programming」。

International Collegiate Programming Contest

ICPC是資訊界規模最大、歷史最悠久的競賽。從1977年開始,每年在世界各地舉辦初賽,選拔表現優秀的隊伍,角逐世界總決賽。最近幾屆競賽有上千所學校、數萬名選手參加。

ICPC是一個氣氛活潑的競賽。整個賽事包含許多活動,主軸當然是現場上機競賽,但是另外還有娛樂表演、晚餐宴會、城市遊覽等等行程。整個賽事過程為期兩至三天,有吃有玩,遊樂的成分比競賽的成分還多,對於參賽選手來說是相當新鮮的體驗。

ICPC的競賽方式是三人一隊,並且需要一位同校教授作為領隊教練。教練的主要作用,是負責向大會接洽賽事行程,替選手打點賽事期間的生活細節,讓選手無後顧之憂,得以傾盡全力比賽。教練就如同經紀人的角色。

現場上機競賽,所有隊伍聚集於會場,一支隊伍分配一張桌子、三張椅子、一臺電腦、一份英文題本。主持人宣布比賽開始之後,所有隊伍同時開始作答,選手必須迅速閱讀題本當中的問題,然後編寫程式解決問題,將程式碼上傳給裁判批改。

所有作答皆是即時批改,幾分鐘內回覆結果,結果只有對與錯,答錯還可以再答。成績的計算方式,是以答對題數作為排名依據;但是作答的錯誤次數、上傳答案的時刻,統統列入扣分,作為次要的排名依據。因此選手要盡力答出問題,也要盡快答出問題,還要避免答錯問題又一錯再錯。實力在伯仲之間的隊伍,勝負的差距往往取決於審題與答題的效率。動作慢人一步,或者大意發生失誤,就很可能名落千丈。

選手有五小時時間,要解出十道左右的演算法問題,期間可以喝水、外出上廁所、享用大會提供的奢華點心、在題本上塗鴉、把題本拆了摺紙鶴、睡覺、談情說愛、玩電腦遊戲;唯一的限制,就是不得與隊伍之外的人交流。

比賽規則看似輕佻,但是比賽過程其實非常緊迫。五小時時間解十道左右的問題,電腦卻只有一臺。即便是技藝高超的選手,也幾乎無暇休息,必須分工合作爭取時間。通常一人隨時坐在電腦前作答,充分運用電腦,發揮時效;另外兩人則在旁解讀其餘題目,在腦中羅織解法,伺機輪換上陣。五小時的比賽過程,選手克服環境限制、調適心理壓力、發揮大腦潛能,也可以說是一場精神的對抗賽。

競賽過程還有許多有趣的地方,留給參賽選手們自行體驗吧!

ICPC官方消息:ICPCNews
ICPC亞洲區指導員:ICPC Asia Council Chair CJ Hwang Blog
日本官方消息:ICPC 国際大学対抗プログラミングコンテスト
日本非官方消息:ICPC Japan Alumni Group
中國官方消息:ICPC北京总部
中國非官方消息:ACMer.info
選手感想:ACM-ICPC Asia Jakarta Regional Contest 2017 沿途紀實與心得
歷年題庫:ICPC Archives
題目講評:2019 ICPC TOPC 簡易講評
精選題解:關於競程日記 2019

根據規定,ICPC區域賽必須要有全國性(或者兩省以上)的預賽。台灣歷年都是以NCPC作為預賽,然而實際上NCPC根本就不是預賽。會有這種現象,主要原因是台灣的參賽隊伍十分稀少,無從篩選隊伍。直至2015年,台灣才開始正式舉辦網路預賽,跟隨亞洲各國的比賽模式,時序如下:

一、區域預賽(網路賽):ICPC台灣區負責人組織比賽,大專院校教授熱情協助。國內選手透過網路進行較量。比賽結束之後,根據當年承辦人員的戰鬥力,選出80至120隊參加現場賽。

二、全國賽:與ICPC無關。台灣教育部舉辦的NCPC,全國學生一較高下。成績優秀的隊伍,教育部全額補助參加ICPC。

三、區域正式賽(現場賽):請參考前面介紹的內容,國內外選手齊聚一堂進行較量。比賽結束之後,主辦單位依照複雜的公式,評量區域賽整體的戰鬥力,至少選出1隊,參加世界總決賽。

四、世界總決賽:從全世界篩選一百多隊參加總決賽,從五大洲輪流選擇一間學校作為比賽地點。台灣大專院校以往實力較差,總是被國外學校痛宰,鮮少晉級總決賽。直到近十年才有改善跡象,與國外學校互有進退(一群無名英雄前仆後繼苦心經營數年的成果);同時也積極的參與其他國家的區域賽,爭取世界總決賽門票。目前台灣僅台灣大學、陽明交通大學有能力進入總決賽。

演算法競賽:台灣

ICPC Asia Taoyuan Regional Programming Contest 202320222021
對象:大專院校學生(學士班一年級至碩士班一年級)
主辦:ICPC台灣區負責人
備註:ICPC台灣區正式賽事、每年重新決定比賽城市
時間:11~12月

ICPC Asia Taiwan Online Programming Contest 202320222021
對象:大專院校學生
主辦:ICPC台灣區負責人
備註:ICPC台灣區網路預賽
時間:9~10月

全國大專電腦軟體設計競賽NCPC 202320222021
對象:台灣大專院校學生
主辦:由臺灣師範大學與中山大學輪流辦理
時間:9~10月

全國私立大專院校程式競賽PUPC 202320222021
對象:台灣私立大專院校學生
主辦:各私立大學輪流辦理
備註:ICPC台灣區衍生賽事
時間:6月

全國科技大專校院程式競賽TUPC 202320222021
對象:台灣科技大專院校學生
主辦:虎尾科技大學
備註:ICPC台灣區衍生賽事
時間:6月

網際網路程式設計全國大賽NPSC
對象:台灣高中學生、國中學生
主辦:台灣大學
時期:11~12月

HPE CodeWars: Taiwan
對象:台灣大專院校學生、台灣高中高職五專(一到三年級)學生
時期:10~12月

國立成功大學暑期高中生程式設計邀請賽
對象:台灣高中高職學生
主辦:台灣成功大學學生
時期:8月

普通型高級中等學校數理及資訊學科能力競賽
類別:資訊學科(決賽模擬賽)
對象:台灣高中學生
主辦:台灣教育部(委託地方政府與大學辦理)
時期:9~12月

全國高級中等學校技藝競賽
類別:商業類學生程式設計職種
類別:工業類學生電腦軟體設計職種
對象:台灣高職學生
主辦:台灣教育部(委託技職學校辦理)
時期:5月報名、11月舉辦

演算法例賽:台灣

NHDK四校聯合初學者程式設計練習賽
台灣的演算法例賽。針對台灣高中學生、國中學生。學生自籌例賽。

ITSA程式能力線上自我評量
台灣的演算法例賽。針對台灣大專院校學生。台灣教育部提供的例行賽事。

演算法競賽

Meta Hacker Cup
對象:社會大眾
時期:每年一次,時間不定

International Collegiate Programming Contest
對象:大專院校學生(學士班一年級至碩士班一年級)
時間:台灣站11~12月、亞洲各站是8~12月、世界總決賽是隔年5~7月

HPE CodeWars
對象:高中高職五專(一到三年級)學生
時期:每年一次,時間不定

演算法例賽

AtCoder
日本的演算法例賽。

Codeforces
俄國的演算法例賽。

CodeChef
印度的演算法例賽。

Universal Cup
中國的演算法競賽練習網站。

TopCoder簡介
美國的程式競賽網站,其中包含了演算法例賽。

演算法題庫

Kattis
瑞典Kattis公司建立的Online Judge。

Sphere Online Judge
波蘭Sphere實驗室建立的Online Judge。

Timus Online Judge
俄國Ural大學的Online Judge。

DMOJ: Modern Online Judge
加拿大的開源Online Judge。

Baekjoon Online Judge
韓國Startlink公司建立的Online Judge。

UVa Online Judge
西班牙Valladolid大學的Online Judge。最古老的Online Judge。

高中生程式解題系統 ZeroJudge
台灣高雄師大附中建立的Online Judge。

Virtual Judge
可以連線到每個Online Judge。

UVa Online Judge工具網站

uHunt
查詢UVa Online Judge的解題進度、世界排名。
整理了一套題目清單,適合初學者循序練習。輸入使用者名稱就會出現。

uDebug
生成測試資料,以便測試程式。

Lucky貓的ACM園地Ruby兔的ACM園地Unfortunate狗的ACM園地uniDog的ACM園地
UVa Online Judge題目中譯。
早期重要工作,請大家體恤辛勞!

Problem Classification on Spanish Archive
題目分類。

演算法競賽營隊

交大競技程式訓練冬令營、夏令營
熱心老師和學生自動自發努力辦理的營隊。免費且公開教材。

清大暑期程式競賽集訓營
熱心學生自動自發努力辦理的營隊。收費且不公開教材。

臺灣大學程式解題競賽培訓營
熱心學生自動自發努力辦理的營隊。收費且不公開教材還拉企業贊助。你懂的。

Moscow Workshops
熱心老師自動自發努力辦理的營隊。經常跟其他國家合辦活動。

演算法競賽講義

板橋高中資訊社校內培訓講義
熱心學生努力撰寫的教材。

GeeksforGeeks: Competitive Programming – A Complete Guide
熱心網民努力撰寫的文章。

Algorithms for Competitive Programming
熱心網民努力撰寫的文章。

OI Wiki
熱心網民努力撰寫的文章。

USACO Guide
熱心網民努力彙整的題目和教材。

算法竞赛课件分享
熱心網民努力蒐集的教材。

Competitive Programmer's Handbook
芬蘭IOI國家隊訓練教材

OI公共圖書館
中國IOI國家隊技術報告

演算法競賽課程

成功大學ACM課程講義

U.Porto CC3032: Competitive Programming

UT-Austin CS104c: Competitive Programming

Stanford CS 97SI: Introduction to Programming Contests

UIUC CS491 CAP: Intro to Competitive Programming

UIUC CS491 WF: Advanced Competitive Algorithmic Programming

CMU CS 15-295: Competition Programming and Problem Solving

演算法競賽書籍

數學思考
九章出版社

How to Solve It
George Pólya
譯本《怎樣解題》

Techniques for Designing and Analyzing Algorithms
Douglas R. Stinson
演算法益智問題

Guide to Competitive Programming:
Learning and Improving Algorithms Through Contests
Antti Laaksonen
芬蘭演算法競賽名著

Competitive Programming
Steven Halim, Felix Halim
新加坡演算法競賽名著

프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략
구종만
韓國演算法競賽名著
譯本《算法问题实战策略》

プログラミングコンテストチャレンジブック
秋葉拓哉、岩田陽一、北川宜稔
日本演算法競賽名著
譯本《培養與鍛鍊程式設計的邏輯腦:世界級程式設計大賽的知識、心得與解題分享》

算法竞赛入门经典
刘汝佳
中國演算法競賽名著
譯本《打下好基礎:程式設計與演算法競賽入門經典》

算法竞赛入门经典——训练指南
刘汝佳、陈锋
中國演算法競賽名著
譯本《提升程式設計的解題思考力─國際演算法程式設計競賽訓練指南》

演算法競賽書籍:我沒讀過的新書

算法竞赛进阶指南
李煜东
中國演算法競賽名著

深入浅出程序设计竞赛(基础篇)
深入浅出程序设计竞赛(进阶篇)
洛谷学术组、汪楚奇
中國演算法競賽名著

アルゴリズム的思考力が身につく! プログラミングコンテストAtCoder入門
問題解決力を鍛える!アルゴリズムとデータ構造
大槻兼資
日本演算法競賽名著

アルゴリズム ビジュアル大事典 ~図解でよくわかるアルゴリズムとデータ構造~
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造
渡部有隆
日本演算法競賽名著
譯本《會動的演算法:61個演算法動畫+全圖解逐步拆解,人工智慧、資料分析必備》
譯本《挑战程序设计竞赛2 算法和数据结构》

演算法競賽選手

tmt解題筆記tmt514's Blog卡恩的部落格卡恩的部落格tmt514
熱心網民的寫作計劃

Morris' Blog
熱心網民的學習心得

算法学习笔记
熱心網民的學習筆記

小月的耍廢日誌競程日記AA競程
熱心網民的工作報告

BYVoid
熱心網民的生活感想

spaghetti-source
熱心網民的程式碼

Algorithms Weekly by Petr Mitrichev
熱心網民的競賽週記

演算法競賽討論區

https://discord.gg/mc9CgJvjZz     中學資訊討論群
https://discord.gg/Xg3aZPssEy     競程討論群

演算法競賽概觀

國高中演算法歷程分享與雜談     欸,半版殺手是什麼。
競賽學習方法
便宜的演算法比賽網路資源整理
從零開始的競程介紹
競程入門筆記

演算法競賽資源彙整

Awesome Competitive Programming
github的awesome系列,無論什麼亂七八糟的通通都有。

台灣資訊培訓相關資源彙整
以 台灣高中生 為出發點的 資訊培訓相關資源彙整。

Competitive Programming Hall Of Fame
蒐集知名賽事的榜單,可以從中找到優秀的競賽選手。