# 114-2 MDCPP計畫 ## 宗旨 在現今資訊氾濫、AI 發展突飛猛進的時代 人人都需要擁有一項能隨身帶著走的專長 並且此專長為 AI 所不能取代的 ::::info >在明道,發現你自己,Discover Yourself >[name=明道中學前校長 汪大久 Albert Wang] :::: 在明道中學這個多元、和平、共榮的校園中 我們都發現了自己,找到了人生目標 傳承,是明道最美的風景 任何的技能、技藝皆須透過傳承,才得以延續 因此我們決定創立 MDCPP 將程式設計的技能傳承給廣大的明道人 讓明道人發現自己 讓明道程式競賽的能力發揚光大 讓明道人多了一項能隨身帶著走的技能 ## 課程說明 這學期的課程主要分成兩大類 (C++、Python),共六個班 C++:語法 A 班、語法 B 班、算法班、競賽班 Python:Python 基礎班、Python 資料科學班 ### ==C++== * <span style="color: pink">**語法班**</span>分成兩個班,語法 A 班、語法 B 班 主要是給<span style="color: lightblue">**對程式有興趣、無基礎或想把基礎打穩的人**</span>參加 (目標 APCS 2 ~ 3級分) * 教學內容 * 輸入、輸出 * 變數 * 運算子 * 自訂函式 * 迴圈 * 陣列 * 指標 * Struct * 上課時間 * 語法 A 班:<span style="color: red">**每週三**</span> 18:20 ~ 20:40 * 語法 B 班:<span style="color: red">**每週四**</span> 18:20 ~ 20:40 * 段考當週及前一週停課 * 上課地點 * 皆為弘道大樓3F第七電腦教室 > [!Note]註 > 語法班不須任何先備知識 - <span style="color: pink">**算法班**</span>主要是給<span style="color: lightblue">**已經對語法熟練,想精進自己競程知識的人**</span>參加 (目標 APCS 4 ~ 5級分) * 教學內容 * 競程初探 * 時間複雜度 * 遞迴 * 排序 * 基礎枚舉 * 基礎資料結構 * 前綴和與差分 * Greedy * 基礎動態規劃 * 簡單圖論(DFS/BFS) * 上課時間 * <span style="color: red">**每週二**</span> 18:20 ~ 20:40 * 段考當週及前一週停課 * 上課地點 * 弘道大樓3F第七電腦教室 > [!Note]註 > 算法班限參加過語法班課程之學員或具有APCS 實作三級分同等程度者 - <span style="color: pink">**競賽班**</span>主要是給<span style="color: lightblue">**已達 APCS 實作五級分或同等程度者,想深造自己者**</span>參加 (目標:進入資訊學科能力競賽複賽、資訊奧林匹亞) * 教學內容 (共 10 堂課) * 如何系統化學習程式競賽? / 二分搜 * 更多搜尋方法 / 暴力搜尋 * 圖論演算法 * 基礎動態規劃 * 更多動態規劃 * 模擬賽 * 圖論 - 樹 & 並查集 * 線段樹 * 字串演算法 * 計算幾何 * 上課時間 * <span style="color: red">**每週一**</span> 18:20 ~ 20:40 * 段考當週及前一週停課 * 上課地點 * ==線上上課== > [!Note]註 > 競賽班限參加過算法班課程之學員或具有 APCS 實作五級分同等程度者 ### ==Python== - <span style="color: pink">**Python 基礎班**</span>主要是給<span style="color: lightblue">**對 Python有興趣、無基礎或想把基礎打穩的人**</span>參加 (目標為使學員從 Python 語法學起,並擁有自主學習、精進程式技術並能與 AI 時代開發接軌的能力) * 教學內容 * Phase 0 (Week 1 ~ 2):基礎語法 * 變數 * 資料型態 * 條件式 * 迴圈 * 函數 * 簡單計算器、猜數字遊戲 * Phase 1 (Week 3 ~ 6):資料結構 * 清單 * 字典 * 集合 * 資料操作、檔案讀寫 * 處理文字檔案 * 建立簡易資料庫 * 自學程式語言的技巧 * Phase 2 (Week 7 ~ 9):專案思維及 Python 應用 * Python 套件使用 * 物件導向入門 * Python 模組概念及專案化 * 認識 Python 的語言設計 * Phase 3 (Week 10):專題實作 * 聊天機器人串接 * AI 時代下的開發模式:AI 輔助開發入門 * 上課時間 * <span style="color: red">**每週一**</span> 18:20 ~ 20:40 * 段考當週及前一週停課 * 上課地點 * ==線上上課== > [!Note]註 > Python 基礎班不須任何先備知識 - <span style="color: pink">**Python 資料科學班**</span> 本班課程以 PBL 模式設計,11 週的時間將會分成 3~4 個部分,完成不同的專題,並從專題中實習資料科學的基本知識。此班級適合已有 <span style="color: lightblue">**已有 Python 基礎者,無基礎者也可報名,視自身學習能力決定**</span> (目標為具備 Python 資料分析相關工具的基本使用知識、統計的基本概念與面對巨量資料的思維及應用能力) * 課程模式 * 本課程重視實作能力與理論的結合,將以解決問題為基礎延伸學習相關知識。鼓勵團隊合作,專案實作將以小組合作方式進行,每組 1~4 人為主。使用真實公開資料 (如 Kaggle、台灣開放資料平台),讓學生感受到「實務價值」 * 教學內容 * Phase 0 (Week 1):Python 基礎複習、開發環境、課程介紹 * Python 基礎複習 * 資料科學相關工具介紹 * 課程內容介紹 * Phase 1 (Week 2 ~ 4):資料清洗與探索 * Numpy, Pandas * 使用台灣政府公開 Dataset,以交通事故或空氣品質數據為例 * 資料清洗、選擇、探索技巧 * 從資料中獲取資訊並表達 * 基本統計、機率概念 * Phase 2 (Week 5 ~ 7):資料視覺化 * Matplotlib / Seaborn * 繪製圖表 * 探索性分析 (EDA) * 探索趨勢 * 延續上階段的資料、分析結果進行延伸,討論視覺化如何幫助決策 * Phase 3 (Week 8 ~ 11):機器學習入門 * Scikit-learn * 簡單模型(線性回歸、分類、聚類) * 模型評估 * 預測模型建構 * 應用前階段資料,建模預測,包括特徵工程、交叉驗證 * 模型選擇與最佳化 * Phase X (After lecture):進階應用 此階段為課程結束後,希望學生能夠自主學習精進的內容。將會在課程中引導學員繼續學習深造。 * 資料科學在實務上的應用 * 現代人工智慧前沿技術探討 * 模型產品化 * 上課時間 * <span style="color: red">**每週三**</span> 18:20 ~ 20:40 * 段考當週及前一週停課 * 上課地點 * ==線上上課== >[!Tip]小提醒 >不管你有沒有基礎、會不會寫程式 只要你對程式有興趣,願意參與我們的課程 我們都很樂意手把手從零開始帶你變成電神喔~ ### 114-2 上課時間 #### 語法 A 班 (週三,共 11 堂課) |1|2|3|4|5|6|7|8|9|10|11| |----|----|----|----|----|----|----|----|----|----|----| | 03/04 | 03/11 | 04/01 | 04/08 | 04/15 | 04/22 | 04/29 | 05/20 | 05/27 | 06/03 | 06/10 | #### 語法 B 班 (週四,共 11 堂課) |1|2|3|4|5|6|7|8|9|10|11| |----|----|----|----|----|----|----|----|----|----|----| | 03/05 | 03/12 | 04/02 | 04/09 | 04/16 | 04/23 | 04/30 | 05/21 | 05/28 | 06/04 | 06/11 | #### 算法班 (週二,共 11 堂課) |1|2|3|4|5|6|7|8|9|10|11| |----|----|----|----|----|----|----|----|----|----|----| | 03/03 | 03/10 | 03/31 | 04/07 | 04/14 | 04/21 | 04/28 | 05/19 | 05/26 | 06/02 | 06/09 | #### 競賽班 (週一,共 10 堂課) |1|2|3|4|5|6|7|8|9|10| |----|----|----|----|----|----|----|----|----|----| | 03/02 | 03/09 | 03/30 | 04/13 | 04/20 | 04/27 | 05/18 | 05/25 | 06/01 | 06/08 | #### Python 基礎班 (週一,共 10 堂課) |1|2|3|4|5|6|7|8|9|10| |----|----|----|----|----|----|----|----|----|----| | 03/02 | 03/09 | 03/30 | 04/13 | 04/20 | 04/27 | 05/18 | 05/25 | 06/01 | 06/08 | #### Python 資料科學班 (週三,共 11 堂課) |1|2|3|4|5|6|7|8|9|10|11| |----|----|----|----|----|----|----|----|----|----|----| | 03/04 | 03/11 | 04/01 | 04/08 | 04/15 | 04/22 | 04/29 | 05/20 | 05/27 | 06/03 | 06/10 | ### 結業證書 * 語法 A 班、語法 B 班、算法班 * 第二次模擬賽達結業標準即可頒發證書 * 競賽班 * 完成 vjudge 題單中所有題目,每週將上傳 1 ~ 2 題或模擬賽表現良好即可頒發證書 * Python 基礎班 * 以「課堂作業完成率達 70%」為發放證書依據 * Python 資料科學班 * 以「三次專題發表中,參與至少兩次」為發放證書依據 ## 模擬賽 * 語法班、算法班利用 [MDCPP JUDGE](http://mdcpp.mingdao.edu.tw/),採用上機測驗進行競賽 * 競賽班利用 [Codeforces](https://codeforces.com/) 環境,僅舉行第一次模擬賽 ### 第一次模擬賽 (第二次期中考前) 整學期共2次,第一次訂於第一次期中考前,第二次訂於期末考前 (競賽班僅舉行第一次模擬賽) * 語法 A 班 * 考試日期:04/29 * 考試時間: 2 小時 * 題目數量: 4 題 * 範圍:第一、二學月上課範圍 * 語法 B 班 * 考試日期:04/30 * 考試時間: 2 小時 * 題目數量: 4 題 * 範圍:第一、二學月上課範圍 * 算法班 * 考試日期:04/28 * 考試時間: 2 小時 * 題目數量: 4 題 * 範圍:第一、二學月上課範圍 * 競賽班 * 考試日期:04/27 * 考試時間: 2 小時 * 題目數量: 4 題 * 範圍:第一、二學月上課範圍,題目模擬 TOI 初選難度 * Python 基礎班 * 視教學情況而定 * Python 資料科學班 * 不考試,採用項目報告 (簡報或程式碼分享),訓練學生表達能力。每階段的實作結束將會讓各組學生以發表產品、研究成果的角度來報告成果,並讓全體學員參與討論。 ### 第二次模擬賽 (期末考前) * 語法 A 班 * 考試日期:06/10 * 考試時間: 2 小時 * 題目數量: 4 題 * 範圍:C++ 基礎語法(全) * 語法 B 班 * 考試日期:06/11 * 考試時間: 2 小時 * 題目數量: 4 題 * 範圍:C++ 基礎語法(全) * 算法班 * 考試日期:06/09 * 考試時間: 2 小時 * 題目數量: 4 題 * 範圍:MDCPP 算法班授課之 C++ 演算法 * Python 基礎班 * 視教學情況而定 * Python 資料科學班 * 不考試,採用項目報告 (簡報或程式碼分享),訓練學生表達能力。每階段的實作結束將會讓各組學生以發表產品、研究成果的角度來報告成果,並讓全體學員參與討論。 ## 人員編制 ### 第六屆工作人員 聯絡資訊 |班級|姓名|職務|聯絡資訊|備註| |:--|----|----|----|----| |高一 10 班|胡永璋|總召集人兼算法班講師|41s465@ms.mingdao.edu.tw| |國立清華大學資工系 大四|葉宥辰|競賽班特聘講師兼教學顧問|gilbert12.tw@gmail.com|MDCPP 共同創辦人、APCS 5/5 (舊版)、TOI 1! 選訓營 (2021, 2022)、ICPC 桃園站 金牌| |高二 3 班|許惟喆|算法班講師|31s056@ms.mingdao.edu.tw| |高二 2 班|王鵬喆|語法 A 班講師|31s321@ms.mingdao.edu.tw| |高一 8 班|陳詩孟|語法 A 班助教|41s482@ms.mingdao.edu.tw| |高一 2 班|陳泓均|語法 B 班講師|41s201@ms.mingdao.edu.tw| |高一 3 班|徐宇謙|語法 B 班講師|41s146@ms.mingdao.edu.tw| |高一 8 班|吳安埕|秘書長兼語法 B 班講師|41s402@ms.mingdao.edu.tw| |國立臺灣科技大學資工系 大一|葉柏辰|Python 基礎班 & Python 資料科學班特聘講師兼教學顧問|lazpytb@gmail.com|Lazco 共同創辦人| |高一 8 班|林佑耘|創意與視覺設計總監|41s364@ms.mingdao.edu.tw| |高一 12 班|游甯貽|創意與視覺設計總監|41s443@ms.mingdao.edu.tw| ### 指導學長 |班級|姓名|聯絡資訊| |----|----|----| |國立清華大學資工系|葉宥辰|gilbert12.tw@gmail.com| |國立臺灣科技大學資工系|葉柏辰|lazpytb@gmail.com| |高一 10 班|胡永璋|41s465@ms.mingdao.edu.tw| ## 相關單位 ### 主辦單位 - 明道競賽程式選手培育計畫 (MDCPP) ### 協辦單位 - 明道中學輔導室 - 明道中學資訊中心 ### 指導老師 - 明道中學資訊科技科 陳楷翔老師