校際選修

115-1 選課時程

進行中

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

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

Distributed Computation and its Practice in Web Servers

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

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

概述

課程性質:編譯式中高階程式語言之平行運算網路程式設計教學與實作 本課程以C語言為核心,建立學生的高效能運算與系統開發能力,並銜接量子運算與分散式網路通訊的技術脈動。 講授主題:C平行運算與網頁伺服器設計 C是歷久彌新的中階程式語言,許多現代語言如 C++、PHP、Python 與 Golang 都是以它所開發。然而,C語言在跨平台與學習曲線上具備不小挑戰。本課程結合新世代Clang編譯器與教師自行開發的函式庫進行教學,提升跨平台實作效率並降低入門門檻。課程進一步結合平行運算與網路通訊兩大主題,帶領學生以C語言開發多核心平行處理程式,並實作具備多連線應答能力的網頁伺服器。 核心目標:連結程式設計能力與平行運算趨勢 隨著行動裝置普及與科技演進,全球資訊量呈爆炸性成長,推動社會進入大數據時代並促進人工智慧發展。大數據分析與人工智慧皆仰賴高效能平行運算,同時,現代科研及產業應用幾乎都以網路通訊為媒介。本課程期望使學生同時掌握這兩大能力,在數位轉型和科技創新浪潮中,具備關鍵競爭力。 前瞻展望:從GPU到量子平行運算 平行運算的極致技術形態是量子運算。量子位元可透過疊加與糾纏態同時攜帶多重資訊,使量子運算在合適主題上能展現超越傳統運算百萬倍以上的速度,商機凌駕當前AI。各資訊科技大國及 Google, IBM, Microsoft, Intel 等頂尖企業均投入量子電腦研發,可見其戰略地位。 在量子電腦成熟前,我們預期量子晶片將率先以類似GPU的加速器形式問世。而目前主流GPU計算語言即為C語言。具備C語言平行運算實作能力的學生,將最有潛力銜接未來量子運算的實務應用。 課程願景 量子運算正逐步走出實驗室的幽暗,迎向實用化的曙光,這場技術革命將深刻改寫人類科技文明與商業型態。我們相信,學生若及早投入,不僅能強化職涯競爭力與收入,更將在未來的科技與產業版圖中掌握主動權。本課程期望啟發學生以長遠視野看待自身於新時代中的角色,以專業知能積極貢獻社會、協助臺灣提升國際影響力,引領人們穿越科技奇異點,成為推動下一場文明飛躍的創新領導者。

先修科目

擋修:「程式語言及演習」、「程式設計Go Go Go」。 須先修習上述兩課程之一且及格方得選修本課程。

教學方式

課堂講授為主、輔以約六次學生答題活動。於賢齊館電腦教室授課,每次三鐘點,含約一個半小時當週進度講授,一小時程式設計實例講解、20分鐘課堂活動。程式設計實例講解有兩部份:當週進度之程式設計示範及上週作業擇要講解。課堂活動,視進度安排,可能是隨堂練習、小考、小組討論或答題競賽。 所有課程由開課老師講授。助教協助作業與考試之評分、課間輔導學生們跟上進度、維護課堂秩序、處理課程瑣雜事務。

評分方式

40% 作業、隨堂測驗。每堂課都有作業,隨堂測驗視教學進展配合課堂活動舉行。 25% 期中考。程式設計上機考。 25% 期末考。程式設計上機考。 10% 學期綜合表現。課堂表現如回答問題、發問、討論、協助同學等。

課程大綱
  • C程式設計
  • 平行運算演算法開發
  • 網頁設計與伺服器硬體建置等能力
  • 網路通訊程式設計
週次計畫
週次主題
第 1 週Introduction to this Course =>課程、C語言、平行運算與網路通訊程式設計、量子運算簡介 授課重點:教學理念與課程目標、課程規劃與評分方式、C程式語言與平行運算、量子運算簡介。閱讀材料或安排事項:宣布期中報告交件、期中期末評量日期,請學生們確認可以配合。
第 2 週Setting up the Development Environment =>配置系統開發環境 授課重點: 教學伺服器帳號設置、Linux作業系統基本操作、Linux/Windows檔案共享方法、程式設計專用純文字編輯器使用教學、寫作第一支程式。
第 3 週Strings and Variables =>字串與變數 授課重點: 程式設計學習關鍵技巧、變數宣告及使用、常用字串與數值處理函式。
第 4 週Data Types and Type Conversions =>變數與資料型態及資料型態轉換 授課重點: 數學運算、整數及小數運算、資料與變數型態觀念、資料型態轉換方法。
第 5 週(中秋連假)
第 6 週Reading and Writing Files =>檔案讀寫及純文字處理 授課重點:檔案類型、讀取純文字檔案內容、將資料寫入檔案。進階純文字處理。
第 7 週Arrays and Loops =>靜態陣列與迴圈 授課重點: 大數據分析基本概念、集合型變數概論、陣列宣告及使用。
第 8 週Dynamic Arrays and Memory Managements =>動態陣列與記憶體管理 授課重點: 變數傳值與傳址、動態記憶體配置、記憶體回收。
第 9 週Mid-term Exam =>期中上機考
第 10 週Pointers and Their Operations =>指標與指標運算 授課重點: 指標型態、陣列記憶體配置、循址概念、指標運算。
第 11 週Conditional Tests and Logic Operations =>條件判斷與邏輯運算 授課重點: 條件判斷、邏輯運算、條件式迴圈。
第 12 週User-defined Functions =>自訂函式寫作 授課重點: 封裝觀念、變數活動域觀念、自訂函式寫作、自定函式檢驗方法。
第 13 週Dictionary-like Programming Skills =>字典式配對表程式設計技巧 授課重點: 大數據計算概念、配對表、配對表迴圈。
第 14 週OS/Shell Utilities and Interactive Programming =>作業系統工具集與互動式程式設計 授課重點: 作業系統管理工具、外部程式呼叫、取得使用者輸入之資料。
第 15 週Parallel Computation & Introduction to Quantum Computing =>平行運算 & 量子運算簡介 授課重點: 分散運算、CPU平行運算、GPU平行運算、CUDA程式設計、量子運算概論。
第 16 週Final Exam =>期末上機考
第 17 週Additions: Web Server Design by C + PHP + HTML =>彈性授課:C + PHP + HTML 網頁伺服器設計 授課重點: 網頁伺服器軟硬體建置、HTML網頁設計、PHP程式設計概述、伺服器端之C程式執行,C與PHP之輸出整合。
教科書

課程投影片、隨堂講義、及練習題庫,由開課教師羅惟正設計。 自製講義或課本之參考書目: 1. K. N. King (2008) C Programming: A Modern Approach, 2nd Edition. W.W.Norton (ISBN: 0393979504) 2. Google (2020) Golang, https://golang.org/ (Golang-compiler Go官方教材) 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室
時間
每週一10:00 – 16:00 (請先預約) 每週五10:00 – 16:00 (請先預約)
聯絡方式
分機:56922, 56923 WadeLo@nycu.edu.tw