課程基本資料

課程代碼SIM11E20B002
課程名稱物件導向程式語言
英文名稱Object-Oriented Programming Languages
課程目的 
內容概要 
必選修必修
學分3
學習時數3
實習時數0
課程分類系所專門課程
先修課程 

核心能力

系所核心能力百分比(%)
1 具備資訊管理基礎專業知能 10
2 具備資訊系統開發及專案管理能力 40
3 具備資料分析及資訊管理決策能力 20
4 具備資訊應用服務及創新能力 20
5 具備資訊專業倫理及樂活產業創新素養 10

本學期開課資訊

班級名稱上限下限選課人數修課人數授課教師上課時間備註合班
資管一5510049辛信興26,27,28遠距課程 

本學期教學大綱

授課教師

辛信興無電話6320shing@nttu.edu.tw

OFFICE HOUR

辛信興星期三 下午 01:10~下午 02:00
星期四 下午 12:10~下午 01:00
星期四 下午 06:10~下午 07:00

教學目標

課程目標:
  Java跨平台的特性,讓Java大量使用在各種作業平台與資訊系統的開發,是眾多物件導向程式語言中最重要的語言,因此,本課程將以Java程式語言為主,透過Java學習封裝、資料隱藏、資料抽象化、繼承等物件導向概念與程式設計邏輯,並學習如何使用繼承提昇軟體的重覆使用性,瞭解polymorphism如何讓系統更有彈性且更容易維護,以及如何利用overload與override實作polymorphism機制,並教授Eclipse整合開發環境,以增進程式開發效率。修完本課程之後,學生將具備撰寫reusable程式結構的能力,並能利用Java豐富的開發套件進一步開發複雜系統。

單元教學目標:
第1章(程式邏輯、程式設計與Java的基礎)
-目標:學習程式設計的邏輯與基本步驟、了解結構化程式設計、演算法與流程圖,以及fChart流程圖直譯工具。

第2章(建立Java應用程式)
-目標:學習Java語言的開發環境,了解Java程式結構、輸出入語法,以及寫作風格

第3章(變數、資料型態與運算子)
-目標:學習Java變數的資料型態、命名規則,以及宣告語法。了解Java的運算子與運算優先順序、學習Java的遞增和遞減運算、關係與條件運算子、指定運算子、資料型態的轉換,以及型態轉換運算子。

第4章(條件判斷)
-目標:了解程式區塊與主控台的基本輸入,學習基本條件敘述、多選一條件敘述,並學習如何使用使用邏輯運算子建立複雜條件,以及巢狀條件敘述。

第5章(迴圈結構)
-目標:學習for計數迴圈、條件迴圈(while、do/while)、巢狀迴圈,並了解無窮迴圈、迴圈的break與continue語法。

第6章(類別方法)
-目標:了解由上而下的模組化程式設計,學習程序函數的結構與語法。學習Java類別方法、建立與呼叫的語法、參數傳遞,以及傳回值。學習Java類別變數、變數的存取範圍,以及類別方法的過載。了解遞迴的概念,學習遞迴程式設計的基礎與河內塔問題。學習Math數學類別的類別方法(亂數、最大最小值、常數)。

第7章(陣列與字串類別)
-目標:學習String字串類別、建構子與物件方法(字串長度、大小寫轉換、字元搜尋、子字串搜尋、字元處理、字串的比較)。學習StringBuffer字串緩衝區類別、建構子與物件方法(字串長度、新增和反轉方法、插入、刪除和取代方法)。了解型態包裝類別,學習如何進行字串與數值互相轉換。學習一維陣列的宣告、存取方法,以及main()方法參數列的字串陣列。了解二維與多維陣列的概念與應用,學習宣告與存取的語法,以及二維陣列的走訪。了解資料的排序與搜尋,學習泡沫排序法、線性搜尋法,以及二元搜尋法。

第8章(從結構化到物件導向程式設計)
-目標:了解傳統的應用程式開發,學習物件導向的應用程式開發、物件、類別與訊息。認識物件的三種特性(狀態、行為、識別字),學習複合物件、傳回值、多型、繼承、關聯關係、Part-of關係、Has-a關係,以及抽象類別。

第9章(類別與物件)
-目標:學習物件導向的封裝概念、實例變數、實例方法,以及實例變數與類別變數的差異。了解資訊隱藏的概念,並學習物件的使用介面。學習類別的建構子與this關鍵字。學習如何使用物件作為成員資料,以及如何使用類別變數與方法。

第10章(繼承、抽象類別和多型)
-目標:了解繼承的概念與架構,學習繼承語法與繼承的相關限制。學習如何覆寫和隱藏父類別的方法、成員資料,以及如何使用父類別的建構子。學習常數、抽象類別,以及同名異式的多型方法。

第11章(巢狀類別、介面和套件)
-目標:了解巢狀類別的概念、特點,以及內層類別的使用原則。了解Java的多重繼承概念,學習介面的多重繼承,以及以介面實作多型。認識Java API套件,學習套件的package和import語法。學習protected存取修飾子,及其在套件的應用。

第14章(建立Swing視窗應用程式)
-目標:認識Swing套件與Swing應用程式結構。學習GUI元件(JFrame、ContentPane、Component)、GUI應用程式開發工具WindowBuilder。學習Swing套件的版面配置管理員、文字輸入的GUI元件(JTextField、JPasswordField、JTextArea),以及選擇功能的GUI元件(JCheckBox、JRadioButton、JComboBox、JList)。

第15章(事件處理)
-目標:了解事件處理的概念與基礎,學習委託事件處理模型與事件驅動程式設計。學習使用Swing的事件改編者類別、滑鼠事件處理、鍵盤事件處理、Swing元件的事件處理及其應用。

學分數:3學分
適用對象:日間部大學生
學前能力:無限制

教學用書:
-陳會安,新觀念 Java 9 程式設計範例教本,旗標科技。

授課教師網頁:https://isms.nttu.edu.tw/p/412-1014-7657.php?Lang=zh-tw

進度安排

上課日期上課場地課程主題與內容章節備註
2025/2/18SEC111MIS電腦教室[線上同步] A.學習目標:了解本課程教學目的、各單元教學目的、授課方式、評分方式、網路學園功能 B.單元架構: -課程內容簡介 -章節結構圖 -課程評分標準 -Google meet使用說明 -助教資訊課程簡介-課程內容介紹說明 -網路學園介紹說明 -課堂討論 -課堂講述
2025/2/25SEC111MIS電腦教室[線上同步] -線上辦公室:學習問題討論與解決 [線上非同步] A.學習目標:了學習程式設計的邏輯與基本步驟、了解結構化程式設計、演算法與流程圖,以及fChart流程圖直譯工具 B.單元架構: -Java證照介紹 -1-1 Java語言與Java平台 -1-2 程式邏輯、演算法與流程圖 -1-3 程式設計的基本步驟說明 -1-4 結構化程式設計 -1-5 fChart流程圖直譯工具 -1-6 使用fChart進行邏輯訓練 -Eclipse:安裝與使用說明 C.線上測驗1 (Ch01) D.補充教材第1章(程式邏輯、程式設計與 Java的基礎) 開發環境Eclipse安裝學習活動: -閱讀影音教材 -參加線上測驗 -閱讀補充教材 -參加線上辦公室互動討論
2025/3/4SEC111MIS電腦教室[線上同步] -線上辦公室:學習問題討論與解決 [線上非同步] A.學習目標:了解Eclipse開發環境、debug工具與環境設定,學習撰寫第一支java程式,以及課本範例程式匯入與中文亂碼處理 B.單元架構: -Eclipse的第一個java程式 -匯入課本範例、debug、中文亂碼處理 -Eclipse環境設定 -Eclipse舊版安裝 C.補充教材 D.議題討論Java程式撰寫與Eclipse開發環境學習活動: -閱讀影音教材 -閱讀補充教材 -參加線上議題討論 -參加線上辦公室互動討論
2025/3/11SEC111MIS電腦教室[線上同步] -線上辦公室:學習問題討論與解決 [線上非同步] A.學習目標: -學習Java語言的開發環境,了解Java程式結構、輸出入語法,以及寫作風格 -學習Java變數的資料型態、命名規則,以及宣告語法,了解Java的運算子與運算優先順序。 B.單元架構: -2-1 Java語言的開發環境 -2-3 Java程式結構與基本輸出 -2-5 Java程式碼的寫作風格 -3-1 變數與資料型態的基礎 -3-2 變數的命名與宣告 -Ch03練習1 -3-3 Java資料型態 -3-4 Java運算式與運算子 C.測驗2 (Ch02) D.作業1 (Ch02) E.補充教材Ch02 建立Java應用程式 Ch03 變數、資料型態與運算子 學習活動: -閱讀影音教材 -參加線上測驗 -繳交個人作業 -閱讀補充教材 -參加線上辦公室互動討論
2025/3/18SEC111MIS電腦教室[線上同步] -線上辦公室:學習問題討論與解決 [線上非同步] A.學習目標: -學習Java語言的開發環境,了解Java程式結構、輸出入語法,- 學習Java的遞增和遞減運算、關係與條件運算子、指定運算子,了解資料型態的轉換,以及型態轉換運算子 -了解程式區塊與主控台的基本輸入,學習基本條件敘述、多選一條件敘述,並學習如何使用使用邏輯運算子建立複雜條件,以及巢狀條件敘述 B.單元架構: -Ch03練習2 -3-4 Java運算式與運算子 -3-5 資料型態的轉換 -4-1 程式區塊與主控台輸入 -Ch04練習1 -4-3 基本條件敘述 -4-4 多選一條件敘述 -4-5 使用邏輯運算子建立複雜條件 -4-6 巢狀條件敘述 -Ch04練習2 C.測驗3 (Ch03) D.測驗4 (Ch04) E.作業2 (Ch03) F.作業3 (Ch04)Ch03 變數、資料型態與運算子 Ch04 條件判斷 學習活動: -閱讀影音教材 -參加線上測驗 -繳交個人作業 -參加線上辦公室互動討論
2025/3/25SEC111MIS電腦教室[線上同步] -線上辦公室:學習問題討論與解決 [線上非同步] A.學習目標: -學習for計數迴圈、條件迴圈(while、do/while)、巢狀迴圈,並了解無窮迴圈。學習迴圈的break與continue語法。 -了解由上而下的模組化程式設計,學習程序函數的結構與語法,了解Java的類別方法 B.單元架構: -5-2 計數迴圈 -5-3 條件迴圈 -練習1 -5-4 巢狀迴圈與無窮迴圈 -5-5 中斷與繼續迴圈 -練習2 -6-1 模組化程式設計 -6-2 認識程序與函數 -6-3 Java類別方法 C.測驗5 (Ch05) D.作業4 (Ch05) E.補充教材Ch05 迴圈結構 Ch06 類別方法 學習活動: -閱讀影音教材 -參加線上測驗 -繳交個人作業 -閱讀補充教材 -參加線上辦公室互動討論
2025/4/1SEC111MIS電腦教室[線上同步] -線上辦公室:學習問題討論與解決 [線上非同步] A.學習目標:學習Java類別方法的存取修飾子、建立與呼叫的語法、參數傳遞,以及傳回值,了解傳值與傳址參數。學習Java類別變數、變數的存取範圍,以及類別方法的過載 B.單元架構: -6-3 Java類別方法 -練習1 -6-4 Java類別變數和變數範圍 -6-5 類別方法的過載 -練習2 C.測驗6 (Ch06) D.議題討論Ch06 類別方法學習活動: -閱讀影音教材 -參加線上測驗 -參加線上議題討論 -參加線上辦公室互動討論
2025/4/8SEC111MIS電腦教室[線上同步] -線上辦公室:學習問題討論與解決 [線上非同步] A.學習目標: -了解遞迴的概念,學習遞迴程式設計的基礎與河內塔問題。學習Math數學類別的類別方法(亂數、最大最小值、常數) -學習String字串類別,建構子與物件方法(字串長度、大小寫轉換、字元搜尋、子字串搜尋、字元處理、字串的比較) B.單元架構: -6-6 遞迴程式設計 -練習3 -6-7 Math數學類別的類別方法 -練習4 -練習5 -7-1 字串處理 C.作業5 (Ch06) D.補充教材 E.議題討論Ch06 類別方法 Ch07 陣列與字串類別 學習活動: -閱讀影音教材 -繳交個人作業 -閱讀補充教材 -參加線上議題討論 -參加線上辦公室互動討論
2025/4/15SEC111MIS電腦教室[線上同步] -線上辦公室:學習問題討論與解決 [線上非同步] A.學習目標:學習StringBuffer字串緩衝區類別,建構子與物件方法(字串長度、新增和反轉方法、插入、刪除和取代方法)。了解型態包裝類別,學習如何進行字串與數值互相轉換。認識陣列,學習一維陣列的宣告、存取方法,與main()方法參數列的字串陣列 B.單元架構: -7-1 字串處理 練習1 -7-2 字串與數值的轉換 -7-3 一維陣列 C.測驗7 (Ch07) D.補充教材 E.議題討論Ch07 陣列與字串類別學習活動: -閱讀影音教材 -參加線上測驗 -閱讀補充教材 -參加線上議題討論 -參加線上辦公室互動討論
2025/4/22SEC111MIS電腦教室[線上同步] -線上辦公室:學習問題討論與解決 [線上非同步] A.學習目標: -了解二維與多維陣列的概念與應用,學習宣告與存取的語法,以及二維陣列的走訪。了解資料的排序與搜尋,學習泡沫排序法、線性搜尋法,以及二元搜尋法 -了解傳統的應用程式開發,學習物件導向的應用程式開發,了解物件、類別與訊息。認識物件的三種特性(狀態、行為、識別字),學習複合物件、傳回值、多型、繼承、關聯關係、Part-of關係、Has-a關係,以及抽象類別。 B.單元架構: -練習2 -7-4 二維與多維陣列 -7-5 搜尋與排序 -練習3 -物件導向的應用程式開發 -從結構化進入物件導向程式設計 -物件導向技術的三大觀念 C.測驗8 (從結構化到物件導向程式設計) D.作業6 (Ch07) E.議題討論-Ch07 陣列與字串類別 -從結構化到物件導向程式設計學習活動: -閱讀影音教材 -參加線上測驗 -繳交個人作業 -參加線上議題討論 -參加線上辦公室互動討論
2025/4/29SEC111MIS電腦教室[線上同步] A.學習目標:引導同學將所學習的Java程式語言以專題分組製作方式進行實作,以加深同學對程式語言的理解 B.單元架構: -專題分組報告 -分組討論 C.網路教學滿意度期末調查 專題分組報告、分組討論學習活動: -進行專題分組報告 -繳交專題分組報告作業 -參加課程滿意度調查
2025/5/6SEC111MIS電腦教室[線上同步] -線上辦公室:學習問題討論與解決 [線上非同步] A.學習目標: -了解資訊隱藏的概念,學習物件的使用介面。學習類別的建構子與this關鍵字。學習如何使用物件作為成員資料,以及如何使用類別變數與方法。 -學習物件導向的封裝概念,學習實例變數與實例方法,了解實例變數與類別變數的差異 B.單元架構: -9-2 Java類別與物件-封裝 -練習1 -9-3 類別的建構子 -9-4 使用物件的成員資料 -9-5 在物件使用類別變數與方法 C.作業7 (Ch09) D.議題討論Ch09 類別與物件學習活動: -閱讀影音教材 -繳交個人作業 -閱讀補充教材 -參加線上議題討論 -參加線上辦公室互動討論
2025/5/13SEC111MIS電腦教室[線上同步] -線上辦公室:學習問題討論與解決 [線上非同步] A.學習目標:了解繼承的概念與架構,學習繼承語法與繼承的相關限制。學習如何覆寫和隱藏父類別的方法、成員資料,以及如何使用父類別的建構子。學習常數、抽象類別,以及同名異式的多型方法 B.單元架構: -10-1 繼承 -練習1 -10-2 常數與抽象類別 -10-3 多型(Compile-time Polymorphism) C.測驗9 (Ch10) D.作業8 (Ch10) E.議題討論Ch10 繼承、抽象類別和多型學習活動: -閱讀影音教材 -參加線上測驗 -繳交個人作業 -參加線上議題討論-參加線上辦公室互動討論
2025/5/20SEC111MIS電腦教室[線上同步] -線上辦公室:學習問題討論與解決 [線上非同步] A.學習目標:了解巢狀類別的概念、特點,以及內層類別的使用原則。了解Java的介面以及介面多重繼承的概念,學習介面的宣告與實作語法,以及如何達成多重繼承 B.單元架構: -11-1 巢狀類別 -11-2 Java介面 -練習1 C.作業9 (Ch11) D.議題討論Ch11 巢狀類別、介面和套件學習活動: -閱讀影音教材 -繳交個人作業 -參加線上議題討論 -參加線上辦公室互動討論
2025/5/27SEC111MIS電腦教室[線上同步] -線上辦公室:學習問題討論與解決 [線上非同步] A.學習目標: -學習使用Java介面實作多型。認識Java API套件,學習套件的package和import語法。學習protected存取修飾子,及其在套件的應用。 -認識Swing套件與Swing應用程式結構。學習GUI元件(JFrame、ContentPane、Component),學習GUI應用程式開發工具WindowBuilder B.單元架構: -11-2 Java介面 -11-3 套件 -練習2 -14-1 Swing套件的基礎 -14-3 Swing套件的GUI元件 C.測驗10 (Ch11)Ch11 巢狀類別、介面和套件 Ch14 建立Swing視窗應用程式 學習活動: -閱讀影音教材 -參加線上測驗 -參加線上辦公室互動討論
2025/6/3SEC111MIS電腦教室[線上同步] -線上辦公室:學習問題討論與解決 [線上非同步] A.學習目標:學習Swing套件的版面配置管理員,學習文字輸入的GUI元件(JTextField、JPasswordField、JTextArea),學習選擇功能的GUI元件(JCheckBox、JRadioButton、JComboBox、JList) B.單元架構: -14-3 Swing套件的GUI元件 -14-4 文字輸入的GUI元件 -14-5 選擇功能的GUI元件 -練習1 C.測驗11 (Ch14) D.作業10 (Ch14)Ch14 建立Swing視窗應用程式學習活動: -閱讀影音教材 -參加線上測驗 -繳交個人作業 -參加線上辦公室互動討論
2025/6/10SEC111MIS電腦教室[線上同步] -線上辦公室:學習問題討論與解決 [線上非同步] A.學習目標:了解事件處理的概念與基礎,學習委託事件處理模型與事件驅動程式設計。學習使用Swing的事件改編者類別。學習滑鼠事件處理、鍵盤事件處理、Swing元件的事件處理及其應用 B.單元架構: -15-1 事件處理的基礎 -15-2 事件改編者類別 -15-3 滑鼠事件處理 -15-4 鍵盤事件處理 -15-5 Swing元件的事件處理 C.測驗12 (Ch15) D.作業11 (Ch15)Ch15 事件處理學習活動: -閱讀影音教材 -參加線上測驗 -繳交個人作業 -參加線上辦公室互動討論
2025/6/17SEC111MIS電腦教室[線上同步] A.學習目標:引導同學將所學習的Java程式語言以專題分組製作方式進行實作,以加深同學對程式語言的理解 B.單元架構: -專題分組報告 -分組討論 C.網路教學滿意度期末調查專題分組報告、分組討論學習活動: -進行專題分組報告 -繳交專題分組報告作業 -參加課程滿意度調查

課程進行方式

1. 提供授課影音教材讓同學上網觀看
2. 以線上議題討論方式引導同學學習,鼓勵同學收集Java程式語言相關知識
3. 以分組製作方式進行專題實作,以加深同學對程式語言的理解
4. 以線上測驗方式評估同學學習成效,並適時提供協助

評量方法

評量項目比重(%)
線上議題討論(分組)10
線上議題討論(個人)10
學習歷程記錄30
專題分組製作(報告)10
專題分組製作(討論紀錄)10
線上個人作業15
線上測驗15

網路學園網址(作業繳交上網網址)

https://eclass2.nttu.edu.tw/course/16894

進一步閱讀之書目

1. Boyarsky, J., & Selikoff, S. (2015). OCP: Oracle Certified Professional Java SE 21 Developer Study Guide. Sybex.
2. 蔡文龍、張志成、何嘉益、張力元、歐志信(2023)。Java x ChatGPT基礎必修課。碁峰。
3. 廖志偉(2024)。Java網路元件專案-大型網際網路企業級最重要應用。深智

特別要求

※ 爲落實友善校園人權環境之教學中立精神,請尊重多元宗教信仰、族群、性別及政治立場。
※ 爲尊重智慧財產權,請勿非法影印或散布教科書或下載受智慧財產權保護之軟體、電影或MP3等資料,以免觸法!

課程歷年開課資訊

學年期班級科目名稱學分數時數
一○三學年度/第二學期資管一物件導向程式語言33
一○四學年度/第二學期資管一物件導向程式語言33
一○五學年度/第二學期資管一物件導向程式語言33
一○六學年度/第二學期資管一物件導向程式語言33
一○七學年度/第二學期資管一物件導向程式語言33
一○八學年度/第二學期資管一物件導向程式語言33
一○九學年度/第二學期資管一物件導向程式語言33
一一○學年度/第二學期資管一物件導向程式語言33
一一一學年度/第二學期資管一物件導向程式語言33
一一二學年度/第二學期資管一物件導向程式語言33
一一三學年度/第二學期資管一物件導向程式語言33