線上課程
Java [0] 是一種泛用 (general-purpose) 程式語言,完全支援物件導向設計 (Object-Oriented Programming, OOP),讓程式設計師撰寫具備可重新使用 (reusable) 的程式結構,利於開發複雜度較高的系統軟體;Java 具備優秀的記憶體管理機制與豐富的開發套件/框架,例如主流的後端框架 Spring [1] 與安卓應用軟體 (Android app) [2],可大幅增進程式開發效率;Java 同時支援多執行緒來處理如多媒體等計算強度高的應用程式。根據 2020 年 TIOBE 的統計,Java 為程式語言排名中使用人數最多的前三名 [3, 4, 5];Java 亦大量被使用在金融業的伺服器端,自 2015 年末開始吹起一股金融科技化 (Financial Technology, FinTech),最受歡迎的程式語言是 Java [6]。
/* 課程目標 */
本課程深入淺出介紹 Java 的語法與重要的程式設計概念,期許學員可以獨立完成 Java 程式撰寫;也企圖為學員建立 CS 的宏觀圖像,期望透過本課程傳授的基礎知識作為基石,培養學員在資訊領域內的自我學習能力。此外,本課程涵蓋十二年國民基本教育課程綱要科技領域 [7] 的程式設計與演算法、大學程式設計先修檢測 [8] 的考試範圍,歡迎國高中生一同參與,希望讓你第一次學習程式就能夠站穩灘頭堡!
/* AP Computer Science & Overseas Study */
This course will cover the whole content of AP Computer Science [9, 10]. For students who have further plans to study abroad (say, pursue a master degree), you can also learn about the important OOP concepts before you start with application courses.
[0] Oracle, About Java
[1] Spring Framework
[2] Android
[3] TIOBE Index
[4] IEEE Spectrum, Interactive: The Top Programming Languages, 2022
[5] JetBrains, The State of Developer Ecosystem 2022, 2022
[6] The top ten technology skills at BAML, Barclays, Credit Suisse, Citi, Goldman Sachs, JPMorgan, Morgan Stanley and UBS, 2015.4.16
[7] 十二年國民基本教育課程綱要國民中學暨普通型高級中等學校 - 科技領域
[8] 大學程式設計先修檢測 (APCS)
[9] AP Computer Science A
[10] Roselyn Teukolsky M.S., Barron's AP Computer Science A, 8/e, 2018
【本課程為線上課程,上課方式為「觀看課程錄影」。學員可以透過精心剪輯設計的課程影片不停地複習實作的步驟,確保可以順利完成所有的操作。也可以隨時在線上討論區或作業的討論獲得必要的協助或提示來一起學習怎麼解決實際的問題。結業標準為完成五次作業,每次作業都有影片解說,希望可以幫助學員在期末時可以順利取得證書。若對於課程有需要直接對談的方式解惑,可以與老師預約時間討論!】
※線上課程上課時間:於開課時間內可自行安排時間上課
影片上架進度,請參考備註欄位第(三)點線上課程常見QA連結網址
0. 預備知識:計算機模型 (computation model)、安裝 JDK 與 Eclipse、第一隻 Java 程式
1. 資料型態、變數、運算子 (data types, variables, and operators)
2. 流程控制:條件敘述、迴圈 (branching & loops)
-- 演算法分析 (analysis of algorithms)
3. 陣列與資料結構簡介 (arrays & more data structures)
-- 排序演算法 (sorting algorithms)
-- 二元搜尋法 (binary search)
4. 方法與遞迴 (method & recursion)
二、物件導向設計
0. 物件與類別 (object & class)
1. 封裝 (encapsulation)
2. 物件之間 HAS-A 的關係
3. 物件之間 IS-A 的關係:類別繼承與介面繼承 (class & interface inheritance)
4. 方法覆寫與多型 (method overriding & subtype polymorphism)
5. 抽象類別與抽象方法 (abstract class & method)
6. 淺談設計模式 (design patterns: singleton, dependency injection, iterator, observer, strategy)
7. 拋錯與例外處理 (exception throwing and handling)
註0:更新於 2023-02-16。
註1:課程教材主要以英文為主,授課過程以中文為主。英文目前仍為科技領域主要語言,想長期進入資訊領域者,應培養透過英文學習 CS 的基本能力。
註2:我們教的不只有程式語言,而是了解程式背後的思考歷程與通用於多數程式語言的一般性原則,而這些想法是可以帶得走的。先有想法才有語言,不可能只會語言而不會思考。還在學一堆語言但不知所以然嗎?
註3:根據教學經驗發現,多數學員無法掌握貌似複雜的 OOP。在基礎班的課程中我們闡述其背後的想法,嘗試用不同的情境讓學員了解 OOP 的本質。基礎班與進階班也以此為界線。
2. 具備其他程式語言能力者,如:C、C++、Python。
3. 提早學習 Java 的國際學校學生與留學生。
●線上課程採遠距教學,無需到班上課!
●線上課程影片無字幕輔助
●線上課程為非同步教學,無法及時互動回覆,請學員需自行評估是否適合自己的學習模式。
● 上課教材、影片:開課當天會發送註冊信至信箱,註冊完畢後即可開始上課。
● 繳交作業期限:依照各班講師規定;通過課程標準才會製作證書。
● 課程影片下架日:結束日後六個月
●學員於開課後登入課程時, 登入帳號務必與報名時所填寫的EMAIL相同!!!
公務員全程參與課程學習後可於課程結束後申請登錄公務人員學習時數
(一)轉班或退費期限:開課日後⅓時數內,詳情連結
(二)結業狀況:查詢是否合格及證書製作進度,結業名單連結
(三)線上課程上課時間:請參考官網最新消息「線上課程常見QA」,詳情連結
(四)報名備註欄位僅可填寫優惠同行人,收據開立時間及其他問題請直接寄EMAIL向我們聯繫
(一) 經歷
臺灣大學資訊工程學系資訊系統訓練班講師
中國信託商業銀行全球金融商品交易處期貨自營部計畫研究員
臺灣大學腦與心智科學研究所兼任研究助理
臺灣大學資訊工程學系研究助理與課程助教 (計算理論、離散數學、財務演算法)
(二) 學歷
臺灣大學資訊工程研究所博士 (主修財務工程)
交通大學電信工程研究所碩士 (主修電磁波)
中央大學電機工程學系學士
(三) 研究興趣 & 專長
- Financial Engineeering, Quantitative Finance, and Algorithmic Trading
- Algorithms, Computing Theory, and Programming Languages
- Data Science and Business Intelligence using AI Techniques
- System Administration (Linux) and High Performance Computing
(四) 教學特色
1. 中文授課,課程教材以英文為主,適合規劃出國求學或對科學技術有興趣的學員。
2. 2014 年始服務於本班,累計授課時數至 2025 年 7 月 11 日為 13010 小時。
