進行中 校際選修

115-1 選課時程

進行中

  • 初選第一階段 6/15 – 6/18
  • 初選第二階段 6/22 – 6/25
  • 校際選修 8/24 – 9/18
  • 初選第三階段 8/31 – 9/3
  • 開學後加退選 9/7 – 9/21
  • 逾期加退選 9/21 – 9/24
選課資源

分散運算式網頁伺服器設計

Distributed Computation and its Practice in Web Servers

學期
111-1
學分
3 學分
當期課號
430122
永久課號
BTBI30009
開課單位
生物資訊及系統生物研究所
授課教師
羅惟正
校區
博愛
類別
選修
上課時間表
週六
5
13:20–14:10
分散運算式網頁伺服器設計
BI304
3 節連堂
6
14:20–15:10
7
15:30–16:20

* 根據陽明交大上課時間表所列

概述

課程性質:中階程式語言之平行運算網路程式設計教學與系統實作 講授主題:Golang平行運算網路程式設計 Golang是Google開發的平行運算(分散運算之最複雜型式)程式語言,效能優異。網路通訊為大數據時代主要的資訊傳遞手段,而網頁伺服器為多數計算生物學領域呈現演算法開發成果之主要媒介。本課程並重理論與實作,以Golang整合平行運算與網路通訊知能,且講授網頁伺服器之軟硬體建置。 課程目標:橋接學生們的程式設計能力與數位新時代之需求 由於行動式網路通訊設備普及與各科技領域之硬體技術快速成長,造就各行各業資訊量如洪流暴漲,推動人類社會進入了大數據時代。為因應遠大於人力得以處理的海量資訊,人工智慧技術蓬勃發展。大數據分析及現代化人工智慧演算法之有效運作,皆仰賴平行運算技術。而當代各類科研成果之展現與產業活動,幾乎都以網路通訊及網頁伺服器為媒介。學子們若能深化平行運算及網路通訊兩大能力,將可在此數位科技新時代掌握更多發展契機。 「分散運算式網頁伺服器設計」早年教授高階程式語言之分散運算及網頁伺服器開發。高階語言開發進程快,但運作效率低,為了更符合大數據時代之高速運算需求,本課程今年度轉型採用編譯式中階程式語言。生科院課程如「程式設計 Go Go Go」及「Go人工智慧大數據平行運算」已講授Golang平行運算程式語言及其於大數據分析之應用。本年度「分散運算式網頁伺服器設計」憑藉上述兩門課為學生們建立的基礎,將帶領他們繼續深化1)平行運算演算法開發、2)人工智慧應用、3)網路通訊程式設計、4)網頁設計與伺服器硬體建置等能力,盼培育學生們成為各行各業之數位研發領導人才,加速推動人類文明進展。

先修科目

擋修:「程式設計Go Go Go」、「Go人工智慧大數據平行運算」 須先修習上述兩課程之一且及格方得選修本課程

教學方式

課堂講授為主、輔以約四次學生答題或簡報競賽活動。每堂課都有作業,期中評量為上機考,期末評量為口頭報告,外加書面報告一份。作業以及與考試由老師與助教們評分,報告以學生互評為主、老師與助教評分為輔。 於博愛校區或線上授課,每次三鐘點。第一段為兩小時當週進度講授。第二段含一小時程式設計實例講解及一小時上機實作。第一段授課,學生們的螢幕主要處於廣播鎖定狀態,每一小節解鎖開放練習。程式設計實例講解有兩部份:當週進度之程式設計示範及上週作業擇要講解。剩餘一小時實作活動,視進度安排,可能是隨堂練習、小考、小組討論或答題競賽。 所有課程由開課老師講授。助教協助作業與考試之評分、課間輔導學生們跟上進度、維護課堂秩序、處理課程瑣雜事務。

評分方式

20% 作業、隨堂測驗。每堂課都會有作業,隨堂測驗視教學進展配合課堂活動舉行。 25% 期中考。平行運算程式設計上機考。 25% 期末評量。期末專案報告。 20% 報告。書面報告一份 10% 學期綜合表現。課堂表現如回答問題、發問、討論、協助同學等。

課程大綱
  • 平行運算演算法開發
  • 人工智慧應用
  • 網路通訊程式設計
  • 網頁設計與伺服器硬體建置等能力
週次計畫
週次主題
第 1 週Introduction to this Course (課程、Go語言平行運算與網路通訊程式設計簡介) 授課重點: 教學理念與課程目標、課程規劃與評分方式、Go程式語言與平行運算簡介。 閱讀材料或安排事項: 宣布期中報告交件、期中期末評量日期,請學生們確認可以配合。
第 2 週Setting up the Software Development Environment (配置系統開發環境)
第 3 週Go Programming: from Basic to Advanced (基礎至進階Go程式設計)
第 4 週Object-oriented Go Programming (Go物件導向程式設計)
第 5 週Distributed Computation, Principles and Implementation (分散運算原理與簡易實作)
第 6 週Advanced Distributed and Parallel Computation (進階分散及平行運算)
第 7 週Mid-term Exam 期中上機考
第 8 週Network Communication Programming (網路通訊程式設計)
第 9 週HTML Programming (網頁設計)
第 10 週Web Servers: Software and Programming (網路伺服器軟體與程式設計)
第 11 週Web Servers: Hardware and Virtual Machines (網路伺服器硬體與虛擬機器)
第 12 週Workshop: Structural Bioinformatics (結構生物資訊實作)
第 13 週Workshop: Web-based Big Data Analyses, I (期末專案實作)
第 14 週Workshop: Web-based Big Data Analyses, II (期末專案實作)
第 15 週Workshop: Web-based 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 即開課教師羅惟正

Office Hours
地點
週一:博愛校區賢齊館401室 週五:光復校區科學三館226室
時間
每週一 10AM – 16PM 每週五 10AM – 12PM
聯絡方式
校內分機 56922, 56923