Java 基礎程式設計班

Java 基礎程式設計班

/* Java 初步介紹 */
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] 的程式設計演算法APCS 大學程式設計先修檢測 [8] 的考試範圍,歡迎國高中生一同參與,希望讓你第一次學習程式就能夠站穩灘頭堡!

/* AP Computer Science & Overseas Studies */
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, 2023
[5] JetBrains, The State of Developer Ecosystem 2023, 2023
[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

課程大綱

一、基礎程式設計
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:更新於 2024-06-15。
註1:課程教材主要以英文為主,授課過程以中文為主。英文目前仍為科技領域主要語言,想長期進入資訊領域者,應培養透過英文學習 CS 的基本能力。
註2:我們教的不只有程式語言,而是了解程式背後的思考歷程與通用於多數程式語言的一般性原則,而這些想法是可以帶得走的。先有想法才有語言,不可能只會語言而不會思考。還在學一堆語言但不知所以然嗎?
註3:根據教學經驗發現,多數學員無法掌握貌似複雜的 OOP。在基礎班的課程中我們闡述其背後的想法,嘗試用不同的情境讓學員了解 OOP 的本質。基礎班與進階班也以此為界線。

適合對象

1. 無程式撰寫經驗但想要打下紮實基礎的初學者。
2. 具備其他程式語言能力者,如:C、C++、Python、JavaScript。
3. 提早學習 Java 的國際學校學生與出國進修之研究生。

開發環境

Eclipse with Oracle JDK17+

實體課程注意事項

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

校園防疫措施詳情連結

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

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

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

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

近期班次

  • 第448期 停開一期

    課程類別:三六夜間班

    開課日期:2025.07.09 ~ 2025.08.23

    上課時間:

    週 (三)(六) 7:00 PM ~ 10:00 PM

    學費:新生新台幣6500元整

    注意事項:
    1. 本課程提供同步直播上課,詳情說明
    2. 7/12(六)學校114年度高壓配電站保養維護公告,停課一天,課程日期已順延
    3. 7/16、 7/30、8/13講師有重要會議停課, 課程日期已順延

    停止報名

  • 講師介紹

    (一) 經驗
    臺灣大學 資訊工程研究所 計算理論暨金融計算實驗室 兼任研究助理 (2024.7--present)
    臺灣大學 資訊工程學系 課程助教:離散數學、演算法的數學解析、金融科技導論
    HaWooo Com Trading Sdn. Bhd. (Malaysia) 營運長 (2022-2023)
    Appier Inc.(股票代碼: 日本東京證券交易所:4180) 產品研發經理暨資深工程師 (員工編號:21) (2014-2022)
    訊連科技股份有限公司(股票代碼:臺灣證券交易所:5208) 核心技術部資深工程師 (2007-2014)

    (二) 學歷
    臺灣大學資訊工程研究所 博士生
    臺灣大學資訊工程研究所 碩士
    臺灣大學資訊工程研究所 學士 輔系數學系

    (三) 專長
    ● 表單自動化管理.電子商務與數位轉型
    ● 會員資料運營合規策略、營運數據分析與策略規劃
    ● 智慧財產盤點與管理規劃
    ● 財務風險評估與建議(損益兩平點分析、現金流風險分析...等)

    (四) 著作
    ● 碩士論文: 多人合作私密計算上的安全性分析
    ● 期刊論文:全國律師第27卷第12期:大數據及物聯網之營業秘密保護趨勢
    ● 美國發明專利: 8,503,862, Systems and Methods for Identifying Scenes in A Video to
    Be Edited And For Performing Playback
    ● 美國發明專利: 8,867,789, Systems and Methods for Tracking an Object in a Video
    ● 美國發明專利: 9,336,583, Systems and Methods for Image Editing

    (五) 榮譽
    ● 第30屆中小企業財務管理顧問培訓班結訓,團體組第一名(2024)
    ● 南緯AiQ智慧衣設計競賽(2010),第二名
    ● 思科網絡學院網路技能大賽(2006),全國第一名
    ● 書卷獎(Top 5%),國立臺灣大學資訊工程系(2003)