Java 程式解題基礎

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

課程大綱

程式解題 (problem solving) 簡介
演算法的複雜度分析 (complexity)
陣列 (array) 與動態陣列 (dynamic array)
雙指標法 (two pointers)
串列 (linked list) 與樹 (tree)
遞迴 (recursion)
排序 (sort) 與二元搜尋法 (binary search)
雜湊表 (hash table)
佇列 (queue) 與堆疊 (stack)
動態規劃 (dynamic programming)
貪心法 (greedy)
課程內容主要涵蓋了知名線上面試解題網站 LeetCode 的常見面試基礎題 (Top Interview Questions: Easy Collection) 跟其衍生題目

適合對象

想要訓練自己寫 Java 程式能力者
想自我加強的大學資訊相關科系學生
準備大學資訊相關科系先修的高中生
想開始訓練程式解題技巧者
想開始準備程式解題競賽或檢定者
需修習過 Java 程式語言基礎相關課程「或」對於 Java 的資料型態、變數、流程控制、陣列與函式已有所了解者

開發環境

上課時使用線上解題網站 LeetCode 進行講解與練習

近期班次

注意事項

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

講師介紹

(一) 學歷

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

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

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

(二) 經歷

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