中國文化大學教師教學大綱

課程資料

H241 基礎雲端運算程式設計 開課學期:1082
開課班級: 資工系 3A
授課教師:洪敏雄 選修 學期課 學分數:3.0 大義 0901 星期二 15:10-18:00
H241 FUNDAMENTAL CLOUD COMPUTING PROGRAMMING 2020 Spring
Department of Computer Science and Information Engineering 3A
Professor:HUNG, MIN-HSIUNG Elective Semester Credits: 3.0 Da Yi 0901 Tuesday 15:10-18:00

發展願景

傳揚中華文化,促進跨領域創新,與時精進,邁向國際
It is our objective to promote Chinese culture, enhance cross-disciplinary innovation, seek constant advancement, and embrace global community.

辦學宗旨

秉承質樸堅毅校訓,承東西之道統,集中外之精華,研究高深學術, 培養專業人才,服務社會,致力中華文化之發揚, 促進國家發展.
Based on our motto—“Temperament, Simplicity, Strength, and Tenacity,” “inheriting the merits of the East and the West” and “absorbing the essence of Chinese and foreign cultures,” we make it our mission to pursue advanced research, develop professional talents, serve the society, promote Chinese culture and support national development.

校教育目標
校基本素養
校核心能力

院教育目標

研究創新、科技興國
發展產業、學以致用
培育優秀青年工程師

院核心能力

科學理論與工程知識
系統設計與資通科技
實驗分析與實踐技能
創新整合與終身學習
工程倫理與社會責任
計畫管理與團隊合作

系教育目標

奠定資訊工程基礎專業知識
培養資訊工程實務應用技能
訓練團隊合作與終身學習能力

系核心能力

應用數學、資訊科學與工程知識解決問題之能力
撰寫程式與設計系統以解決問題之能力
資訊系統規劃、設計、實作、測試、整合與成果展示之能力
團隊合作與有效溝通以解決問題之能力
具備人文與科學並重之素養,以及遵守專業倫理與尊重智慧財產權之觀念
關注科技發展與時事資訊,並理解科技對環境、社會、國家及全球之影響
主動積極與持續學習之習慣與能力

課程目標

預期, 同學們在修完本課程後,將能:(1) 了解雲端運算技術的歷史淵源和來龍去脈, 以及技術和產業現況與未來發展方向, (2) 具備C#語言的程式設計能力,(3)具備雲端運算應用的程式設計能力。

課程能力

應用數學、資訊科學與工程知識解決問題之能力 (比重 15%)
撰寫程式與設計系統以解決問題之能力 (比重 50%)
資訊系統規劃、設計、實作、測試、整合與成果展示之能力 (比重 25%)
關注科技發展與時事資訊,並理解科技對環境、社會、國家及全球之影響 (比重 10%)

課程概述

近年來,雲端運算(Cloud Computing)已成為網際網路新的運用方式與趨勢,由於雲端運算未來將會大幅度改變資訊科技產業的風貌,目前全球各大科技廠商包括Amazon、Google、Microsoft、SUN、Cisco、IBM、HP、Dell、Yahoo等皆積極佈局。著眼於雲端運算未來的重要性,本課程將教授同學們雲端運算基礎的程式設計課題與技巧。課程將分成兩大部分, 說明如下: 第1部分: C#程式語言設計:C#是專為微軟.NET Framework打造的程式語言,是學習微軟開發工具及雲端運算平台的重要語言。本課程首先將教授C#之各種程式技巧,以奠定同學們的程式設計基礎,孰悉微軟的開發工具。包括介紹關鍵必要的語法, 然後將焦點集中在.NET Framework上, 讓學生能夠做出具有視窗介面的程式, 接著再搭配.NET Framework 中所提供的多樣功能, 能夠立即應用, 開發像是資料庫、網路連線等應用程式。第2部分: Windows Azure公有雲平台程式設計: Windows Azure Platform是微軟最新的雲端運算開發平台,在2012年6月已在台灣正式推出。本課程將先講授雲端運算概論,以及技術和產業現況與未來發展方向。接著, 將以Windows Azure做為學習雲端運算程式設計的平台,教授同學們Windows Azure Platform的關鍵技術,以及在其上開發應用程式的方法,包括:Windows Azure的核心基礎建設、平台能力、儲存服務、應用程式間通訊、SQL Azure關聯式資料庫服務與AppFabric應用程式伺服器等。

授課內容

雲端運算(Cloud Computing)已成為網際網路新的運用方式與趨勢,其概念為將運算資源與資料從本地端電腦移轉到大型的資料中心,並透過虛擬化軟體技術與網際網路提供多樣化的服務,為個人和企業的使用者提供可隨需(On-demand)存取的運算與儲存資源。因此,一般的使用者,即使自己本地端的運算資源有限(如使用行動上網裝置),仍可以透過網際網路來取得資料或進行複雜的運算。而企業藉由使用雲端運算服務,將可以節省建置資訊基礎建設架構(IT Infrastructure)的昂貴成本;透過用多少付多少(Pay by Use)的計費模式,就能取得企業級的運算與儲存能力,並且可以動態地調升或降低(Scale Up or Down)所需的運算與儲存資源,使得系統維運成本降至最低,進而有效增加企業的商業利益。此外,本課程也將介紹新一代雲端運算技術:容器虛擬化技術,與傳統虛擬機相比,容器技術具備更快(秒即)的開機時間、占用硬碟空間更小(MB為單位)、一台主機可同時執行高達超過千個容器、不消耗額外的系統資源,程式執行效能接近原生(Native)程式、更快速的軟體交付和部署等特性。

著眼於雲端運算的重要性,本課程將教授同學們雲端運算基礎的程式設計課題與技巧。課程內容包括6大部分:
(1) 雲端運算介紹與雲端程式部署:將介紹雲端運算之特性,並教授如何將網頁及網路服務程式部署到雲端平台,以及新一代雲端運算技術容器Docker Container。
(2) C#程式設計:C#是專為微軟打造的程式語言,此部分將教授C#之各種程式技巧,以奠定同學們的程式設計基礎,並孰悉微軟的開發工具Visual Studio.NET。
(3) ASP.NET MVC網頁程式設計:教授基於關注點分離MVC設計模式的網頁程式設計,首先介紹MVC觀念,然後依序教授資料庫、Model、Controller及View的程式設計,最後教授數個網站實作範例,奠定同學們開發ASP.NET MVC網頁之基礎。
(4) ASP.NET Web API2-RESTful網路服務程式設計:REST (Representational State Transfer)架構樣式為目前實現網路服務的主流技術,此部分將教授如何利用ASP.NET Web API2來設計網路服務,並講解一個基於ASP.NET Web API 2技術之RESTful網路服務應用範例。
(5) Nodejs程式設計。
(6) 設計容器化(Containerized)網路服務與網頁。


預期, 同學們在修完本課程後,將能了解雲端運算的特性,並具備開發雲端網頁程式及雲端網路服務等之程式設計能力。

This course will teach the fundamental skills of cloud computing programming. The course covers four parts:(1) Introduction to Cloud Computing and Deployment of Cloud Web Site and Cloud Web Service, (2) C# Programming, (3) Web Site Design using ASP.NET MVC, and (4) RESTful Web Service Design using ASP.NET Web API 2. It is expected that the students taking this course will learn the characteristics of cloud computing and programming skills of cloud web sites and cloud web services after completing this course.

授課方式

1. 以投影片教學。
2. 實際上機操作。

評量方式

課程能力
/評量方式
應用數學、資訊科學與工程知識解決問題之能力 (比重 20%)撰寫程式與設計系統以解決問題之能力 (比重 40%)資訊系統規劃、設計、實作、測試、整合與成果展示之能力 (比重 20%)團隊合作與有效溝通以解決問題之能力 (比重 5%)關注科技發展與時事資訊,並理解科技對環境、社會、國家及全球之影響 (比重 10%)主動積極與持續學習之習慣與能力 (比重 5%)
課堂到課率與參與%%%%%%%
平時作業%%%%%%%
期中專題報告%%%%%%%
期末專題報告%%%%%%%

上課用書

(師生應遵守智慧財產權及不得非法影印)
[1]網頁程式設計ASP.NET MVC 5.X範例完美演繹(適用Visual C# 2019/2017)(第三版),奚江華著,碁峰,2019年7月5日。
[2] ASP.NET Web API 2-Building a REST Service from Start to Finish, Jamie Kurtz and Brian Wortman, Apress, 2014. (e-book, 本校圖書館可免費下載此電子書)
[3] 補充講義與範例程式。

參考書目

(師生應遵守智慧財產權及不得非法影印)
[1] ASP.NET MVC with Entity Framework and CSS, Lee Naylor, Apress, 2016. (e-book, 本校圖書館可免費下載此電子書)



其他備註

(1) 為要求學習成效,選修此門課的同學,必需購買上課用書[1]。
(2) 此門課為實作應用導向課程,沒有考試,需繳交ASP.NET MVC網站與Web API網路服務開發之作業與專題報告。
(3) 其餘規定將於第一堂課說明。

輔導時間

教師聯絡資訊

Email:hmx4@ulive.pccu.edu.tw
分機:33511

課程進度

  1. 2020/03/03課程簡介、雲端運算介紹及C#程式設計簡介(I)

    指定研讀資料

    補充講義
  2. 2020/03/10C#程式設計簡介(II)

    指定研讀資料

    補充講義
  3. 2020/03/17ASP.NET MVC概觀、Visual Studio 2019 開發環境及將應用程式部署到雲端)

    指定研讀資料

    課本第1章及補充講義
  4. 2020/03/24掌握 Controller / View / Model / Scaffolding / Layout 五大元素

    指定研讀資料

    課本第2章
  5. 2020/03/31Bootstrap 網頁美型彩妝師

    指定研讀資料

    課本第3章
  6. 2020/04/07用Razor語法提升View的智慧與戰鬥力

    指定研讀資料

    課本第4章
  7. 2020/04/14以開源Chart.js及JSON繪製HTML5互動式商業統計圖表

    指定研讀資料

    課本第5章
  8. 2020/04/21JSON資料格式及Web API 2.0服務應用大解析

    指定研讀資料

    課本第6章
  9. 2020/04/28以HTML Helpers製作CRUD資料讀寫電子表單

    指定研讀資料

    課本第7章
  10. 2020/05/05ASP.NET MVC行動網頁與jQuery Mobile完美整合

    指定研讀資料

    課本第8章
  11. 2020/05/12用jQuery Mobile建立跨平台行動網頁-以汽車銷售網站為例

    指定研讀資料

    課本第9章
  12. 2020/05/19以Routing路由建立汽車銷售網站的URL查詢實戰

    指定研讀資料

    課本第10章
  13. 2020/05/26Entity Framework與資料庫存取:Code First程式優先

    指定研讀資料

    課本第12章
  14. 2020/06/02中央氣象局(CWB)開放資料網路服務(Web API)介紹與建立ASP.NET_MVC天氣查詢網站程式範例

    指定研讀資料

    補充講義與範例程式
  15. 2020/06/09建置雲端記帳簿網路服務(Web API)與建立ASP.NET MVC雲端記帳簿網站程式範例

    指定研讀資料

    補充講義與範例程式
  16. 2020/06/16微軟電腦視覺網路服務(Web API)介紹及建立上傳與辨識圖片ASP.NET MVC網站範例程式

    指定研讀資料

    補充講義與範例程式
  17. 2020/06/23期末專題報告
  18. 2020/06/30期末專題報告