Go人工智慧大數據平行運算
Artificial intelligent big data parallel computation by Go
| 節 | 週三 |
|---|---|
5 13:20–14:10 | Go人工智慧大數據平行運算 BI304 2 節連堂 |
6 14:20–15:10 | |
8 16:30–17:20 | Go人工智慧大數據平行運算 BI304 2 節連堂 |
9 17:30–18:20 |
* 根據陽明交大上課時間表所列
1. 講授主題:編譯式平行運算程式設計教學、大數據分析系統實作、量子演算法開發。 Go是Google開發的編譯式平行運算程式語言,效能優異。平行運算為人工智慧與大數據分析之重要底層技術。本課程前半以Go語言整合此三大主題,並重理論與實作,後半則引入量子運算之演算法開發。量子運算是平行運算的應用領域,更是即將推動人類科技文明爆炸性發展的關鍵科技。 2. 課程目標:以平行運算為技術根基,為臺灣的量子運算科技發展培育高階人才。 由於行動式網路通訊設備普及與各科技領域之硬體技術快速成長,造就各行各業資訊量如洪流暴漲,推動人類社會進入大數據時代。為因應遠大於人力得以處理的海量資訊,人工智慧技術蓬勃發展,一時引領潮流,甚至反饋成為大數據時代的強力推手,帶動各領域前行。大數據分析及現代化人工智慧演算法之有效運作,皆仰賴平行運算技術。而平行運算技術的極致發展,是量子運算。若平行量子運算得以實現,科技界領導者們樂觀預見,人類文明之科技大爆炸「奇點」將至。 值此大數據時代,對已學會中階程式語言的各科系同學們而言,若能進階熟習平行運算程式設計,等於掌握了數位科技關鍵技術,對未來專業能力進展與求職,相信都會有很大幫助。 「Go人工智慧大數據平行運算」課程憑藉 1)積極發展量子運算系統之國際一流科技企業所開發的新世代程式語言、2)仿生型人工智慧演算法、3)大數據分析實作、4)平行運算系統建置、5)熱門量子演算法實作,盼能培育學生們成為各行各業之數位研發領導人才,加速推動人類文明進展。
*** 請注意:選課期間為師生互選,老師有權決定接受哪些學生修課。選課系統中的名單及亂數結果僅供預排參考,老師開學時將統一甄選。第一堂未到課者不具修課資格。 擋修:須先修習「程式設計 Go Go Go」。
*** 請注意:課程進展方式將因當屆學生狀況與疫情機動調整 課堂講授為主、輔以約四次學生答題或簡報競賽活動。每堂課都有作業,期中評量為上機考,期末評量為專案成果檢核,外加書面報告一份。 於博愛校區賢齊館授課,每次四鐘點。第一段為兩小時當週進度講授。第二段含一小時程式設計實例講解及一小時上機實作。兩段中間有一小時晚餐休息時間。第一段授課,學生們的螢幕主要處於廣播鎖定狀態,每一小節解鎖開放練習。程式設計實例講解有兩部份:當週進度之程式設計示範及上週作業擇要講解。剩餘一小時實作活動,視進度安排,可能是隨堂練習、小考、小組討論或答題競賽。 所有課程由開課老師講授。助教協助作業與考試之評分、課間輔導學生們跟上進度、維護課堂秩序、處理課程瑣雜事務。
*** 請注意:評量方式在新學期初選課前可能會有更動 1. 20% 報告 書面報告一份或口頭報告。 2. 25% 期中上機考 平行運算程式設計上機考。 3. 25% 期末專案評量 期末專案成果檢核。 4. 20% 隨堂測驗、作業 每堂課都會有作業,隨堂測驗視教學進展配合課堂活動舉行。 10% 學期綜合表現 如回答問題、發問、討論、協助同學等。
- 平行運算程式設計能力
- 演算法開發能力
- 大數據分析能力
- 量子演算法實作
| 週次 | 主題 |
|---|---|
| 第 1 週 | Introduction to this Course and Golang Parallel Computation 課程、Go語言平行運算、量子運算簡介 教學理念與課程目標、課程規劃與評分方式、Go程式語言與平行運算、量子運算簡介。 |
| 第 2 週 | Go Programming: from Basic to Advanced Go程式設計基礎至進階 教學伺服器帳號設置、跨平台檔案共享方法、變數傳值與傳址、物件導向程式設計物件導向程式設計、Go語言之類指標運算。 |
| 第 3 週 | Distributed Computation, Principles and Implementation 分散運算原理與簡易實作 分散運算與平行運算之定義、分類、各類別之概念。單機平行運算實作。 |
| 第 4 週 | AT&T Assembly Programming, Part I 組合語言程式設計 馮·諾伊曼計算機架構與現代實作原理、AT&T組合語言程式設計基礎。 |
| 第 5 週 | AT&T Assembly Programming, Part II 組合語言程式設計 AT&T組合語言程式設計。 |
| 第 6 週 | Go Assembly Programming, Part I Golang 組合語言程式設計 Plan 9 組合語言簡介、Golang 組合語言程式設計基礎。 |
| 第 7 週 | Go Assembly Programming, Part II Golang 組合語言程式設計 Golang 組合語言程式設計進階。 |
| 第 8 週 | Mid-term Exam期中上機考。 |
| 第 9 週 | Artificial Intelligence & Artificial Neural Networks 人工智慧演算法:類神經網路 類神經網路演算法理論與實作。 |
| 第 10 週 | Artificial Intelligence & Decision Trees 人工智慧演算法:決策樹 決策樹演算法理論與實作。 |
| 第 11 週 | Big Data Analyses: AlphaFold2 人工智慧大數據分析實例:蛋白質結構預測 以結構生物資訊之大數據平行運算為例,帶領學生探索各人感興趣之主題。 |
| 第 12 週 | Go + GPU Programming Golang GPU 平行運算 以CGO連結C語言之CUDA開發環境、以CGO連結OpenCL開發環境、GPU平行運算。 |
| 第 13 週 | Quantum computing 量子運算 量子運算簡介、數學原理複習、以CGO連結量子運算模擬器。 |
| 第 14 週 | Quantum computing algorithms: Deutsch, Shor, Grover 量子演算法 Deutsch基礎實作與應用、Shor基礎實作與衍生演算法、Grover基礎實作與生物資料搜索。 |
| 第 15 週 | Quantum computing algorithms: Neural Networks 量子神經網路 量子神經網路QNN實作與衍生。 |
| 第 16 週 | Big Data Analyses, I 大數據分析實作 帶領學生們實作各人(或以小組為單位)感興趣之主題。 |
| 第 17 週 | Big Data Analyses, II 大數據分析實作 帶領學生們實作各人(或以小組為單位)感興趣之主題。 |
| 第 18 週 | Final Evaluation期末評量。 |
課程投影片、隨堂講義、及練習題庫,由開課教師羅惟正設計。 自製講義或課本之參考書目: 1. Google (2020) Golang, https://golang.org/ (Golang-compiler Go官方教材) 2. Donovan A, Kernighan B (2015) The Go Programming Language. Addison-Wesley (ISBN:978-0134190440) 3. Lo WC, Lee CY, Lee CC, Lyu PC* (2009) iSARST: an integrated SARST web server for rapid protein structural similarity searches. Nucleic Acids Res 37: W545-551. (分散運算參考技術) 4. 羅惟正*、陳宥宏、鍾舜宇 (2019)。分散式運算方法與管理系統。中華民國專利:發明第I661312號。 (分散運算參考技術) 5. 羅惟正*、陳宥宏、鍾舜宇 (2019)。以機器學習為基礎之最佳化預測模型的建立與預測結果的取得系統及方法。中華民國專利:發明第I676940號。 (人工智慧參考技術) 註: *代表通訊作者 Lo WC 即開課教師羅惟正
- 地點
- 博愛校區賢齊館401室 或光復校區科學三館226室
- 時間
- 週二、週四 09:00-11:30 AM (須預約) 週四 13:30-15:00 PM (須預約)
- 聯絡方式
- 分機:56922, 56923 WadeLo@nycu.edu.tw