教學大綱表
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱 (中文) Python程式設計
(英文)
開課單位 資訊經營學系
課程代碼 N1260
授課教師 康家榮
學分數 3.0 必/選修 選修 開課年級 大二
先修科目或先備能力:
課程概述與目標: Python是全功能的程式語言,很容易學習,透過此課程使學生快速的學會Python來快速實現創新的想法。課程將從零開始,使用大量的範例教學,讓開始學習程式的學生們也能快速上手,課程中讓學生們在學習後馬上練習,充分了解Python的實際應用。
教科書 黃建庭,python程式設計從入門到進階應用(第三版),2020,全華
參考教材
課程大綱 學生學習目標 單元學習活動 學習成效評量 備註
單元主題 內容綱要
1 Python簡介與開發環境安裝與設定 1. Python簡介
2. Python的優勢
3. 安裝Python 開發環境
4. 設定Python 開發環境
5. 執行與測試Python程式
1. Python簡介
2. Python的優勢
3. 安裝Python 開發環境
4. 設定Python 開發環境
5. 執行與測試Python程式
 
2 Python基礎 1. 縮排及區塊結構
2. 變數及其設定
3. 運算式 、字串 、數字 、None值
4. 取得使用者的輸入
5. 內建算符
6. 基本Python風格與名稱命名慣例
1. 縮排及區塊結構
2. 變數及其設定
3. 運算式 、字串 、數字 、None值
4. 取得使用者的輸入
5. 內建算符
6. 基本Python風格與名稱命名慣例
 
3 基本資料結構:list、tuple、set 1. list的索引與切片
2. 修改list
3. list的排序
4. 多層list和深層副本
5. tuple
6. set
1. list的索引與切片
2. 修改list
3. list的排序
4. 多層list和深層副本
5. tuple
6. set
 
4 字串 1. 基本的字串操作
2. 特殊字元和轉義字元
3. 字串的method
4. 從物件轉換成字串
5. 使用format() method來格式化字串
6. 以 % 算符來格式化字串
7. 以 f-strings來格式化字串
1. 基本的字串操作
2. 特殊字元和轉義字元
3. 字串的method
4. 從物件轉換成字串
5. 使用format() method來格式化字串
6. 以 % 算符來格式化字串
7. 以 f-strings來格式化字串
 
5 字典 1. 什麼是字典?
2. 字典操作
3. 字數統計
4. 稀疏矩陣
5. 以字典作為快取
6. 字典的效率
1. 什麼是字典?
2. 字典操作
3. 字數統計
4. 稀疏矩陣
5. 以字典作為快取
6. 字典的效率
 
6 流程控制 1. while 迴圈
2. if-elif-else 判斷式
3. for 迴圈
4. 用生成式快速建立新的list與字典
5. 敘述、區塊、和縮排
6. 布林值與運算式的真假運算
1. while 迴圈
2. if-elif-else 判斷式
3. for 迴圈
4. 用生成式快速建立新的list與字典
5. 敘述、區塊、和縮排
6. 布林值與運算式的真假運算
 
7 函式 1. 基本函式定義
2. 函式的參數定義與引數傳遞
3. 用可變物件作為引數
4. local、global、nonlocal變數
5. 將變數參照到函式
6. lambda 匿名函式
7. 產生器函式
8. 修飾器
1. 基本函式定義
2. 函式的參數定義與引數傳遞
3. 用可變物件作為引數
4. local、global、nonlocal變數
5. 將變數參照到函式
6. lambda 匿名函式
7. 產生器函式
 
8 模組與變數可視範圍 1. 什麼是模組
2. 敘述的三種形式
3. 模組搜尋路徑
4. 模組中的私有名稱
5. 函式庫與第三方模組
6. Python命名空間和變數可視範圍
1. 什麼是模組
2. 敘述的三種形式
3. 模組搜尋路徑
4. 模組中的私有名稱
5. 函式庫與第三方模組
6. Python命名空間和變數可視範圍
 
9 期中考 期中考 檢視學生學習的成效  
10 Python程式檔 1. 將主程式放入主控函式
2. 在Linux/UNIX讓Python程式檔變成執行檔
3. macOS上的Python程式檔
4. Windows中Python程式檔的啟動方式
5. 程式與模組
6. 發佈Python應用程式
1. 將主程式放入主控函式
2. 在Linux/UNIX讓Python程式檔變成執行檔
3. macOS上的Python程式檔
4. Windows中Python程式檔的啟動方式
5. 程式與模組
6. 發佈Python應用程式
 
11 使用檔案系統和例外處理 1. 取得檔案相關的資訊
2. 開啟檔案與file物件
3. 讀寫文字檔和二進位檔案
4. 標準輸入/輸出與重新導向
5. 用struct模組讀取結構化二進位資料
6. Python的例外機制
1. 取得檔案相關的資訊
2. 開啟檔案與file物件
3. 讀寫文字檔和二進位檔案
4. 標準輸入/輸出與重新導向
5. 用struct模組讀取結構化二進位資料
6. Python的例外機制
 
12 類別與物件導向程式設計 1. 類別Class
2. 類別變數class variables
3. 靜態方法static method與
4. 類別的繼承inheritance
5. 類別變數與物件變數的繼承
6. 私有變數與私有方法
7. 多重繼承
1. 類別Class
2. 類別變數class variables
3. 靜態方法static method與
4. 類別的繼承inheritance
5. 類別變數與物件變數的繼承
6. 私有變數與私有方法
7. 多重繼承
 
13 常規表達式 1. 什麼是常規表達式
2. 具有特殊字元的常規表達式
3. 常規表達式與原始字串
4. 從字串中提取符合樣式的文字
5. 用常規表達式搜尋取代字串
1. 什麼是常規表達式
2. 具有特殊字元的常規表達式
3. 常規表達式與原始字串
4. 從字串中提取符合樣式的文字
5. 用常規表達式搜尋取代字串
 
14 物件的型別與特殊method 1. 取得物件的型別
2. 鴨子型別(Duck Typing)
3. 何謂物件的特殊method
4. 賦予自訂物件更多類似list的功能
5. 繼承內建型別來產生新的型別
6. 使用特殊method的時機
1. 取得物件的型別
2. 鴨子型別(Duck Typing)
3. 何謂物件的特殊method
4. 賦予自訂物件更多類似list的功能
5. 繼承內建型別來產生新的型別
6. 使用特殊method的時機
 
15 套件和Python 函式庫 1. 套件的運作方式
2. 套件的具體範例
3. 套件的正確使用方式
4. 標準函式庫
5. 用安裝檔新增Python函式庫
6. 使用pip安裝Python函式庫
7. virtualenv虛擬環境
8. PyPI
1. 套件的運作方式
2. 套件的具體範例
3. 套件的正確使用方式
4. 標準函式庫
5. 用安裝檔新增Python函式庫
6. 使用pip安裝Python函式庫
7. virtualenv虛擬環境
8. PyPI
 
16 處理純文字、CSV、Excel資料檔和網路下載與解析資料 1. 資料的提取、轉換、載入(ETL)
2. 處理純文字檔
3. Excel 試算表檔案
4. 資料清理
5. 使用Python下載檔案
6. 透過API取得資料
7. 解析JSON與XML格式
8. 解析網站HTML資料
1. 資料的提取、轉換、載入(ETL)
2. 處理純文字檔
3. Excel 試算表檔案
4. 資料清理
5. 使用Python下載檔案
6. 透過API取得資料
7. 解析JSON與XML格式
8. 解析網站HTML資料
 
17 存取資料庫與資料分析 1. 關聯式資料庫
2. 使用sqlite3資料庫
3. 使用MySQL、PostgreSQL
4. NoSQL 資料庫
5. 用Redis 儲存Key-Value資料庫
6. 用MongoDB儲存文件資料庫
7. 用pandas進行資料ETL
8. 繪製資料進行視覺化
1. 關聯式資料庫
2. 使用sqlite3資料庫
3. 使用MySQL、PostgreSQL
4. NoSQL 資料庫
5. 用Redis 儲存Key-Value資料庫
6. 用MongoDB儲存文件資料庫
7. 用pandas進行資料ETL
8. 繪製資料進行視覺化
 
18 期末考 期末考 檢視整個課程學生的學習成效  

教學要點概述:
教材編選: ■ 自編教材 □ 教科書作者提供
評量方法: 期末考:35%   期中考:35%   :10%   作業:20%  
教學資源: ■ 教材電子檔 □ 課程網站
扣考規定:http://eboard.ttu.edu.tw/ttuwebpost/showcontent-news.php?id=504