Python 演算法與程式解題入門

Python 演算法與程式解題入門

不論是面試大型軟體公司、參加程式解題競賽或考取資訊能力檢定,程式解題 (Problem solving) 的能力對於想以軟體開發為生的人來說越來越重要。在美國矽谷,程式解題力已經是進入 Google、LinkedIn 等軟體公司的基本門檻。而台灣也透過資訊能力檢定 (APCS, CPE) 、資訊能力競賽等形式來培養相關的能力。本課程透過概念講解跟實作練習,除了深入淺出解題時常見的演算法也介紹如何利用 Python 的特性來把程式寫得更簡潔。適合想深入學好程式設計、準備大學資訊相關科系的先修、想參加比賽測驗檢定或進行面試準備的你。

課程大綱

『入門班』課程內容包含:
- 程式解題 (Problem solving) 介紹
- Python 的輸出與輸入處理
- 各式程式解題與測驗系統的介紹
- Python 的列表 (list) 與其應用題型
- Python 的字串 (str) 與其應用題型
- 暴搜法、貪心法與雙指標法
- 求極值、線性搜尋與計數
- Python 迭代器 (iterator) 與生成器表示式 (generator expression) 的應用

---------------------------------------------------------------------------------------
『 Python 演算法與程式解題 』系列各班別說明:
---------------------------------------------------------------------------------------
【入門班】 初學程式語言但沒有程式解題經驗,幫助剛上完語言基礎課或自學者起步
講解程式解題與輸入輸出的處理
講解計數,暴搜、雙指標、貪心 (greedy) 等常見基礎演算法
講解列表與字串的應用
※ 如果只上過資訊系統訓練班的基礎語言課程,建議從這門課開始上
---------------------------------------------------------------------------------------
【初級班】 有過程式解題經驗或已經經常在寫程式
迅速複習入門班的內容 (不用先上過入門班)
講解演算法複雜度並練習分析 (complexity analysis)
講解雜湊表的應用
講解排序 (sorting) 的各式演算法
介紹遞迴 (recursive) 與分治法 (divide-and-conquer)
※ 如果平常已經有在寫程式 (在學校或工作),建議從這門課開始上
※ 題目難度約為 LeetCode 解題網站的 Easy
---------------------------------------------------------------------------------------
【中級班】上過初級班或已經經常在寫程式
講解遞迴與分治法 (divide-and-conquer)
講解二元搜尋法 (binary search)
講解遞迴的複雜度分析 (complexity analysis)
講解遞迴與記憶法 (memorization)
講解動態規劃 (dynamic programming)
※ 如果平常已經有在寫題目 (準備考試或面試),建議從這門課開始上
※ 題目難度約為 LeetCode 解題網站的 Easy ~ Medium
---------------------------------------------------------------------------------------
【高級班】上過中級班或已經會寫遞迴函式
講解並查集 (union-find)
講解回溯法 (backtracking)
講解怎麼將遞迴改寫成迴圈
講解深度優先與廣度優先等搜尋法
講解最短路徑計算的各式演算法
※ 題目難度約為 LeetCode 解題網站的 Medium

適合對象

想自我加強的大學資訊相關科系學生
準備大學資訊相關科系先修的高中生
想開始訓練程式解題技巧者
想開始準備程式解題競賽或檢定者
想開始準備上機或白板面試者
修過 Python 語言的基礎班「或」已經會使用變數、if、for 與 list [] 的初學者

開發環境

上課時使用講師自製系統或線上解題網站 (LeetCode) 講解
但學員可以在任何自己習慣使用的 Python 開發環境進行應用

實體課程注意事項

本班為實體課程,常見QA詳情連結

校園防疫措施詳情連結

公務員全程參與課程學習後可於課程結束後申請登錄公務人員學習時數

課程影片觀看期限至課程結束後一週關閉

(一)退費期限:開課日後⅓時數內,詳情連結

(二)查詢結業狀況:結業名單連結

近期班次

講師介紹

現任

國立臺灣大學資訊管理學系兼任助理教授

信革 (SIGONO) 數位有限公司技術總監

 

曾任

雷亞 (RAYARK) 遊戲股份有限公司技術總監

 

學歷

國立臺灣大學資訊工程學博士

國立臺灣大學資訊工程學碩士

國立臺灣大學資訊工程學學士

 

相關榮譽

國立臺灣大學資訊工程系優良助教獎

國立臺灣大學書卷獎

 

相關資料與課程規劃可參考個人課程網站 : https://feis.studio