中正大學課程大綱
課程名稱(中文): 量子電腦程式設計概論 開課單位: 資訊工程學系(Department of Computer Science and Information Engineering)
課程名稱(英文) Introduction to Quantum Computer Programming 課程代碼 4101024_01
授課教師: 游寶達 學分數 2
必/選修 選修 開課年級 大學部
先修科目或先備能力:
微積分、線性代數、機率論
課程概述:
首先,了解量子電腦的發展史、相關背景知識及未來的發展趨勢。
再者,從最基本的量子位元標記法入手及認識基本的運算。進一步認識多量子位元的標記法及其指令的多元運算特性。
接著了解量子電腦的原式特性,及量子電腦的應用。
最後,研讀一些量子演算法,以建立量子電腦程式設計之專業能力。
學習目標:
1. 了解量子電腦的發展史、基本知識、發展趨勢
2. 學習QPU原式
3. 學習基本QPU程式設計
4. 學習QPU應用
5. 了解未來的研究趨勢
教科書:

課程大綱 分配時數 核心能力 備註
單元主題 內容綱要 講授 示範 隨堂作業 其他
1. 緒論
 背景知識
 原生QPU指令
 QPU與GPU的特徵
2 0.5 1 1.11.21.32.12.22.33.13.23.34.14.2
2. 單一量子位元
 基本標記法介紹
 基本QPU運算
 基本QPU指令
2 0.5 1 1.11.21.32.12.22.33.13.23.34.14.2
3. 多量子位元
 進階標記法介紹
 QPU運算指令:CNOT、CPHASE、CZ、CCNOT、SWAP、CSWAP等
2 0.5 1 1.11.21.32.12.22.33.13.23.34.14.2
4. 量子瞬間傳送
 建立糾纏對
 製備有效乘載
 進行連結、疊加、接收、轉換,驗證
 實際應用
2 0.5 1 1.11.21.32.12.22.33.13.23.34.14.2
5. 量子算術與邏輯
 QPU的算術
 整數運算
 複雜運算
 量子運算
 布林運算
2 0.5 1 1.11.21.32.12.22.33.13.23.34.14.2
6. 振幅放大
 迴圈疊代
 多重翻轉
 振幅放大
2 0.5 1 1.11.21.32.12.22.33.13.23.34.14.2
7. 量子傅立葉轉換
 QFT、DFT、FFT
 QFU內部機制
2 0.5 1 1.11.21.32.12.22.33.13.23.34.14.2
8. 量子相位估算
 特徵相位
 相位估算
 實務估算
2 0.5 1 1.11.21.32.12.22.33.13.23.34.14.2
9. 量子搜尋
 相位邏輯
 邏輯求解
 布林通則
 演算法加速
2 0.5 1 1.11.21.32.12.22.33.13.23.34.14.2
10. Shor因數分解演算法
 QPU-based Shor演算法
 QPU執行步驟
 效能驗證
 空間與時間的Trade Off
2 0.5 1 1.11.21.32.12.22.33.13.23.34.14.2
11. 量子機器學習
 QPU-based 線性分割
 QPU-based Support Vector Machine
 QPU-based Deep Learning
2 0.5 1 1.11.21.32.12.22.33.13.23.34.14.2
12. 進階文獻探討
 複變數函數論的導入
 量子閘的進階分解與匯集之先技術
 量子程式語言之發展
2 0.5 1 1.11.21.32.12.22.33.13.23.34.14.2

教育目標
1.專業基礎知識. 使學生擁有扎實的專業基礎知識,成為資訊及相關領域的專業人才
2.培養創造能力. 使學生具有運用所學到的各種專業知識與理論以科學的方法解決問題與創新
3.自我挑戰能力與終身學習. 讓學生習於自我挑戰、獨立思考,學會思維創新、領導及組織團隊、有效溝通、終身學習之能力
4.社會人文素養與國際視野. 讓學生具備關懷社會的情操與人文素養,並具國際觀,奉獻社會國家及人類

核心能力
1.1.具有資訊工程相關基礎知識之吸收與了解的能力(Capability to grasp foundational knowledge in computer science.)
1.2.具有運用資訊工程理論及應用知識,分析與解決相關問題的能力(Capability to use computer science theory and application knowledge to analyze and solve related problems.)
1.3.在資訊工程的許多領域中,具有至少某一項專業能力,例如:硬體、軟體、多媒體、系統、網路、理論等(Professional in at least one area, including hardware, software, multimedia, system, networking, and theory.)
2.1.具有資訊工程實作技術及使用計算機輔助工具的能力(Capability to perform computer science implementations and use computer-aided tools.)
2.2.具有設計資訊系統、元件或製程的能力(Capability to design computer systems, components, or processes.)
2.3.具有科技寫作與簡報的能力。(Capability to write and present technical materials.)
3.1.具有除了已有的應用領域之外,亦可以將自己的專業知識應用於新的領域或跨多重領域,進行研發或創新的能力。(Capability to apply one’s professional knowledge to a new application domain or across multiple different application domains.)
3.2.具有領導或參與一個團隊完成一項專案任務的能力並且具有溝通、協調與團隊合作的能力。(Capability to lead or participate in group projects, with effective communication, coordination, and teamwork.)
3.3.具有因應資訊科技快速變遷之能力,培養自我持續學習之能力。(Capability to adapt to rapidly changing computer science technology and to develop self-learning capabilities.)
4.1.具有社會責任、人文素養及奉獻精神。(The awareness of social responsibilities, humanity, and contribution.)
4.2.具有工程倫理、宏觀能力、國際觀及前瞻視野。(The awareness of engineering ethics, broad capabilities, and global and contemporary vision.)

請尊重智慧財產權,不得非法影印教師指定之教科書籍

教學要點概述:
1. 教材編選(可複選):自編簡報(ppt)教科書作者提供
2. 教學方法(可複選):講述板書講述
3. 評量工具(可複選):上課點名 10.00%, 隨堂測驗10.00%, 隨堂作業20.00%, 程式實作10.00%, 實習報告0.00%,
                       專案報告10.00%, 期中考20.00%, 期末考20.00%, 期末報告0%, 其他0%,
4. 教學資源:課程網站 教材電子檔供下載 實習網站
5. 教學相關配合事項:

課程目標與教育核心能力相關性        
請勾選:1.11.21.32.12.22.33.13.23.34.14.2
1.1 具有資訊工程相關基礎知識之吸收與了解的能力(Capability to grasp foundational knowledge in computer science.)
為何有關:
線性代數、機率論等是主要的基礎
達成指標:
線性代數、機率論的新表現方式
評量工具(可複選):
作業、測驗、程式設計
1.2 具有運用資訊工程理論及應用知識,分析與解決相關問題的能力(Capability to use computer science theory and application knowledge to analyze and solve related problems.)
為何有關:
必須運作資工的理論及技術
達成指標:
量子計算、量子程式設計
評量工具(可複選):
作業、測驗、程式設計
1.3 在資訊工程的許多領域中,具有至少某一項專業能力,例如:硬體、軟體、多媒體、系統、網路、理論等(Professional in at least one area, including hardware, software, multimedia, system, networking, and theory.)
為何有關:
量子閘、量子遙測等
達成指標:
整合量子閘於量子電路的能力
評量工具(可複選):
量子程式設計,IBM Composer、Google Colab之程式執行能力
2.1 具有資訊工程實作技術及使用計算機輔助工具的能力(Capability to perform computer science implementations and use computer-aided tools.)
為何有關:
使用量子程式之模擬工具
達成指標:
具有執行IBM Composer、Google Colab之能力
評量工具(可複選):
程式驗收
3.3 具有因應資訊科技快速變遷之能力,培養自我持續學習之能力。(Capability to adapt to rapidly changing computer science technology and to develop self-learning capabilities.)
為何有關:
量子計算的數理、新設計技術等持續在發展中
達成指標:
具有延伸閱讀之能力
評量工具(可複選):
對指定教材自主學習之能力