Go人工智慧大數據平行運算
Artificial intelligent big data parallel computation by Go
| 節 | 週三 |
|---|---|
5 13:20–14:10 | Go人工智慧大數據平行運算 BI305 2 節連堂 |
6 14:20–15:10 | |
8 16:30–17:20 | Go人工智慧大數據平行運算 BI305 2 節連堂 |
9 17:30–18:20 |
* 根據陽明交大上課時間表所列
1. 講授主題:編譯式平行運算程式設計教學、大數據分析系統實作。 Go是Google開發的編譯式平行運算程式語言,效能優異。平行運算為人工智慧與大數據分析之重要底層技術,本課程以Go語言整合此三大主題,並重理論與實作。 2. 課程目標:橋接學生們的程式設計能力與數位新時代之需求、轉型生資所部分高段程式設計課程。 近年各系大學部因校方推動程式語言必修課,學生們多數熟悉直譯式語言如 Python, PHP, JavaScript 等,特性易懂易學、適合初學者。程度較好的同學,已有不少進階修習中階程式語言如 Go, C, 或 C++。學生們累積的良好潛能,亟待符合時代需求的重點主題繼續深造、充分發揮。 由於行動式網路通訊設備普及與各科技領域之硬體技術快速成長,造就各行各業資訊量如洪流暴漲,推動人類社會進入大數據時代。為因應遠大於人力得以處理的海量資訊,人工智慧技術蓬勃發展,一時引領潮流,甚至反饋成為大數據時代的強力推手,帶動各領域前行。大數據分析及現代化人工智慧演算法之有效運作,皆仰賴平行運算技術。而平行運算技術的極致發展,是量子運算。若平行量子運算得以實現,科技界領導者們樂觀預見,人類文明之科技大爆炸「奇點」將至。 值此大數據時代,對已學會中階程式語言的同學們而言,若能進階熟習平行運算程式設計,等於掌握了數位科技關鍵技術,對未來專業能力進展與求職,相信都會有很大幫助。 生物科技學院研究所如「分散運算式網頁程式設計」及「生物資料庫理論與實作」都是仰賴大數據分析的高階課程。若不論生物學,前者的關鍵技術是平行運算與網頁伺服器設計,後者為大數據分析和資料庫建置。近年由於網站及資料庫模板軟體快速發展,技術門檻大幅降低,網頁與資料庫設計成為資訊領域之普及化能力,授課老師已相繼停開該兩課程。平行運算和大數據分析程式設計,則因難度高且無常法,加上當前大宗應用為人工智慧演算,符合時代需要。「Go人工智慧大數據平行運算」課程憑藉 1)積極發展量子運算系統之國際一流科技企業所開發的新世代程式語言、2)仿生型人工智慧演算法、3)大數據分析實作、4)平行運算系統建置,盼能有效整合上述兩大課程精華與最新科技,培育學生們成為各行各業之數位研發領導人才,加速推動人類文明進展。
*** 請注意:選課期間為師生互選,老師有權決定接受哪些學生修課。選課系統中的名單及亂數結果僅供預排參考,老師開學時將統一甄選。第一堂未到課者不具修課資格。 *** 校方日前宣布 2/16 全校停課,本課程第一堂因之延期至 2/23 (教室在博愛校區,以選課系統上的資訊為準)。欲修課者當天務必到場了解課程規劃並參與甄選,甄選通過者始具修課資格。 擋修:須先修習「程式設計 Go Go Go」。 上述課程開設未滿一年,故本年度尚未修過者,可以同級課程或各科系中高階程式課程 (如 Go, C, C++, Pascal) 替代。請提供相關成績單及說明向老師提出修課申請 (WadeLo@nctu.edu.tw)。
教學方法: 課堂講授為主、輔以約四次學生答題或簡報競賽活動。每堂課都有作業,期中評量為上機考,期末評量為專案成果檢核,外加書面報告一份。作業及考試由老師與助教們評分,報告以學生互評為主、老師與助教評分為輔。 於資訊技術服務中心教室授課,每次四鐘點。第一段為兩小時當週進度講授。第二段含一小時程式設計實例講解及一小時上機實作。兩段中間有一小時晚餐休息時間。第一段授課,學生們的螢幕主要處於廣播鎖定狀態,每一小節解鎖開放練習。程式設計實例講解有兩部份:當週進度之程式設計示範及上週作業擇要講解。剩餘一小時實作活動,視進度安排,可能是隨堂練習、小考、小組討論或答題競賽。 所有課程由開課老師講授。助教協助作業與考試之評分、課間輔導學生們跟上進度、維護課堂秩序、處理課程瑣雜事務。
*** 請注意:評量方式在新學期初選課前可能會有更動 1. 20% 報告 書面報告一份或口頭報告。 2. 25% 期中上機考 平行運算程式設計上機考。 3. 25% 期末專案評量 期末專案成果檢核。 4. 20% 隨堂測驗、作業 每堂課都會有作業,隨堂測驗視教學進展配合課堂活動舉行。 10% 學期綜合表現 如回答問題、發問、討論、協助同學等。
- 平行運算程式設計能力
- 演算法開發能力
- 大數據分析能力
- 一般程式設計能力
| 週次 | 主題 |
|---|---|
| 第 1 週 | Introduction to this Course and Golang Parallel Computation 課程、Go語言平行運算簡介 教學理念與課程目標、課程規劃與評分方式、Go程式語言與平行運算簡介。 |
| 第 2 週 | Setting up the Software Development Environment 配置系統開發環境 教學伺服器帳號設置、跨平台檔案共享方法、程式編輯器安裝與設定、Go軟體開發環境建置。 |
| 第 3 週 | Go Programming: from Basic to Advanced Go程式設計基礎至進階 程式設計學習關鍵技能、Go程式設計、變數傳值與傳址。 |
| 第 4 週 | Object-oriented Go Programming Go物件導向程式設計 物件導向程式設計、Go語言之類指標運算。 |
| 第 5 週 | Distributed Computation, Principles and Implementation 分散運算原理與簡易實作 分散運算之定義、分類、各類別之概念。單機分散運算實作。 |
| 第 6 週 | Go Parallel Computation Go平行運算 單機Go routines平行運算程式設計。 |
| 第 7 週 | Advanced Parallel Computation 進階平行運算 多機平行運算、跨平台平行運算。 |
| 第 8 週 | Mid-term Exam 期中上機考 |
| 第 9 週 | Artificial Intelligence and Big Data Analysis 人工智慧與大數據分析 人工智慧概論、大數據分析示例。AlphaFold2蛋白質結構預測演算法。 |
| 第 10 週 | Artificial Intelligence & Support Vector Machines 人工智慧演算法:支持向量機 支持向量機演算法理論與實作。 |
| 第 11 週 | Artificial Intelligence & Artificial Neural Networks 人工智慧演算法:類神經網路 類神經網路演算法理論與實作。 |
| 第 12 週 | Artificial Intelligence & Decision Trees 人工智慧演算法:決策樹 決策樹演算法理論與實作。 |
| 第 13 週 | Workshop: Big Data Analyses, I. Structural Bioinformatics 大數據分析實作:結構生物資訊 以結構生物資訊之大數據平行運算為例,帶領學生探索各人感興趣之主題。 |
| 第 14 週 | Workshop: Big Data Analyses, II 大數據分析實作 帶領學生們實作各人(或以小組為單位)感興趣之主題。 |
| 第 15 週 | Workshop: Big Data Analyses, III 大數據分析實作 帶領學生們實作各人(或以小組為單位)感興趣之主題。 |
| 第 16 週 | Final Evaluation 期末評量 |
| 第 17 週 | Additions and Discussions 按校級指示,視學生需要彈性授課 |
| 第 18 週 | Additions and Discussions 按校級指示,視學生需要彈性授課 |
課程投影片、隨堂講義、及練習題庫,由開課教師羅惟正設計。 自製講義或課本之參考書目: 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室 (請先預約)
- 時間
- 每週二、四 10AM - 17PM (請先預約)
- 聯絡方式
- 校內分機 56922, 56923