C++ 程式解題基礎實戰班

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

本課程為基礎實戰班,每次上課講師會先講解當次上課的主題,接著會給予指定的題庫讓學員進行練習,講師會依據每位學員的進度給予個別建議跟提醒。每次課程的最後,講師會依據大多數學員的進度跟困惑再進行一次統一的講解。
本課需要自備筆電,我們使用線上的解題練習網站,不須另外安裝程式。訓練班有提供 Wifi 可以使用。
本門課的題目主要涵蓋了線上解題網站 LeetCode 的常見面試基礎題 (Top Interview Questions: Easy Collection) 跟其衍生題目

課程大綱

基礎知識與技術
程式解題簡介
演算法的複雜度分析 (complexity)
現代 C++ 標準庫的使用 (C++11 以後)
常見演算法
逐位元運算 (bit manipulation)
雙指標 (two pointers)
遞迴 (recursion) 與迭代 (iteration)
排序 (sort) 與二元搜尋法 (binary search)
回溯法 (backtracking)
動態規劃 (dynamic programming)
貪心法 (greedy)
常見資料結構
陣列 (array) 與動態陣列 (dynamic array)
串列 (linked list) 與樹 (tree)
雜湊表 (hash table)
佇列 (queue) 與堆疊 (stack)

適合對象

想自我加強的大學資訊相關科系學生
準備大學資訊相關科系先修的高中生
想開始訓練程式解題技巧者
想開始準備程式解題競賽或檢定者
想開始準備上機或白板面試者
需修過任一程式語言的基礎班 (C/C++、Java、C#、Go)「或」已經會使用變數、if、for 與陣列


開發環境

上課時使用線上解題訓練網站 LeetCode 來開發
但學員可以安裝任何自己習慣使用的 C++ 開發環境

近期班次

注意事項

  • 上課地點:台灣大學資訊工程學系系館 詳細位置;教室號碼將於開課前一日公佈於官網"最新消息"中。
  • 上課教材:開課後將公布教學網站給同學查閱。
  • 結業狀況:請上官網”結業名單”查閱是否合格及可領取證書進度。

講師介紹

(一) 學歷

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

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

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

(二) 經歷

1.雷亞遊戲技術總監

參與《聚爆 (Implosion)》開發與負責《伊甸之魂 (Soul of Eden)》的主程式

2.長期從事程式教育

有十五年以上課堂教學經驗,開設過百次以上程式設計和網站實作課程

於本訓練班授課時數累計至2019年3月25日為2,251小時

3.自由接案者

有二十五年以上程式設計及二十年以上網站接案經驗,參與過數十個專案開發

4.經營 Youtube 頻道

https://www.youtube.com/c/KenYiLee

(三) 相關榮譽

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

國立臺灣大學書卷獎

全國高中資訊能力競試決賽入選

(四) 專長

程式語言: C, C++, C#, Java, Python, PHP, JavaScript, Golang, Perl, Lua 等

開發框架: .Net framework, Laravel, Qt, jQuery, React, OpenCV, Tensorflow

網頁技術: HTML5, CSS3, SQL, Flash 等

遊戲開發引擎: Unity